Alexey T

Alexey T

С нами с 06 апреля 2014; Место в рейтинге пользователей: #129

Вопрос по where в fenom

Подскажите пожалуйста, как записать переменную внутри условия на fenom?
вызываю сниппет
{var $mark = '[[!pdoField? &id=`[[*parent]]` &field=`pagetitle` &top=`2`]]'}
{$_modx->runSnippet('!ecMessagesMain', [
                'limit' => '3',
                'tpl' => 'reviews_row',
                'threads' => 'resource-19250',
                'where' => '{"subject:LIKE": "%"~$mark~"%"}'
                'showLog' => '1'
                ])}
{$mark}
При таком вызове, выводятся случайные сообщения, то есть не те, которые в
[[+subject]]
содержат переменную
{$mark}
Заранее спасибо
Konstantin
22 июня 2017, 11:34
modx.pro
2
2 619
0

settingsWidget - настройки в панели управления

Это маленькое дополнение предназначено для показа выбранных настроек на панели управления MODX.


Добавить виджет на панель: Панели — Default — Редактировать панель — Добавить виджет — Быстрые настройки.
В системной настройке settingswidget_keys указать через запятую список ключей настроек. Например, так:
site_name,site_status,emailsender,error_page
Эти перечисленные настройки и будут отображаться в виждете.

Дополнение целиком и полностью бесплатно и доступно в Modstore: settingsWidget.
DocentBF
19 июня 2017, 21:14
modx.pro
14
4 025
+19

Исходники webstartpage.ru

Привет, друзья.

Я подумал и решил, что выложить всем на обозрение исходники моего последнего проекта может быть весьма полезно. Так что вот они, держите.

Сайт отличается использованием файловых элементов и сборкой скриптов\стилей через Gulp. Если вы давно хотели узнать, как разрабатывают сайты MODX из PhpStorm — вот ваш шанс!

Для начала нужно установить pdoTools и HybridAuth. Затем нужно выгрузить исходники Startpage.
Внимание, работать только на чистом сайте! На рабочих проектах эксперементировать не нужно.
Василий Наумкин
18 мая 2017, 07:57
modx.pro
29
4 325
+28

Тест вложенности ресурса в контейнер [с блекджеком и плюхами]

Проверить, есть ли контейнер в списке родителей ресурса, можно разными способами:

  • Можно сделать это используя карту ресурсов, которую MODX создаёт для каждого контекста после обновления кеша. Для этого необходимо воспользоваться методом $modx->getParentIds. Таким образом нагрузка и время затрачиваемое на проверку будет минимальным.

  • Не заморачиваться и сделать всё исключительно на Fenom, без модификаторов. Тут мы тоже можем воспользоваться методом $_modx->getParentIds, который Василий услужливо вынес в список доступных в Fenom.

  • Можно даже извратиться до того, что на каждую такую проверку получать объект через getObject('modResource') + получать объекты его родителей через getOne('Parent'). К слову, что будет в случае, если нам, к примеру, надо проверить 50 товаров на странице на вложенность в определённую категорию?
    Ради интереса, я воспроизвёл подобную ситуацию на тестовом сайте Modhost:
    1. Без каких-либо проверок 50 товаров в списке категории выводятся за 0,0282 сек.
    2. С подобной проверкой, за 0.1304 сек.
    3. С проверкой, которую мы рассматриваем в этом посте, за 0.0307 сек.

    А потом заказчики сходят с ума, почему их сайт так долго открывается...
Павел Гвоздь
26 апреля 2017, 05:28
modx.pro
17
4 288
+15

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

Многие пользователи знают, что MODX хранит кучу старых версий дополнений, чтобы вы могли откатиться на них в любое время.

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

Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.

Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Василий Наумкин
24 марта 2017, 06:35
modx.pro
40
4 259
+24

Адаптация сайта по методике RESS на MODX

Всем привет, сегодня подумал как можно сделать адаптивный сайт на MODX при помощи RESS, для тех кто не в курсе это когда для разных устройств сервер отдаёт разные HTML и CSS, но по одному URL.
Сама эта схема завязана на проверке userAgent браузера, и да я знаю, что в modstore уже есть компонент для определения мобильных версий — MobileDetect, но он работает по принципу — вся вёрстка в одном шаблоне и при рендере страницы он ненужную разметку вырезает.
Я хочу попробовать другой вариант, но мне нужна помощь сообщества —
В общем всё дело происходит при работе с Fenom в pdoTools, в настройках системы есть параметр, задающий папку от куда нужно тянуть шаблоны для ресурсов, вот её я хочу менять на лету в зависимости от userAgent браузера.
Семён Кудрявцев
10 февраля 2017, 14:50
modx.pro
14
3 187
+3

modNodejs - Интеграция Nodejs в MODx

Всем доброе утро. Сегодня представляю на всеобщее обозрение компонент над которым я потел последние несколько дней.

Заголовок говорит сам за себя, это интеграция Nodejs в MODx.
Так зачем он нужен? Для realtime! Как сказал Николай: «технологии диктуют».

Простейший пример: в minishop2 поступил заказ, а менеджер гуляет по админке\сайту, вот что он увидит:

Без перезагрузки страницы и тд, можно выполнить любой js по наступлению эвента.
but1head
21 января 2017, 03:11
modx.pro
22
12 502
+27

Собственные модификаторы Fenom

Продолжаю разработку новой версии modstore.pro и хочу поделиться простым способом подключения своих модификаторов.

Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
{$variable | snippet}
Но
  • Сниппеты бывают совсем небольшие и создавать их на каждый чих не хочется
  • Вызов сниппета, это всё-таки дополнительная нагрузка
  • Лично я уже полностью перешел на файлы, и создавать запись в БД для сниппета, только ради его связи с файлом мне совсем не хочется
То есть, я хочу просто вызывать некий код в качестве модификатора. И в этом мне поможет событие pdoToolsOnFenomInit, которое появилось в pdoTools 2.6.0 и мало кто это заметил.
Василий Наумкин
14 января 2017, 05:49
modx.pro
29
8 351
+14

[ms2Gallery] Версия 2.0

С новым годом, друзья! Сегодня я хочу рассказать вам об изрядно переписанной ms2Gallery 2.0.

— Весь код заново просмотрен и отформатирован в PSR-2.
— Улучшена сортировка картинок, настройка «ms2gallery_exact_sorting» удалена.
— Улучшен вывод картинок в админке, настройка «ms2gallery_thumbnail_size» удалена. Больше вы не должны видеть логотип вместо превьюшек — они подключаются в зависимости от настроек источника файлов.
— В properties файла пишется дата съёмки EXIF, если скрипт может её получить.
Василий Наумкин
06 января 2017, 18:18
modx.pro
6
13 375
+27

[msPromoCode] 1.3.3 - Кастомизация скидки товара плагином


В новой версии пакета через плагины можно кастомизировать скидку на товары, которые применены к промо-коду. Если на примерах, то через события mspcOnBeforeSetProductDiscount и mspcOnSetProductDiscount можно:

  • Увеличивать/применять скидку на товар в зависимости от кол-ва единиц товара в корзине,
  • Давать скидку только на конкретную опцию товара, например на рубашку размера XXL,
  • Получить итоговую стоимость товара, за вычетом скидки, равной скидке за одну единицу, вне зависимости от кол-ва единиц данной позиции в корзине,
  • И много чего ещё, на что хватит вашей фантазии!
Павел Гвоздь
15 декабря 2016, 21:56
modx.pro
6
1 925
+14