Александр Котлов

Александр Котлов

С нами с 18 января 2013; Место в рейтинге пользователей: #100

Редактирование выделенных элементов

Продолжаю свои улучшалки. Прошлый мой эксперимент оказался тупиковым. На что-то серьезное времени нет, поэтому маюсь всякой всячиной. Сегодня вот придумалось мне сделать редактирование тегов чанков и сниппетов в ресурсах, шаблонах и других чанках по аналогии с phpStorm (насколько это возможно). Например, в ресурсе выделяем тег [[$chunk]] и нажимаем Ctrl+Enter. В результате открывается немного измененное окно быстрого редактирования этого чанка. То же и со сниппетами.
Сергей Шлоков
07 октября 2015, 17:15
modx.pro
5
3 820
+15

[Slackify] – удобный уведомлятор в Slack для MODX

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



На прошлой неделе меня однажды утром осенила мысль «а что, если» и не отпускала, пока не доделал все, что хотел. А сделал вот что: написал компонент, который добавляет набор классов, используя которые можно удобно настроить уведомления с сайта на MODX в чат Slack. Особенная фишка пакета — это уже готовые плагины для 404 ошибок, Tickets и miniShop2. Но, по порядку.

В основном репозитории – modx.com/extras/package/slackify
В репозитории modstore.pro – modstore.pro/packages/alerts-mailing/slackify

Іван Клімчук
25 сентября 2015, 00:17
modx.pro
6
21 488
+16

Проблема с where и sortby в fenom

Стоит последняя актуальная версия pdoTools.

Делаю все вроде как по инструкции, но в запрос условия where и sortby не добавляются никак. Через showlog не видно.

Пример вызова:

{$_modx->runSnippet('!msProducts', [
    'parents' => 3,
    'sortby' => [
        'Data.new' => 'desc',
        'msProduct.editedon' => 'desc'
    ],
    'includeThumbs' => '150x150',
    'where' => [
        'Data.price:>=' => 0
    ],
    'limit' => 4,
    'showLog' => true,
    'tpl' => '@INLINE
		bla-bla-bla
	'
])}

Собственно вопрос: ЧЯДНТ?
Іван Клімчук
30 августа 2015, 21:00
modx.pro
6
6 551
+1

Вставка рекламы после n-го абзаца

Здравствуйте, подскажите как можно вставить рекламный блок в теле статьи, например после 2 или 3 абзаца от начала статьи?
MatrixID
27 августа 2015, 06:51
modx.pro
7
6 556
0

Fenom + MobileDetect + NGINX + PHP5-FPM = 502 bad gateway

Здравствуйте.

Столкнулся с такой проблемой. У меня установлен Fenom, MobileDetect. Я разбил в чанке "layout" основную и мобильную версии тегами. Захожу на главную страницу — 502 ошибка. В логах nginx вот такое:

2015/08/24 13:24:23 [error] 9787#0: *216565 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: *2.**.*20.*9, server: kfm.****.kz, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-kfm2.sock:", host: "kfm.****.kz", referrer: "http://kfm.****.kz/manager/?a=element/template/update&id=1"
Пояндексил — пишут, что это из-за ошибки в PHP. Nginx как бы сообщает, что PHP не отдал ему ответ.

Самое интересное, когда отключаю плагин MobileDetect — всё работает. Помогите, пожалуйста, побороть эту неприятность.

Решение в комментариях.
Павел Гвоздь
24 августа 2015, 07:36
modx.pro
23
3 680
0

[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()} — вывод чанка
  • и т.д., смотрите исходник.
Василий Наумкин
09 августа 2015, 12:17
modx.pro
13
12 150
+11

Не актуально

Не актуально
Серьёзный
04 августа 2015, 13:42
modx.pro
1
1 239
0

Fenom и toPlaceholder

Всем привет. Наконец-то начал осваивать Fenom в pdoTools и столкнулся с такой проблемой. Если есть вот такой вывод:
[[pdoResources?
	&parents=`8`
	&depth=`0`
	&tpl=`tpl.NewsMainBlock.item`
	&limit=`3`
	&sortby=`{"publishedon":"DESC"}`
	&includeContent=`1`
	&toPlaceholder=`news`
]]
то, как вывести свой плейсхолдер [[+news]]?
Тестил {{$news}}, {$_pls['news']} — не выводит. Вывод pdoResources делаю в шаблоне.
Николай Загумённов
08 июля 2015, 14:47
modx.pro
2
4 027
+1

Создание мультисайта на MODX REVO

Лучше поздно, чем никогда. Как и обещал https://modx.pro/help/5194/ пишу про создание мультисайта на MODX REVO. Выкладываю в блог Готовые решения, т.к. в статье есть чуть-чуть кода.

Смысл всей затеи — упростить поддержку сайтов.

Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации

Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.

В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.

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

Иван Чуваев
06 июля 2015, 02:48
modx.pro
41
21 539
+9

Новые возможности miniShop2

Не так давно на MODX.pro поднимался вопрос о дальнейшем развитии miniShop2. Я от лица Simple Dream взял на себя ответственность координировать действия по внедрению улучшений. Хочу познакомить сообщество с первыми результатами.
Andrey Evteev
20 ноября 2014, 11:00
modx.pro
2
2 566
+16