Дмитрий Кондаков

Дмитрий Кондаков

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

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

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

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

Запись строки с Emoji в MODx

Здравствуйте. Очередной вопрос ) Извините если дурацкий, я так себе программист.
Как в поле content записать строку с emoji смайликами? то есть если я строку чищу от этих смайликов, вот такой функцией:
Михаил
10 декабря 2016, 13:33
modx.pro
1
3 176
0

[xParser] Парсер RSS лент

Парсер контента RSS лент, с возможностью скачивания медиа-контента на сайт.

При добавлении полей ленты, которые надо парсить, вместо названия поля (title или enclosure[url]) можно указать @INLINE чанк, который будет обработан Fenom. Благодаря этому, в этих полях можно выстраивать совершенно любую логику, вплоть до создания новых разделов «на ходу».
Павел Гвоздь
30 ноября 2016, 23:15
modx.pro
8
11 148
+26

Потенциальная уязвимость при получении объекта xPDO

Привет, друзья! Настало время подвести некоторые итоги по новости недельной давности.

Если кто не в курсе, в xPDO, а соотвественно, и в MODX обнаружилась уязвимость, позволяющая проводить слепые SQL инъекции и ломать сайты. Точнее как, обнаружилась… Всегда там была, и кому нужно — давно это знали.

Суть в том, что при получении объекта xPDO можно указать вторым параметром любую строку, и она не фильтруется.
$modx->getObject('modResource', 'тут любой SQL код')
Этот код выполнит произвольный SQL запрос, потому что «фича, а не бага».

Правда, про эту фичу нет ни слова в документации, где говорят только о
The criteria can be a primary key value, an array of primary key values (for multiple primary key objects) or an xPDOCriteria object.
и никаких сырых SQL выражений.
Василий Наумкин
13 ноября 2016, 15:37
modx.pro
11
4 778
+30

Добавление своих полей в форму заказа [обновлено]

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

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

Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.

Более подробно далее
Дмитрий Меркурьев
11 октября 2016, 16:38
modx.pro
97
19 146
+11

Выбор в скрипте создания сайта: PHP 5/7, HTTP(S)

При настройке сервера по этой инструкции для создания нового сайта очень удобно пользоваться приложенным скриптом.

В процессе эксплуатации сервера с ним произошли основные метаморфозы:
1) Обновлен nginx до версии 1.10 по официальной инструкции.
2) Установлен PHP7 по этой инструкции. Спасибо Сергею Пожидаеву.
3) Установлены скрипты Let's Encrypt по этой инструкции
Воеводский Михаил
28 сентября 2016, 14:02
modx.pro
17
2 385
+6

phpThumbOn не выводит первую картинку

Странно ведёт себя phpThumbOn.
Использую pdoResources, в шаблоне прописываю вывод картинки обычным образом
[[+tv.preview:phpthumbon=`w=450&h=404&zc=1`]]
Но выводятся превьюхи всех документов кроме первого. Удаляю первый документ — перестает отображаться превьюшка из второго и т.д. Пробовал в tplFirst редактировать — без толку.

На других сайтах все работает, кроме новых двух — они на PHP 7.0.8.

Может быть проблема в версии PHP? На тестовом сайте все работает корректно, но там php7.0.9 вроде.
Александр
26 августа 2016, 07:01
modx.pro
4
3 666
0

mspKKB - Оплата заказов minishop2 через Казком

Представляю вам мой второй компонент =), который добавляет вариант оплаты в minishop2, через систему онлайн платежей ePay от Казкоммерцбанка.
Николай Загумённов
17 августа 2016, 13:37
modx.pro
2
2 663
+7

Как сделать сортировку через select?

Пытаюсь сделать сортировку
<select id="mse2_sort" >
                            <option data-sort="ms_product|publishedon" data-dir="[[+mse2_sort:is=`resource|publishedon:desc`:then=`desc`]]" data-default="desc" class="sort">[[%mse2_sort_publishedon]]</option>
                            <option data-sort="ms|price" data-dir="[[+mse2_sort:is=``:then=`desc`]]" data-default="desc" class="sort [[+mse2_sort:is=``:then=`active`]]">[[%mse2_sort_price]]</option>
                        </select>
Как сделать, чтоб при выборе пункт, все заработало?) Заранее спасибо.
DimenSi
24 июня 2016, 22:37
modx.pro
11
3 869
0

Резервное копирование сайта на MODX в Google Диск

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

Итак, вводные данные:
  • Каждый сайт работает от своего пользователя;
  • Все сайты находятся в /var/www/ ;
  • Системное имя пользователя, имя пользователя БД и название БД совпадают.
Что нам нужно в результате:
  • Создание zip архива всего сайта и sql дампа БД в ~/backup
  • Подстановка даты в имя файлов
  • [Опционально] Закачивание всех архивов в Google Drive и удаление с сервера
Воеводский Михаил
24 июня 2016, 12:00
modx.pro
30
5 226
+21