
yani
С нами с 20 декабря 2013; Место в рейтинге пользователей: #54Меняем стоимость доставки совершённого заказа
[PayAndSee] теперь с вариантами подписок
[pdoTools] Версия 2.1 - улучшения Fenom
Привет друзья! Хочу представить вам новую версию pdoTools с улучшениями работы шаблонизатора Fenom.
С другой стороны, я не хочу придумывать очередной псевдоязык команд, типа
Функциональность vs Безопасность
Я долго думал, как бы разрешить менеджерам запускать чанки и сниппеты, но при этом не пускать их к объектам MODX. Потому что, если включить системную настройку pdotools_fenom_modx, то любой менеджер сможет сделать в чанке вот так:{if $res = $modx->getObject('modResource', 1)}
$res->remove();
{/if}
Нам бы этого не хотелось, правда?С другой стороны, я не хочу придумывать очередной псевдоязык команд, типа
{runSnippet('name', [params => data])}
или{'name' [params => data] | snippet}
Поэтому я добавил специальную переменную {$_modx}, которая ссылается на небольшой безопасный класс, где есть только нужные менеджерам функции и свойства:- {$_modx->placeholders} — массив с системными плейсхолдерами
- {$_modx->config} — массив с системными настройками
- {$_modx->context} — массив (не объект!) с текущим контекстом
- {$_modx->user} — массив (не объект!) с текущим пользователем
- {$_modx->resource} — массив (не объект!) с текущим ресурсом
- {$_modx->lexicon} — служба загрузки лексиконов
- {$_modx->lexicon()} — функция для вывода строки из лексикона
- {$_modx->runSnippet()} — запуск сниппета
- {$_modx->runProcessor()} — запуск процессора
- {$_modx->getChunk()} — вывод чанка
- и т.д., смотрите исходник.
[elementNotes] Хранение заметок в элементах
Не знаю как у других, а у меня иногда возникает ситуация, когда нужно под себя немного изменить код элемента (сниппета, плагина, чанка) или сделать какие-то заметки для себя касательно элемента. Но после обновления компонента все изменения пропадают. И как их сохранить? Можно, конечно, найти способ — записать на бумажке или файлик какой вести.
Как альтернатива — добавить элементу отдельную вкладку и там хранить заметки. Выглядит это так

Теперь заметки останутся даже после обновления элемента.
Как альтернатива — добавить элементу отдельную вкладку и там хранить заметки. Выглядит это так

Теперь заметки останутся даже после обновления элемента.
Создание мультисайта на MODX REVO
Лучше поздно, чем никогда. Как и обещал https://modx.pro/help/5194/ пишу про создание мультисайта на MODX REVO. Выкладываю в блог Готовые решения, т.к. в статье есть чуть-чуть кода.
Смысл всей затеи — упростить поддержку сайтов.
Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации
Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.
В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.
Т.е. единожды продумываем тонкости и решаем, что будем делать именно так и никак иначе. В дальнейшем это позволит избежать бардака и существенно ускорит процесс переноса существующих сайтов в мультисайт или разработку новых сайтов.
Смысл всей затеи — упростить поддержку сайтов.
Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации
Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.
В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.
Т.е. единожды продумываем тонкости и решаем, что будем делать именно так и никак иначе. В дальнейшем это позволит избежать бардака и существенно ускорит процесс переноса существующих сайтов в мультисайт или разработку новых сайтов.
Сниппет для вывода всех TV параметров ресурса
Всем привет,
долгое время занимаюсь сайтами на MODx, но в большинстве случаев все сводится к верстке и настройке всех сниппетов, без написания чего-либо.
Часто сталкиваюсь с задачей вывода TV параметров и их заголовков. Для текущей задачи встал вопрос разделения всех полей еще и на блоки-категории.
долгое время занимаюсь сайтами на MODx, но в большинстве случаев все сводится к верстке и настройке всех сниппетов, без написания чего-либо.
Часто сталкиваюсь с задачей вывода TV параметров и их заголовков. Для текущей задачи встал вопрос разделения всех полей еще и на блоки-категории.
[ExportPage] - Экспорт ресурсов в файлы.
[easyBlacklist] Релиз простого черного списка IP
Буквально месяц назад я описывал простой компонент для блокировки пользователей по IP, который не решался выкладывать в магазин. Теперь его код был приведён в приемлемый вид и я решил его всё-таки выложить в магазин.
easyBlacklist — это простой компонент, предназначенный для блокировки злоумышленников и нежелательных посетителей сайтов по их IP-адресу. Есть возможность указать IP-адрес, причину блокировки и включить/отключить правило.
easyBlacklist — это простой компонент, предназначенный для блокировки злоумышленников и нежелательных посетителей сайтов по их IP-адресу. Есть возможность указать IP-адрес, причину блокировки и включить/отключить правило.
msDiscount 1.1 + MS2.1.11 = Одноразовые скидочные купоны
Наступило лето, народ разъехался по отпускам и продажи в магазинах серьёзно просели. Если, конечно, вы не торгуете кремом для загара и холодным пивом — в этом случае у вас полный порядок.
Подстегнуть продажи помогут одноразовые скидочные купоны, которые появились в большом обновлении msDiscount.
Подстегнуть продажи помогут одноразовые скидочные купоны, которые появились в большом обновлении msDiscount.