Сергей Водолагин
С нами с 22 марта 2014; Место в рейтинге пользователей: #198Как создать свою сборку для MODX
Как и обещал, выкладываю инструкцию — как на основе сборки siteExtra сделать свою сборку. Скачать исходники можно на гитхабе https://github.com/ilyautkin/siteExtra. Полученный архив загружаем на сайт и распаковываем.
Сохранение корзины для пользователей
На одном из проектов появилась задача сохранять содержимое корзины для зарегистрированных пользователей, чтобы при последующей авторизации с любого компьютера они имели возможность продолжить покупки, а не добавлять все заново.
В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.
В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.
[msAddLinked] Опции товара с изменением цены

Описание
Добавление связанных товаров в виде дополнительных опций с увеличением цены добавляемого товара.В любой форме добавления товара в корзину можно выводить дополнительные товары, которые будут добавлены в качестве опций с последующим увеличением цены.
В корзине возле товара выводятся добавленные опции.
ВАЖНО: в списке связанных выводятся только те товары, для которых в связях текущий товар или указанный сниппету msAddLinked.input является главным.
Сниппет msAddLinked.input
Предназначен для вывода списка связанных товаров и полей ввода. По умолчанию выводятся чекбоксы, но, в теории, можно задать любой тип, поддерживаемый атрибутом type тэга input.Проверена корректная работа типов text, number. Если в этих полях ввода указывать число, опции к товару в корзине будут добавлены в соответствующем количестве.
[videoGallery] 1.2.0 Длительность и страница в бекенде

В новой версии пакет может парсить длительность видео у YouTube и Vimeo роликов. Для YouTube, как всегда, нужен API Key (как его получить описано здесь). Длительность сохраняется в формате ISO 8601, приемлемом для микроразметки Schema.org.
[looked] Компонент "Вы смотрели"
Компонент looked для MODX revolution даёт возможность добавить на сайт блок с последними просмотренными страницами (товарами) пользователем.
Страница производителя товара
Как не суперкостыльными методами сделать страницу Производителя где будут доступны все товары из каталога данного производителя. Должна же быть из коробки подобная функция, раз есть в меню минишопа раздел производителей!!! Заранее благодарю!
Помог себе сам — как всегда в принципе, огромное спасибо сообществу.
Вот решение для нубов вроде меня:
Вывод страницы производителя:
Помог себе сам — как всегда в принципе, огромное спасибо сообществу.
Вот решение для нубов вроде меня:
Вывод страницы производителя:
[!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`
]] Динамические размеры iFrame
Доброго дня!
Задаюсь вопросом, можно ли сделать вставку видео с ютуба, к примеру, динамической (чтобы под размеры сайта подгонялась)? И как, если это возможно?
Задаюсь вопросом, можно ли сделать вставку видео с ютуба, к примеру, динамической (чтобы под размеры сайта подгонялась)? И как, если это возможно?
Вывод всех картинок из одного ресурса ms2gallery
Добрый день.
Подскажите каким образом можно вывести все картинки из вкладки «галерея» в ресурсе с id=1
Подскажите каким образом можно вывести все картинки из вкладки «галерея» в ресурсе с id=1
<div id="gallery">
[[!pdoPage?
&element=`ms2GalleryResources`
&parents=`0`
&tpl=`gallery_tpl`
&limit=`0`
&typeOfJoin=`inner`
&includeThumbs=`425x319,588x375`
&sotrby=`publishedon`
&sortdir=`desc`
]]
</div><div class="gallery_item">
<a href="[[+425x319]]" rel="lightbox">
<img src="[[+588x375]]" alt="[[+pagetitle]]">
<span>Столовая</span>
</a>
</div>Выводит одну картинки все. Что не так делаю? Спасибо. AjaxForm отключить CSS
Добрый день!
Работаю над сайтом, встал вопрос его загрузки. Использую дополнение MinifyX (крутая штука), так вот все CSS файлы объединил в один, остались два от AjaxForm:
assets/components/ajaxform/css/default.css
assets/components/ajaxform/css/lib/jquery.jgrowl.min.css
Так вот, как мне их отключить в компоненте? Что бы потом вручную указать в другом месте, в документации об этом не слова.
До кучи, тот же вопрос про HybridAuth
assets/components/hybridauth/css/web/default.css
Спасибо!
— Решение:
Для AjaxForm добавляем параметр:
&frontend_css=`` оставив его пустым, а сами тем временем прописываем CSS в том месте, где он тебе нужен
Для HybridAuth идем Системные настройки > HybridAuth > параметр ha.frontend_css удаляем значение, и прописываем в шаблоне где нужно
Работаю над сайтом, встал вопрос его загрузки. Использую дополнение MinifyX (крутая штука), так вот все CSS файлы объединил в один, остались два от AjaxForm:
assets/components/ajaxform/css/default.css
assets/components/ajaxform/css/lib/jquery.jgrowl.min.css
Так вот, как мне их отключить в компоненте? Что бы потом вручную указать в другом месте, в документации об этом не слова.
До кучи, тот же вопрос про HybridAuth
assets/components/hybridauth/css/web/default.css
Спасибо!
— Решение:
Для AjaxForm добавляем параметр:
&frontend_css=`` оставив его пустым, а сами тем временем прописываем CSS в том месте, где он тебе нужен
Для HybridAuth идем Системные настройки > HybridAuth > параметр ha.frontend_css удаляем значение, и прописываем в шаблоне где нужно
Резервное копирование сайтов в Яндекс Диск

Благодаря статье Михаила Воеводского заметил, что тема резервного копирования востребована в сообществе. Решил поделиться своим скриптом резервного копирования написанным на Python. Примечателен он тем, что
- Умеет удалять старые бекапы с ЯДиска, если они старее чем N дней (настраивается в config.yaml)
- Умеет удалять старые логи с сервера
- Раскладывает бекапы на ЯДиске по папкам вида: ГГГГ-ММ-ДД
- Бекапит системные папки: /etc/, /var/log/, /root/