
Андрей
С нами с 09 апреля 2015; Место в рейтинге пользователей: #68mFilter2 и редирект на другую страницу
Вечер добрый сообщество.
Есть главная страницу сайта, на которое вызван сниппет mFilter2 с параметрами
…
Есть главная страницу сайта, на которое вызван сниппет mFilter2 с параметрами
…
mFilter2 и оптимизация скорости на 7k товарах

Всем, кто хоть раз пытался завести mFilter2 на большом кол-ве товаров и хотя-бы 10 опциях в фильтре, известно, что тормозов не избежать. Вот и мне попался на днях сайт, в котором, казалось бы, всего-то 7000 товаров и 10 опций на странице каталога. Однако сниппет фильтра отрабатывал за 3-4 секунды. Переписал на Fenom — стал отрабатывать за 2-3 секунды.
Не годится! Тем более, что у заказчика было требование: «Чтобы сайтом было комфортно пользоваться». Что-ж, взял задачу — надо решать!
Дебаг показал, что проблема в методе mse2FiltersHandler::getMsOptionValues, а именно в запросе (7k товаров!), который выглядит как-то так:
SELECT `product_id`, `key`, `value` FROM `modx_ms2_product_options` AS `msProductOption`
WHERE (`msProductOption`.`product_id` IN (3394,3408,еще 7 тысяч ID)
AND `msProductOption`.`key` IN ('atr_n1','atr_n6','atr_n5','atr_n12','atr_n43','atr_n46','atr_n29','atr_n11','atr_n44','atr_n2'))
msOptionsPrice2 и составной товар

Возникла необходимость при помощи msOptionsPrice2 реализовать составной товар. Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
Например, есть опция Наполнители, у нее около 20 значений. На фронте, при выборе каждого из значений, цена товара должна увеличиваться на N рублей. Проблема заключается в том, что имена тегам чекбоксов мы даем в виде массива:
<input type="checkbox" name="cb[]">
Компонент, в свою очередь, с таким работать не умеет. Предлагаю решение в четыре простых шага!Мультидоменность контекстами

В сообществе часто проскакивают вопросы про мультидоменность на одной копии MODX. А у меня, как раз, сайты демо версий компонентов реализованы таким образом. Думаю, информация будет полезной!
Шаблон сортировки для mFilter2
Здравствуйте, у меня в категории выводится сортировка вот в таком виде
<div class="sorting__cat sorting__cat-top" id="mse2_sort">
<a href="#" data-sort="resource|pagetitle" data-dir="[[+mse2_sort:is=``:then=`desc`]]"
data-default="desc"
class="sort" >Название <span></span></a>
<a href="#" data-sort="ms|price" data-dir="[[+mse2_sort:is=`ms|price`:then=`desc`]]" data-default="desc" class="sort">Цена <span></span></a>
</div>
UserTest -компонент для тестирования пользователей
Представляю Вашему вниманию новый компонент для тестирования пользователей сайта — UserTest. Компонент сделан по заказу студии WebHubPub.
[AdminTools] Запрет действий с пакетами
Всем привет! Хоть я последнее время мало уделяю внимания MODX, но уж очень мне понравилась идея Владимира. И я решил добавить такой функционал в свой пакет AdminTools. Реализация достаточно простая — без таблиц, интерфейсов и т.п. Только системная настройка, в которой определяются права. Подробности под катом.


mSearch2 - подходящих результатов не найдено
В интернет магазине настроен поиск, страница вывода результатов выглядит так:
Подскажите, как можно вывести эту надпись, если подходящих товаров не находит?
[[!pdoPage?
&element=`msProducts`
&tpl=`product`
&limit=`20`
&parents=`0`
&resources=`[[!mSearch2:default=`999999`?returnIds=`1`&limit=`0`&htagOpen=`<a>`]]`
&sortby=`ids`
]]
если поисковый запрос правильный, выводятся подходящие товары, с этим все нормально, но если заданного в поиск значения нет, отображается просто пустая страница без надписи «подходящих результатов не найдено».Подскажите, как можно вывести эту надпись, если подходящих товаров не находит?
Вывод количества товаров в minishop2
Уважаемые мастера MODXRevo! Cтолкнулся с проблемой вывода количества товаров в minishop2.
Вывод сделал через сниппет getChildCount
Вывод сделал через сниппет getChildCount
Страницы - поддомены
Всем привет!
Возникла потребность показывать страницы в качестве поддоменов, причем сохраняя возможность вложенности страниц.
Не нашел готового решения, потому результатом стал плагин, который можно увидеть под катом.
Позволяет использовать обычные страницы в качестве поддоменов, примеры:
mysite.ru/test — Изначальный адрес.
test.mysite.ru — Новый адрес с поддоменом.
Также работает и с дочерними страницами, примеры:
mysite.ru/test/page.html — Изначальный адрес.
test.mysite.ru/page.html — Новый адрес с поддоменом.
Возникла потребность показывать страницы в качестве поддоменов, причем сохраняя возможность вложенности страниц.
Не нашел готового решения, потому результатом стал плагин, который можно увидеть под катом.
Позволяет использовать обычные страницы в качестве поддоменов, примеры:
mysite.ru/test — Изначальный адрес.
test.mysite.ru — Новый адрес с поддоменом.
Также работает и с дочерними страницами, примеры:
mysite.ru/test/page.html — Изначальный адрес.
test.mysite.ru/page.html — Новый адрес с поддоменом.