Купчинский Михаил

Купчинский Михаил

С нами с 19 января 2013; Место в рейтинге пользователей: #897

Алфавитный рубрикатор для ресурсов Modx Revo.

Результат работы тут: lab.nikann.ru/catalog#abc
За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
G@G
G@G
18 февраля 2015, 09:40
modx.pro
26
5 073
+5

Динамическая кнопка Купить / В корзине

Появилась необходимость реализовать динамическую кнопку Купить / В корзине.

Может кому-то пригодится.

Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.

Чанк Купить 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]]`]]
Klike
17 февраля 2015, 13:36
modx.pro
43
6 408
+2

[update] Общая база товаров для разных контекстов

Очень долго не получалось заставить работать товары minishop2 на других контекстах, с выводом через сниппет нет проблем, а вот с ссылками и корзиной беда.
Использовал sendForward, с ним куча гемороя, но случайно наткнулся на вот это:
$modx->resource = $modx->getObject('modResource', $id);
$modx->request->prepareResponse();
exit();
but1head
17 февраля 2015, 12:45
modx.pro
26
5 797
+3

Бесплатная доставка если сумма total больше чем ..

Всем привет, подскажите, как можно сделать так чтобы доп. стоимость товара не засчитывалась, в случае если общая стоимость больше чем 15 000?
То если если человек набирает товаров больше чем на 15 к, то доставка бесплатная.
Николай Загумённов
04 февраля 2015, 05:03
modx.pro
5
1 798
+1

AjaxForm и Login

Здравствуйте, неоднократно задавался вопрос «Можно ли прикрутить AjaxFrom к сниппетам Login?»
Но ответа нигде не нашел. Есть ли решение данного вопроса?
Aleksandr
31 января 2015, 08:09
modx.pro
16
6 357
+1

Параметры GET/POST при выводе страницы

Хочу использовать параметры GET и POST при создании страницы, но не могу нигде найти, имеется ли какой-нибудь стандартный способ получения параметров внутри страницы…

Я вызываю страницу site.ru/page-name?param=1

Хочу в шаблоне для page-name написать что-то в стиле:
Передан параметр: [[+GET.param]]
Есть такая возможность? Или нужно создавать сниппет, который будет преобразовывать массив $_GET в плейсхолдеры?
Константин
26 января 2015, 21:40
modx.pro
2
17 927
0

Структурированный список в tv-параметре

Здравствуйте!
Подскажите пожалуйста, как сделать в тв-параметре структурированный по ресурсам выпадающий список?
Необходимо, чтобы выпадащий список выглядел так:
Категория 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
Sphinx
12 января 2015, 07:00
modx.pro
3
4 300
0

Задержка при отображении страницы

Добрый день!
С Новым годом всех!

Помогите разобраться в следующем: есть сайт на MODX Revolution 2.3.2-pl (traditional), всё это дело размещено на Linode

Всё работает, в принципе, нормально. Однако, замечено, что при открытии страницы браузер сначала думает секунды 2-3, а потом открывает всю страницу. И это никак не зависит от содержимого страницы, т.е. даже если просто пустая страница, то все равно задержка 2-3 секунды есть.

Как с этим бороться? Куда копать?
Роман
04 января 2015, 18:25
modx.pro
2
14 246
0

[pdoTools] 1.10.0 с ajax пагинацией из коробки

Еще один предпраздничный сюрприз — новая версия pdoTools, который добавляет любимую многими ajax пагинацию сразу в комплект дополнения.

Основы можно почитать в анонсе предыдущей версии, а я вам расскажу, что нового.

Все изменения касаются только одного сниппета pdoPage, у которого появилась масса новых параметров.
Первым делом это:
  • frontend_js — Ссылка на javascript для подключения сниппетом.
  • frontend_css — Ссылка на css стили оформления для подключения сниппетом.
Они работают только при активации параметра &ajaxMode, у которого возможны 3 значения:
  • default — стандартная ajax-пагинация, как на главной modx.pro.
  • button — загрузка новой страницы при нажатии на кнопку.
  • scroll — загрузка новой страницы при прокрутке.
Если параметр пуст, скрипты и стили не подключаются и ajax-пагинация не запускается.
Василий Наумкин
29 декабря 2014, 12:09
modx.pro
12
12 930
+11

[CurrencyRate] - курс валют

Хочу представить вам компонент [CurrencyRate] — информация о курсах иностранных валют по отношению к рублю, опубликованная на официальном сайте Банка России в сети Интернет.

Володя
21 декабря 2014, 11:42
modx.pro
6
15 345
+6