Готовые решения

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

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

[mFilter] Работа сниппета с пагинатором pdoPage

Практически в каждом магазине есть и требуется вставлять фильтры. И так как в моём случае не требуется сильно сложных фильтров, я решил использовать компонент mSearch и входящий в него сниппет mFilter. Но при желании подружить фильтр с pdoPage столкнулся с некоторыми проблемами, причём не я один.

Попробуем же с вами подружить mFilter и pdoPage. Для настройки mSearch и отдельно mFilter есть отличный мануал, который был написан почти два года назад, но не потерял своей актуальности и полноты.
Сергей Фещуков
13 февраля 2015, 06:18
modx.pro
1
5 194
+1

Улучшения админ-меню. Раскрытие по клику и не только

Проскочил тут вопрос про скорость раскрытия верхнего меню в админке.
И вспомнилось мне, как меня жутко бесит это hover-меню.
Сколько раз я матерился случайно нажимая на случайный пункт на внезапно раскрывшемся подменю.
Или когда оно внезапно закрывается в самый неподходящий момент, потому что курсор вышел на доли секунды на пару пикселей за его пределы и приходится заново елозить мышкой в поисках нужного пункта и ждать эти грёбанные анимации…

Короче, выбрал время и, собственно, встречайте:
Алексей Карташов
11 февраля 2015, 23:22
modx.pro
4
4 213
+3

Проблема с обработкой [[[+name]]] и её решение

Доброго дня. Начал разрабатывать ИМ на miniShop2 и столкнулся с такой интересной проблемой.

По умолчанию в чанке tpl.msOptions.outer поле выводится подобным образом:
<select name="options[[[+name]]]">[[+rows]]</select>
И в стандартной вёрстке, если чанк не трогать, решение работает.

Но если внести свои правки, можно столкнуться с такой проблемой:

Попробуйте у себя, заменив стандартный код чанка tpl.msOptions.row на мой:
<div class="group-item">
	<input type="radio" name="options[[[+name]]]" value="[[+value]]" [[+selected]] required />
	<label for="[[+value]]">[[+value]]</label>
</div>
Сергей Фещуков
10 февраля 2015, 11:21
modx.pro
1
1 587
+1

Модуль "Скидочный купон", пожелания, вложения

Ребята, привет.

Уже ранее в комментариях удалось немного обсудить, но тема была не профильная, поэтому начну тут отдельно.

У меня сейчас стоит задача на двух сайтах клиентов сделать систему скидочных купонов. Тот модуль со скидками, что сейчас — не подходит, так как он выставляет цену на товар и показывает уже со скидкой, а в данном случае скидка должна работать исключительно в корзине. Так как решать два раза одну и ту же задачу неразумно, имеет смысл решить ее один раз и качественно, а результат использовать повторно.

Итак, что имеем.

Іван Клімчук
29 января 2015, 16:59
modx.pro
1
1 887
+2

Сниппет Declension для склонения слов

Предлагаю вашему вниманию небольшой сниппет для вывода склонения. Работает как фильтр вывода, использовать нужно примерно так:
[[+balls]] [[+balls:declension=`балл,балла,баллов`]]

Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.

Для экспериментов можно повызывать сниппет с произвольными числами:
15 [[*id:input=`15`:declension=`яблоко,яблока,яблок`]]
Полный код под катом.
Василий Наумкин
22 января 2015, 06:44
modx.pro
28
8 453
+15

Удаление старых аватарок Office

Недавно выяснилось, что в платном компоненте Office была недоработка, которая мешала удалению старых аватарок пользователей при редактировании профиля.

То есть, вы залили фотку, потом её удалили или заменили — а старая осталась на сервере. Ошибку я успешно поправил, обновление выпустил, но встал вопрос — а что делать с этими старыми аватарками? Они же место занимают, да и вообще, нехорошо как-то.

Поэтому я написал небольшой скрипт для удаления всех картинок из директории аватарок, которых нет в профилях пользователей. Заодно это может быть неплохим примером работы с файлами.

Скрипт опробован на этом сайте (modx.pro), проблем не было. Но всё равно: внимание, использовать скрипт только после полного бэкапа сайта! Как и любая операция с удалением файлов, этот скрипт потенциально опасен!

Я вас предупредил, претензии не принимаются.
Василий Наумкин
21 января 2015, 01:24
modx.pro
4
2 166
+8

Автоустановка Modx (и Wordpress) в панеле VestaCP

Решение немного топорное, т.к. устанавливает Modx(Wordpress) при создании домена без уведомлений и возможности отказаться. И в то же время простое, т.к. просто инкюдится скрипт. Если кто решит вопрос с опцией, буду благодарен.
Собрано из кусков сторонних скриптов Василия и с форума VestaCP
Alexander V
13 декабря 2014, 04:18
modx.pro
5
3 762
+2

Использование тегов MODX внутри @INLINE-чанков pdoTools

Многие знают, что в pdoTools в качестве шаблона вывода можно указывать @INLINE-код, чтобы не создавать лишних сущностей.
[[!pdoResources?
    &tpl=`@INLINE <li>[[+pagetitle]]</li>`
]]

Некоторые знают, что в таких конструкциях нельзя вызывать сниппеты, не работают фильтры ввода-вывода. А в документации про это даже картинка саркастическая есть.

Хочу раскрыть небольшую тайну, как можно это ограничение иногда обойти… Подробности под катом :-Р
Илья Уткин
09 декабря 2014, 10:04
modx.pro
15
11 301
+8

Автоматическая генерация оглавления страницы

На днях появился вопрос об автоматическом создании оглавления статьи, а позже где-то проскочил комментарий, мол неплохо бы такое добавить на docs.modx.pro — там же все документы хорошо структурированы.

И действительно, а почему бы не добавить? Выделил полчасика и набросал сниппет makeContents, который генерирует вот такое оглавление:
Василий Наумкин
09 декабря 2014, 08:57
modx.pro
42
7 831
+3