Tanya
С нами с 07 октября 2015; Место в рейтинге пользователей: #455Срабатывание плагина, если tv изменился
Приветствую.
Подскажите, есть ли возможность проверить, изменилось ли значение tv-параметра ресурса и (если изменилось) выполнить плагин по onDocFormSave (например)?
Ситуация: для раздела есть поле скидка. При его изменении — изменяется цена товаров данного подраздела.
Нужно запустить плагин (выполнить изменение цен) только тогда, когда значение скидки изменилось (чтобы не нагружать сервак просто так).
Подскажите, есть ли возможность проверить, изменилось ли значение tv-параметра ресурса и (если изменилось) выполнить плагин по onDocFormSave (например)?
Ситуация: для раздела есть поле скидка. При его изменении — изменяется цена товаров данного подраздела.
Нужно запустить плагин (выполнить изменение цен) только тогда, когда значение скидки изменилось (чтобы не нагружать сервак просто так).
[Tickets] 1.5.0-beta с генерацией нескольких превью
Неожиданно представляю вам новую версию Tickets с возможностью генерации нескольких превью для загружаемых юзерами картинок.
Как известно, изначально такую возможность я не предусматривал, справедливо полагая, что для каждой картинки в тикете достаточно одной превью. Но Tickets вышел очень многофункциональным дополнением, и многие люди используют его так, как я и представить не мог.
Вот эти люди меня уговорили немного переделать работу с файлами, и теперь вы можете указывать в источнике медиа такое:
Как известно, изначально такую возможность я не предусматривал, справедливо полагая, что для каждой картинки в тикете достаточно одной превью. Но Tickets вышел очень многофункциональным дополнением, и многие люди используют его так, как я и представить не мог.
Вот эти люди меня уговорили немного переделать работу с файлами, и теперь вы можете указывать в источнике медиа такое:
{
"thumb":{"w":120,"h":90,"q":90,"zc":"1","bg":"000000"},
"mini":{"w":50,"h":50,"q":90,"zc":"1","bg":"000000"}
}
То есть, именованный массив в котором ключи являются суффиксами превьюшек. Использование тегов MODX внутри @INLINE-чанков pdoTools
Многие знают, что в pdoTools в качестве шаблона вывода можно указывать @INLINE-код, чтобы не создавать лишних сущностей.
Некоторые знают, что в таких конструкциях нельзя вызывать сниппеты, не работают фильтры ввода-вывода. А в документации про это даже картинка саркастическая есть.
Хочу раскрыть небольшую тайну, как можно это ограничение иногда обойти… Подробности под катом :-Р
[[!pdoResources?
&tpl=`@INLINE <li>[[+pagetitle]]</li>`
]]
Некоторые знают, что в таких конструкциях нельзя вызывать сниппеты, не работают фильтры ввода-вывода. А в документации про это даже картинка саркастическая есть.
Хочу раскрыть небольшую тайну, как можно это ограничение иногда обойти… Подробности под катом :-Р
Ограничение доступа в админку по IP и дням недели
Это никак не отражено в документации, но любому пользователю можно ограничить авторизацию по IP и дням недели. Работает это c помощью настроек пользователя. Далее краткая инструкция (я использую MODX 2.3, поэтому в версии 2.2 пути могут отличаться):
1) Заходим в пункт меню Управление -> Пользователи.
2) Выбираем нужного пользователя правой кнопкой и жмем «Редактировать».
3) Переходим на вкладку «Настройки» и жмем кнопку «Создать новый».
4) В появившемся окне называем ключ allowed_ip — это будет настройка ограничения по IP. Имя можно выбрать любое. В поле значение записываем IP через запятую, например, «192.168.0.1,127.0.0.1». Сохраняем.
5) Аналогично настройка по дням. Ключ называем allowed_days. Значение — это номера дней через запятую от 1 (воскресенье) до 7 (суббота). Например, строка «2,3,4,5,6» ограничит доступ в админку только рабочими днями.
1) Заходим в пункт меню Управление -> Пользователи.
2) Выбираем нужного пользователя правой кнопкой и жмем «Редактировать».
3) Переходим на вкладку «Настройки» и жмем кнопку «Создать новый».
4) В появившемся окне называем ключ allowed_ip — это будет настройка ограничения по IP. Имя можно выбрать любое. В поле значение записываем IP через запятую, например, «192.168.0.1,127.0.0.1». Сохраняем.
5) Аналогично настройка по дням. Ключ называем allowed_days. Значение — это номера дней через запятую от 1 (воскресенье) до 7 (суббота). Например, строка «2,3,4,5,6» ограничит доступ в админку только рабочими днями.
modx строгие URL
Доброго времени суток. Подскажите пожалуйста, как заставить modx обрабатывать строго URL?
MIGXdb - Contextmenues
Я так понимаю, что migxdb не создает никаких событий при создании, удалении строк в кастомной таблице т.е. я не могу при каких-то изменениях именно в одной строке сделать изменения в остальных строках? В поле Contextmenues есть пункт publish. В соответствии с этой инструкцией, если в таблице будет столбец
и некоторые другие строки, и в Contextmenues отметить галку published, при редактировании таблицы в migxdbTV можно публиковать — снимать с публикации конкретную строку. А как использовать, например, activate? Пробовал сделать по аналогии с published — фиг вам.
Подскажите, куда копать, хоть на русском, хоть на английском. В документации нашел только упоминания этого пункта типа
<field key="published" dbtype="int" precision="10" phptype="integer" null="false" default="1" />
и некоторые другие строки, и в Contextmenues отметить галку published, при редактировании таблицы в migxdbTV можно публиковать — снимать с публикации конкретную строку. А как использовать, например, activate? Пробовал сделать по аналогии с published — фиг вам.
Подскажите, куда копать, хоть на русском, хоть на английском. В документации нашел только упоминания этого пункта типа
Contextmenues
check: update, recall_remove_delete
Фильтрация по выпадающему списку для mFilter2
Может кому-то пригодится небольшое решение с подключением Bootstrap-select
Пример рабочего select с поиском без правки скрипта, благодаря label:
Пример рабочего select с поиском без правки скрипта, благодаря label:
Вывод RSS сайта через pdoResources
Честно говоря, я не очень люблю всякие рассылки и подписки, мне больше нравится использовать RSS.
Им очень удобно пользоваться — нужно просто зайти скопировать ссылку и вставить её в свой агрегатор новостей, например www.inoreader.com.
Для пущего удобства можно еще установить расширение для Chrome, чтобы вас регулярно уведомляли о свежих записях.
А теперь давайте посмотрим, как можно генерировать RSS с помощью pdoResources.
RSS — семейство XML-форматов, предназначенных для описания лент новостей, анонсов статей, изменений в блогах и т. п. Информация из различных источников, представленная в формате RSS, может быть собрана, обработана и представлена пользователю в удобном для него виде специальными программами-агрегаторами или онлайн-сервисами.
Им очень удобно пользоваться — нужно просто зайти скопировать ссылку и вставить её в свой агрегатор новостей, например www.inoreader.com.
Для пущего удобства можно еще установить расширение для Chrome, чтобы вас регулярно уведомляли о свежих записях.
А теперь давайте посмотрим, как можно генерировать RSS с помощью pdoResources.
AjaxSnippet и пагинация
Здравствуйте, подскажите, как сделать пагинацию с помощью AjaxSnippet?
[[AjaxSnippet?
&snippet=`pdoPage`
&wrapper=`myWrapper`
&element=`msProducts`
&limit=`12`
]]
<div class="clr"></div>
[[!+page.nav]]
Генерация расписания занятий на pdoTools
Увидел недавно вопрос на сообществе — человек хочет сгенерировать таблицу с расписанием занятий по дням.
Казалось бы, задача несложная, но это совсем не так. Стандартные сниппеты не предназначены для такой работы и их приходится запускать на каждый день недели. И даже если вас не волнует скорость работы, то в итоговой таблице будут пропущенные ячейки, что совсем не айс.
Можно сделать свой компонент расписаний, но это нужно далеко не всем, тем более, для вывода всего одной недели из дерева.
Поэтому предлагаю вам готовое решение, а заодно и демонстрацию работы с pdoTools. Конечно, можно было бы обойтись и родными методами MODX, но с ним быстрее.
Все нужные данные выбираются за один запрос, а дальше очень быстрая обработка и оформление на PHP.