Евгений
С нами с 24 августа 2017; Место в рейтинге пользователей: #1588Вывод нескольких превью у ресурсов
Здравствуйте.
У старой версии ms2GalleryResources, помнится, была возможность выводить ресурсы с несколькими изображениями галереи. Есть ли такая возможность у версии 2.0? Если нет, подскажите, пожалуйста, как иначе можно это сделать?
У старой версии ms2GalleryResources, помнится, была возможность выводить ресурсы с несколькими изображениями галереи. Есть ли такая возможность у версии 2.0? Если нет, подскажите, пожалуйста, как иначе можно это сделать?
Вывод всех картинок товара в списке товаров
Здравствуйте!
В чанке с шаблоном товара нужно чтобы выводились все картинки галереи. Ок, пробую msGallery, таким образом
В чанке с шаблоном товара нужно чтобы выводились все картинки галереи. Ок, пробую msGallery, таким образом
{$_modx->runSnippet('!msGallery', [
'tpl' => 'tpl.msGalleryProd',
'product' => $id,
'limit' => 2
])}
Изображения выводятся, но только у первых товаров каждой категории, дальше не выводятся товары. На форуме были такие проблемы у кого-то, но решения там не было. Страница производителя товара
Как не суперкостыльными методами сделать страницу Производителя где будут доступны все товары из каталога данного производителя. Должна же быть из коробки подобная функция, раз есть в меню минишопа раздел производителей!!! Заранее благодарю!
Помог себе сам — как всегда в принципе, огромное спасибо сообществу.
Вот решение для нубов вроде меня:
Вывод страницы производителя:
Помог себе сам — как всегда в принципе, огромное спасибо сообществу.
Вот решение для нубов вроде меня:
Вывод страницы производителя:
[!mFilter2?
&limit=`10`
&parents=`0`
&element=`msProducts`
&where=`{ "Vendor.resource":[[*id]] }`
&filters=`
ms|price:number
,parent:categories
`
&tpls=`tpl.msProducts.row`
&sort=`ms|price:desc`
&ajaxMode=`button`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
]]
Ссылка на страницу производителя из карточки товара:<p>Производитель: <a href="[[~[[+vendor.resource]]]]">[[+vendor.name]]</a></p>
Вывод страницы всех производителей:[[!pdoResources?
&class=`msVendor`
&sortby=`name`
&sortdir=`ASC`
&tpl=`vendor`
]]
Закрываем служебные директории MODX в Apache
В одной статье, касающейся безопасности, Василий дал очень хорошую рекомендацию по защите служебных папок. Реализовав это на своём хостинге, решил написать инструкцию, так как начинающие изучать MODX могут столкнуться с ошибкой 404, как Я например.
Облако тегов для miniShop2
UPDATE 20.03.2018: Сниппет обновлён на корректный и добавлен pdoTools для обработки чанка.
Появилась задача реализовать облако тегов для удобства поиска товаров в интернет-магазине. Для этого сделал простенький сниппет, где теги собираются со всех товаров на сайте.
Сниппет умеет принимать параметры базового размера(font), шага в пикселях(step), количества размеров(levels) и чанка для вывода(tpl).
Алгоритм работы прост:
1. Собираются теги со всех товаров сайта.
2. Подсчитывается количество товаров для каждого тега.
3. Рассчитываются размеры для каждого уровня и границы по количеству использования тега.
4. Если не указан шаблон вывода, то на экране также будет облако тегов, но без ссылок.
Появилась задача реализовать облако тегов для удобства поиска товаров в интернет-магазине. Для этого сделал простенький сниппет, где теги собираются со всех товаров на сайте.
Сниппет умеет принимать параметры базового размера(font), шага в пикселях(step), количества размеров(levels) и чанка для вывода(tpl).
Алгоритм работы прост:
1. Собираются теги со всех товаров сайта.
2. Подсчитывается количество товаров для каждого тега.
3. Рассчитываются размеры для каждого уровня и границы по количеству использования тега.
4. Если не указан шаблон вывода, то на экране также будет облако тегов, но без ссылок.
Создание мультисайта на MODX REVO
Лучше поздно, чем никогда. Как и обещал https://modx.pro/help/5194/ пишу про создание мультисайта на MODX REVO. Выкладываю в блог Готовые решения, т.к. в статье есть чуть-чуть кода.
Смысл всей затеи — упростить поддержку сайтов.
Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации
Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.
В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.
Т.е. единожды продумываем тонкости и решаем, что будем делать именно так и никак иначе. В дальнейшем это позволит избежать бардака и существенно ускорит процесс переноса существующих сайтов в мультисайт или разработку новых сайтов.
Смысл всей затеи — упростить поддержку сайтов.
Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации
Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.
В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.
Т.е. единожды продумываем тонкости и решаем, что будем делать именно так и никак иначе. В дальнейшем это позволит избежать бардака и существенно ускорит процесс переноса существующих сайтов в мультисайт или разработку новых сайтов.
[mSearch2] 1.2.0-rc Самостоятельная генерация фильтров
На днях в поддержке mSearch2 был задан вопрос:
То есть, речь идёт о бесконечном количестве свойств у товара, добавляемых в одно текстовое поле, и построении для них фильтров.
Вроде бы, продвинутые возможности расширения класса mFilter2 должны бы с этим справиться? Как оказалось — нет.
Мне необходимо сделать на сайте фильтры по очень большому количеству параметров. Причем, наборы этих параметров отличаются в зависимости от категории.
Планируется что информация о товарах будет постоянно автоматом импортироваться через API этого поставщика на сайт который я делаю.
С другой стороны, волосы встают дыбом при мысли о ручной настройке такого количества дополнительных полей miniShop2 через механизм плагинов или TV.
Поэтому, пришла такая идея:
Все названия доп.параметров записывать в поле Теги, которое уже реализовано в miniShop2. Например, товару можно записать два таких тега: «Максимальное разрешение видеозаписи|2304x1296» и «Тип видеорегистратора|Стандартный».
Теперь осталось только придумать как сгруппировать эти тэги по первому полю (до разделителя "|") и создать из каждой группы отдельный фильтр.
То есть, речь идёт о бесконечном количестве свойств у товара, добавляемых в одно текстовое поле, и построении для них фильтров.
Вроде бы, продвинутые возможности расширения класса mFilter2 должны бы с этим справиться? Как оказалось — нет.