Константин Обухов
С нами с 03 марта 2016; Место в рейтинге пользователей: #333Как вывести список групп пользователя?
Пытаюсь вывести список групп, в которые входит пользователь. Сразу уточню, вывести не одну группу, а названия именно всех групп. Примерное решение нашел, но выглядит крайне ерундовым.
Генерация PDF на основе данных с формы в MODX Revo
Довольно часто возникает необходимость генерировать pdf на основе данных с формы.
Ниже небольшое решение как это сделать если стоит пакет ExportPage
Ниже небольшое решение как это сделать если стоит пакет ExportPage
Дополнительное поле товара
Добрый день! Появилась потребность добавить дополнительное поле к свойствам товара. Не могу найти xtype TV поля Список (одиночный выбор). И можно ли будет для данного поля добавить значения для выбора и значение по-умолчанию?
Заранее спасибо!)
Заранее спасибо!)
[customExtra] Создание кастомных объектов
Периодически мне приходится реализовывать на сайтах клиентов какой-то уникальный функционал. Часто требуется сохранять информацию в базу данных, выводить её оттуда, реализовывать возможность управления из админки. Раньше для этого приходилось писать кастомный компонент.
А значит, надо написать схему, сгенерировать модель, оформить интерфейс, написать процессоры и прочее, и прочее… Для начинающих разработчиков этот метод достаточно сложен. А мне, например, каждый раз та-а-ак лень это делать.
Недавно я все-таки решился собрать некий стандартный компонент, с большим количеством полей, которые можно использовать как угодно. Даже написал небольшую заметку о нем у себя в блоге и на какое-то время успокоился.
До тех пор, пока мне не понадобилось иметь два таких кастомных объекта…
А значит, надо написать схему, сгенерировать модель, оформить интерфейс, написать процессоры и прочее, и прочее… Для начинающих разработчиков этот метод достаточно сложен. А мне, например, каждый раз та-а-ак лень это делать.
Недавно я все-таки решился собрать некий стандартный компонент, с большим количеством полей, которые можно использовать как угодно. Даже написал небольшую заметку о нем у себя в блоге и на какое-то время успокоился.
До тех пор, пока мне не понадобилось иметь два таких кастомных объекта…
mFilter2 - функции обратного вызова
Как перехватить данные с pdoPage, используемому в mFilter2 по умолчанию?
То есть в обычном pdoPage прекрасно работают функции обратного вызова, а в mFilter2 почему-то не получается.
Или я не туда смотрю? Может и для mFilter2 есть функции обратного вызова, только я пропустил это?
То есть в обычном pdoPage прекрасно работают функции обратного вызова, а в mFilter2 почему-то не получается.
Или я не туда смотрю? Может и для mFilter2 есть функции обратного вызова, только я пропустил это?
mFilter2 и фильтр :date
Пробую фильтровать по дате. Нашел фильтр :date, которого почему-то нет в документации (там только :day, :month и :year).
MinifyX/munee - сжимает в 1.3-1.5 раза слабее...
MinifyX/munee 1.4.2 — сжимает в 1.3-1.5 раз слабее, чем это возможно.
Сравнил библиотеки jquery, jquery-ui и flexslider. Готовые min-файлы весят в 1.3-1.5 раз меньше, чем те, которые получаем после MinifyX/munee. Вначале думал, что алгоритмы сжатия используются примитивные, но оказалось, что такая степень сжатия достигается за счёт минимизации имён локальных переменных и прочих объектов языка (вплоть до 1 символа). Логично.
Судя по всему, munee не умеет «сжимать» локальные имена. Или всё-таки умеет?
Кто что думает по этому поводу? Если не умеет, не планирует ли кто реализовать эту минимизацию на уровне компонентов, например, того же самого MinifyX/munee?
P.S. Сходу это дело реализовать не получится, поскольку регулярками здесь не обойтись (регулярки не учитывают уровень вложенности). Нужен полноценный парсер JS-кода. Ну а коли использовать (или писать) такой парсер, то и munee может уже и не понадобиться…
Сравнил библиотеки jquery, jquery-ui и flexslider. Готовые min-файлы весят в 1.3-1.5 раз меньше, чем те, которые получаем после MinifyX/munee. Вначале думал, что алгоритмы сжатия используются примитивные, но оказалось, что такая степень сжатия достигается за счёт минимизации имён локальных переменных и прочих объектов языка (вплоть до 1 символа). Логично.
Судя по всему, munee не умеет «сжимать» локальные имена. Или всё-таки умеет?
Кто что думает по этому поводу? Если не умеет, не планирует ли кто реализовать эту минимизацию на уровне компонентов, например, того же самого MinifyX/munee?
P.S. Сходу это дело реализовать не получится, поскольку регулярками здесь не обойтись (регулярки не учитывают уровень вложенности). Нужен полноценный парсер JS-кода. Ну а коли использовать (или писать) такой парсер, то и munee может уже и не понадобиться…
Modx REST API
Всем привет.
Подскажите — как правильно организовать REST API на MODX?Поступила задача — сделать REST API для обмена данными с front-end приложением.
По следующим ссылкам — изучил инфу —
modResourceField. Упрощаем работу с TV часть 2.
Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
АнтиСео в MODX 2.4.0
Доброго времени суток, господа
Думаю не все в курсе (по крайней мере я не был) о том, что последние версии modx не корректно отрабатывают в связке в nginx ЧПУ (верней переадресацию при включении чпу).
В результате чего контент сайтацеликом дублируется в глазах поисковика и вы уныло катитесь вниз в выдаче.
Приведу простой пример:
Ваш сайт доступен по ссылке */index.php?id=1 и /, */index.php?id=2 и по чпу документа с id 2 и т.д.
К сожалению на modhost установлен nginx и я совершенно случайно обнаружил этот факт.
Василий предложил использовать плагин
Так же обратил внимание, что при включении этого плагина слетает выборка последних новостей (последние 3 дочерных документа у родителя по id).
Вот собственно вопрос:
как поставить проверку по содержанию /manager/ в url?
Почему может не работать pdoResources при включении этого плагина?
Думаю не все в курсе (по крайней мере я не был) о том, что последние версии modx не корректно отрабатывают в связке в nginx ЧПУ (верней переадресацию при включении чпу).
В результате чего контент сайта
Приведу простой пример:
Ваш сайт доступен по ссылке */index.php?id=1 и /, */index.php?id=2 и по чпу документа с id 2 и т.д.
К сожалению на modhost установлен nginx и я совершенно случайно обнаружил этот факт.
Василий предложил использовать плагин
<?php
if ($modx->event->name == 'OnHandleRequest') {
if (!empty($_GET['id'])) {
$id = (int)$_GET['id'];
if (!$modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
$id = $modx->getOption('error_page', null, $modx->getOption('site_start'));
}
$modx->sendRedirect($modx->makeUrl($id));
}
}
На первый взгляд он закрывает эту дырку, но на практике получилось, что он ресолвит id и для страниц бэкенда, что убило его функционал.Так же обратил внимание, что при включении этого плагина слетает выборка последних новостей (последние 3 дочерных документа у родителя по id).
Вот собственно вопрос:
как поставить проверку по содержанию /manager/ в url?
Почему может не работать pdoResources при включении этого плагина?