Михаил
С нами с 04 октября 2016; Место в рейтинге пользователей: #458mvtDocs: удобное хранение документов
Бесплатный компонент для удобного хранения файлов документов (инструкций, сертификатов и т.д.), а также внешних ссылок (например на ролики youtube) для ресурсов / товаров MS2.
[mFilter2] Вывод товаров со смежными значениями
Небольшая заготовка из вчерашнего рукоделия.
Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):
Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.
Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.
В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.
Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):
Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.
Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.
В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.
[MIGX] - Большой и страшный. UTM метки для MODX.
Привет сообществу!
Вот уж давненько я не писал вам о MIGX, соскучились небось? Можете не отвечать, знаю, что соскучились. Хотя и мои заметки с каждым разом получают всё меньше и меньше плюсов. Скажу вам по секрету: я подозреваю, что некто Василий Н. (Пальцем не буду показывать, но вот его профиль) подкручивает себе плюсы, мои также он присваивает себе и вообще он работает на Госдеп США. Ну или это просто паранойя.
Допустим у вас задача сделать так, чтобы у вас на сайте выводился разный контент в зависимости от GET параметра и вам лень устанавливать целый компонент для этого. Компонент это хорошо, но мы же извращенцы, давайте делать всё на MIGX? Даже MODX не нужен, «Ставьте лайки кто хочет MIGX CMS»
Вот уж давненько я не писал вам о MIGX, соскучились небось? Можете не отвечать, знаю, что соскучились. Хотя и мои заметки с каждым разом получают всё меньше и меньше плюсов. Скажу вам по секрету: я подозреваю, что некто Василий Н. (Пальцем не буду показывать, но вот его профиль) подкручивает себе плюсы, мои также он присваивает себе и вообще он работает на Госдеп США. Ну или это просто паранойя.
Зачем?
Допустим у вас задача сделать так, чтобы у вас на сайте выводился разный контент в зависимости от GET параметра и вам лень устанавливать целый компонент для этого. Компонент это хорошо, но мы же извращенцы, давайте делать всё на MIGX? Даже MODX не нужен, «Ставьте лайки кто хочет MIGX CMS»
Localizator, simpleSearch или поиск для бедных
У меня возникла проблема с организацией поиска на многоязычных сайтах.
Многоязычные сайты я создаю при помощи компонента Localizator, а для поиска использую компонент simpleSearch, однако данный компонент не умеет из коробки проводить поиск по локализованным ресурсам, поскольку они представляют собой отдельную таблицу в базе данных.
Я нашел некоторое решение этой проблемы, не претендующее ни на что, однако для моих задач вполне подходящее.
Делюсь с вами, возможно кому-то принесет пользу.
Итак к делу.
Многоязычные сайты я создаю при помощи компонента Localizator, а для поиска использую компонент simpleSearch, однако данный компонент не умеет из коробки проводить поиск по локализованным ресурсам, поскольку они представляют собой отдельную таблицу в базе данных.
Я нашел некоторое решение этой проблемы, не претендующее ни на что, однако для моих задач вполне подходящее.
Делюсь с вами, возможно кому-то принесет пользу.
Итак к делу.
Оплата заказа miniShop2 без перехода на страницу платёжки
Порой клиенту приходит в голову навязчивая идея ни в коем случае никуда не перенаправлять со своего сайта. И даже чтобы оплатить заказ — ни на какую платёжку не уходить, оставаться на сайте. При этом, денег, чтобы заплатить за разработку интерфейса приёма карт прямо на сайте, у него нет:) Именно по этому поводу и был изобретён этот костыль.
[miniShop2] Как тестировать письма без оформления заказа
Localizator + mSearch2. Шерше ля фам или поиск по-французски
На днях в разделе работы появилось объявление о скрещивании Localizator и mSearch2. Заинтересовало оно меня тем, что по итогу работы необходимо написать статью и опубликовать здесь. А вы знаете, как я люблю писать статьи, правда? Заказ оформил Hiddenski, за что давайте вместе его поблагодарим! :)
Первый раз пишу статью по заказу, посмотрим, что из этого получится.
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'))
[ExtJS] Расширяем нативную гриду юзеров
После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное
Сразу опишем задачу, которую реализуем в рамках статьи:
- Убрать слева каждой записи ненужный чекбокс,
- Добавить столбцы: Фото, Дата рождения, Страна, Город,
- Добавить возможность отфильтровать пользователей по стране,
- Заменить некрасивое поле поиска на симпатичное и компактное,
- Подсветить заблокированных красным цветом.
Пару вопросов о Fenom
Добрый день. В ходе работы возникла пару проблем которые уже как несколько дней не удаётся побороть, скорей всего из за нехватки опыта. Буду благодарен за помощь, если кто то сталкивался с подобным.
1. Модуль SimpleSearch, не могу разобраться как правильно привести чанк к Fenom'у
p.s. менеджерам не удобно из корня двигаться к папкам.
1. Модуль SimpleSearch, не могу разобраться как правильно привести чанк к Fenom'у
<form action="[[~[[+landing:default=`[[*id]]`]]]]" method="[[+method:default=`get`]]" role="form">
<input type="hidden" name="id" value="[[+landing:default=[[*id]]]]" />
<input type="text" class="form-control" name="[[+searchIndex]]" id="[[+searchIndex]]" value="[[+searchValue]]" placeholder="Поиск...">
</form>
2. Для вывода информации из MIGX использовал следующую конструкцию{foreach $_modx->resource['gallery.Projects'] | fromJSON as $item}
<div class="gallery-item photography">
<div class="thumb">
<a href="{$item['image']}">
<img class="img-fullwidth lazy" src="{$item['image']|phpthumbon:'w=470&h=320&zc=1'}" alt="">
</a>
</div>
</div>
{/foreach}
Вроде бы всё хорошо, но вывод не учитывает источник файлов, для {$item['image']} в целом можно подставить просто перед выводом кусок адреса, на уровне assets/userfiles/{$item['image']}, а вот с {$item['image']|phpthumbon:'w=470&h=320&zc=1'} это не работает. Есть ли способ сделать вывод с учётом источника файлов? p.s. менеджерам не удобно из корня двигаться к папкам.