Купчинский Михаил
С нами с 19 января 2013; Место в рейтинге пользователей: #897Алфавитный рубрикатор для ресурсов 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]]`]] [update] Общая база товаров для разных контекстов
Очень долго не получалось заставить работать товары minishop2 на других контекстах, с выводом через сниппет нет проблем, а вот с ссылками и корзиной беда.
Использовал sendForward, с ним куча гемороя, но случайно наткнулся на вот это:
Использовал sendForward, с ним куча гемороя, но случайно наткнулся на вот это:
$modx->resource = $modx->getObject('modResource', $id);
$modx->request->prepareResponse();
exit(); Бесплатная доставка если сумма total больше чем ..
Всем привет, подскажите, как можно сделать так чтобы доп. стоимость товара не засчитывалась, в случае если общая стоимость больше чем 15 000?
То если если человек набирает товаров больше чем на 15 к, то доставка бесплатная.
То если если человек набирает товаров больше чем на 15 к, то доставка бесплатная.
AjaxForm и Login
Здравствуйте, неоднократно задавался вопрос «Можно ли прикрутить AjaxFrom к сниппетам Login?»
Но ответа нигде не нашел. Есть ли решение данного вопроса?
Но ответа нигде не нашел. Есть ли решение данного вопроса?
Параметры GET/POST при выводе страницы
Хочу использовать параметры GET и POST при создании страницы, но не могу нигде найти, имеется ли какой-нибудь стандартный способ получения параметров внутри страницы…
Я вызываю страницу site.ru/page-name?param=1
Хочу в шаблоне для page-name написать что-то в стиле:
Я вызываю страницу site.ru/page-name?param=1
Хочу в шаблоне для page-name написать что-то в стиле:
Передан параметр: [[+GET.param]]Есть такая возможность? Или нужно создавать сниппет, который будет преобразовывать массив $_GET в плейсхолдеры? Структурированный список в tv-параметре
Здравствуйте!
Подскажите пожалуйста, как сделать в тв-параметре структурированный по ресурсам выпадающий список?
Необходимо, чтобы выпадащий список выглядел так:
Категория 1
— Параметр 1
— Параметр 2
Категория 2
— Параметр 3
— Параметр 4
Нашел пример, как вывести просто список ресурсов:
Категория 1
Категория 2
Параметр 1
Параметр 2
Параметр 3
Параметр 4
Подскажите пожалуйста, как сделать в тв-параметре структурированный по ресурсам выпадающий список?
Необходимо, чтобы выпадащий список выглядел так:
Категория 1
— Параметр 1
— Параметр 2
Категория 2
— Параметр 3
— Параметр 4
Нашел пример, как вывести просто список ресурсов:
@EVAL return $modx->runSnippet('getResources',array('parents'=>5,'depth'=>3,'limit'=>0,'where'=>'{"isfolder:=":1}','sortby'=>'{"pagetitle":"ASC"}','tpl'=>'@INLINE [[+pagetitle]]==[[+id]]','outputSeparator'=>'||'));Но результат выглядит не совсем правильно:Категория 1
Категория 2
Параметр 1
Параметр 2
Параметр 3
Параметр 4
Задержка при отображении страницы
Добрый день!
С Новым годом всех!
Помогите разобраться в следующем: есть сайт на MODX Revolution 2.3.2-pl (traditional), всё это дело размещено на Linode
Всё работает, в принципе, нормально. Однако, замечено, что при открытии страницы браузер сначала думает секунды 2-3, а потом открывает всю страницу. И это никак не зависит от содержимого страницы, т.е. даже если просто пустая страница, то все равно задержка 2-3 секунды есть.
Как с этим бороться? Куда копать?
С Новым годом всех!
Помогите разобраться в следующем: есть сайт на MODX Revolution 2.3.2-pl (traditional), всё это дело размещено на Linode
Всё работает, в принципе, нормально. Однако, замечено, что при открытии страницы браузер сначала думает секунды 2-3, а потом открывает всю страницу. И это никак не зависит от содержимого страницы, т.е. даже если просто пустая страница, то все равно задержка 2-3 секунды есть.
Как с этим бороться? Куда копать?
[pdoTools] 1.10.0 с ajax пагинацией из коробки
Еще один предпраздничный сюрприз — новая версия pdoTools, который добавляет любимую многими ajax пагинацию сразу в комплект дополнения.
Основы можно почитать в анонсе предыдущей версии, а я вам расскажу, что нового.
Все изменения касаются только одного сниппета pdoPage, у которого появилась масса новых параметров.
Первым делом это:
Основы можно почитать в анонсе предыдущей версии, а я вам расскажу, что нового.
Все изменения касаются только одного сниппета pdoPage, у которого появилась масса новых параметров.
Первым делом это:
- frontend_js — Ссылка на javascript для подключения сниппетом.
- frontend_css — Ссылка на css стили оформления для подключения сниппетом.
- default — стандартная ajax-пагинация, как на главной modx.pro.
- button — загрузка новой страницы при нажатии на кнопку.
- scroll — загрузка новой страницы при прокрутке.
