Stan Ezersky
С нами с 18 февраля 2014; Место в рейтинге пользователей: #44Сниппет для вывода всех TV параметров ресурса
            Всем привет, 
долгое время занимаюсь сайтами на MODx, но в большинстве случаев все сводится к верстке и настройке всех сниппетов, без написания чего-либо.
Часто сталкиваюсь с задачей вывода TV параметров и их заголовков. Для текущей задачи встал вопрос разделения всех полей еще и на блоки-категории.
        
        
        
        
    долгое время занимаюсь сайтами на MODx, но в большинстве случаев все сводится к верстке и настройке всех сниппетов, без написания чего-либо.
Часто сталкиваюсь с задачей вывода TV параметров и их заголовков. Для текущей задачи встал вопрос разделения всех полей еще и на блоки-категории.
Дополнительные поля в свойство товара miniShop2
            Подскажите пожалуйста, как добавить дополнительные поля в свойство товара miniShop2?        
        
        
        
    Сокращение URL goo.gl
            Приветь
Этот сниппет поможет сокращать url с помощью Google url shortener
        
        
        
        
    Этот сниппет поможет сокращать url с помощью Google url shortener
Super MODx SEO-strict +ускоряем фронтенд
            Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
        
        
        
    Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
[shopStats] Панель статистики интернет-магазина
            [shopStats] — виджет с краткой статистикой интернет-магазина

        
        
        
        
    
TvTable - таблица
            Добрый день! Понадобилась мне тут табличка в виде Тв-параметра, в которой можно менять не только кол-во строк, но и столбцов. Поэтому migx не подходит ( 
В общем, было найдено решение, но как оказалось оно для EVO =(

В итоге взяла его за основу и переписала.
        
        
        
    В общем, было найдено решение, но как оказалось оно для EVO =(

В итоге взяла его за основу и переписала.
Новая Google reCAPTCHA(v2) для FormIt

Наткнулся на дополнение ReCaptchaV2, позволяющее добавить новую капчу в FormIt.
Алфавитный рубрикатор для ресурсов Modx Revo.
            Результат работы тут: lab.nikann.ru/catalog#abc
За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
        
        
        
    За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
Динамическая кнопка Купить / В корзине
            Появилась необходимость реализовать динамическую кнопку Купить / В корзине. 
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
Чанк В корзине tplIn:
Скрипт (требуется подключенный jQuery)
Сниппет myButton:
Кнопка вызывается таким образом:
        
        
        
    Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
<button type="submit" class="btn btn-cart btn-primary" name="ms2_action" value="cart/add">
	Купить
</button>
<button type="submit" class="btn btn-checkout btn-success hidden" name="ms2_action" value="cart/add">
	В корзине
</button>Чанк В корзине tplIn:
<button type="submit" class="btn btn-checkout btn-success" name="ms2_action" value="cart/add">
    В корзине
</button>Скрипт (требуется подключенный jQuery)
if (typeof(miniShop2) != 'undefined') {
    // кнопки В корзину/Оформить
    miniShop2.Callbacks.Cart.add.response.success = function(response) {
        miniShop2.Order.getcost();
        miniShop2.sendData.$form.find('.btn-cart').addClass('hidden');
        miniShop2.sendData.$form.find('.btn-checkout').removeClass('hidden');
    };
    miniShop2.Callbacks.Cart.remove.response.success = function() {
        miniShop2.sendData.$form.find('.btn-cart').removeClass('hidden');
        miniShop2.sendData.$form.find('.btn-checkout').addClass('hidden');
    };
}Сниппет myButton:
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn = $modx->getOption('tplIn', $scriptProperties, 'tplIn'); //Можно писать так: ('tplIn', $scriptProperties,  '@INLINE Товар в корзине, кол-во – [[+count]], цена = [[+price]].');
$tplOut = $modx->getOption('tplOut', $scriptProperties, 'tplOut'); // '@INLINE Товара нет в корзине.'
// Классы для работы
$pdo = $modx->getService('pdoTools');
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($modx->context->key, $scriptProperties);
$cart = $miniShop2->cart->get();
// Поехали
$found = false;
foreach($cart as $product) {
	if ($product['id'] == $idd) {
		$found = $product;
		break;
	}
}
return $found
	? $pdo->getChunk($tplIn, $found)
	: $pdo->getChunk($tplOut); Кнопка вызывается таким образом:
[[!myButton? &idd=`[[+id]]`]]