Skip to content

Instantly share code, notes, and snippets.

@webinmd
webinmd / changePriceAddToCart.php
Created January 24, 2025 12:45 — forked from andronex/changePriceAddToCart.php
Изменение цены в зависимости от выбранных опций товара (miniShop2 + MODX Revolution).
<?php
switch ($modx->event->name){
case 'msOnBeforeAddToCart':
if (!is_array($options)) $options = json_decode($options, true);
//$modx->log(modX::LOG_LEVEL_ERROR, print_r($cart->get(), true));
//$modx->log(modX::LOG_LEVEL_ERROR, print_r($product->toArray(), true));
if(isset($options['size-price']) && !empty($options['size-price'])){
$tvr = $modx->getObject('modTemplateVarResource', array(
@webinmd
webinmd / Native.js
Created September 6, 2019 15:14 — forked from alexreardon/Native.js
Some vanilla JS methods and patterns
// Native selectors.
(function(window, document) {
'use strict';
var noop = function() {
};
// DOCUMENT LOAD EVENTS
// not needed at the bottom of the page
document.addEventListener('DOMContentLoaded', noop);
@webinmd
webinmd / xml_to_minishop2.php
Created June 21, 2019 09:59 — forked from iksecreeet/xml_to_minishop2.php
Очередной импортёр товаров из XML файла в интернет-магазин на MODX Revolution v.2.4.4-pl + miniShop2 v.2.2.0-pl2
<?php
$tplProduct = 3; //номер шаблона для карточки товара
$tplParent = 2; //номер шаблона для категорий
$tplChildParent = 2; //номер шаблона для подкатегорий
$idParent = 6; //id каталога товаров
$fileProduct = 'product.xml'; //имя файла с товарами
$xpath_expression['pagetitle'] = '//Товары/Номенклатура'; //DOM структура в XML файле до имени
$xpath_expression['article'] = '//Товары/Артикул'; //DOM структура в XML файле до артикула
$xpath_expression['parents'] = '//Товары/Родитель'; //DOM структура в XML файле до родителей
@webinmd
webinmd / adminka.php
Created June 17, 2019 13:34 — forked from andronex/adminka.php
msMiniDiscount - организация скидок в miniShop2 (для MODX) по одноразовым купонам.
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormPrerender':
$modx->controller->addHtml('<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script><script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>');
break;
}
return;
@webinmd
webinmd / QuickOrder.php
Created March 7, 2019 16:33 — forked from iksecreeet/QuickOrder.php
Покупка товара в один клик для miniShop2
<?php
$context = $modx->context->get('key');
if ($context == 'mgr' || empty($_POST['quick_order']) || empty($_POST['id']) || empty($_POST['customer'])) {
return;
}
/**
* @var miniShop2 $miniShop2
*/
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($context, array(
@webinmd
webinmd / introRTE
Created February 14, 2019 10:26 — forked from christianseel/introRTE
RTE for introtext #modx
<?php
// Add RTE for introtext if richtext option is enabled for the resource
// check "OnDocFormRender" event
$modx->regClientStartupHTMLBlock('<script>Ext.onReady(function() {
if(MODx.loadRTE) MODx.loadRTE("modx-resource-introtext");
});</script>');
@webinmd
webinmd / ms_modifiPrice.php
Created February 3, 2019 11:53 — forked from Burick/ms_modifiPrice.php
пересчет цены для минишопа в зависимости от курса из системной настройки current_rate
<?php
/*
пересчет цены в зависимости откурса
из системной настройки current_rate
плагин на событие минишопа msOnGetProductPrice
*/
switch ($modx->event->name) {
case 'msOnGetProductPrice':
$values = & $modx->event->returnedValues;
@webinmd
webinmd / minishop2.oneclick.php
Created December 14, 2018 17:05 — forked from iksecreeet/minishop2.oneclick.php
Сниппет для отправки заказа в 1 клик для Minishop2
<?php
$errors = [];
$id = $_POST['id'];
$phone = $_POST['phone'];
$receiver = uniqid('user_');
$email = uniqid('user_') . '@bikes.ru';
if ( empty( trim( $_POST['phone'] ) ) ) {
$errors['phone'] = 'Вы не заполнили телефон';
@webinmd
webinmd / msVendors.php
Last active May 11, 2025 18:59 — forked from maxpoletaev/msVendors.php
Snippet for MiniShop2. Get vendors from category. - Вывод брендов для категории товаров
<?php
$pdo = $modx->getService('pdoTools');
$fieldName = $modx->getOption('fieldName', $scriptProperties, 'vendor');
$fieldClass = $modx->getOption('fieldClass', $scriptProperties, '');
$firstOption = $modx->getOption('firstOption', $scriptProperties, '');
$parent = $modx->getOption('parent', $scriptProperties, $modx->resource->get('id'));
$depth = $modx->getOption('depth', $scriptProperties, 10);
$limit = $modx->getOption('limit', $scriptProperties, 100);
$tplOuter = $modx->getOption('tplOuter', $scriptProperties, '@INLINE <ul class="brands">[[+rows]]</ul>');
@webinmd
webinmd / sticky_footer.html
Last active June 12, 2018 09:19 — forked from droganaida/sticky_footer.html
3 способа, как прижать footer к низу страницы