Руслан Кундиус
С нами с 01 июля 2013; Место в рейтинге пользователей: #264Использование модификаторов Fenom в PHP
Заметка коротенькая, но может быть полезной.
Все знают, что мы можем добавлять собственные модификаторы Fenom на событие pdoToolsOnFenomInit. А как быть, если мы хотим потом использовать этот же модификатор не в чанках и шаблонах, а в своих PHP скриптах?
А очень просто:
Все знают, что мы можем добавлять собственные модификаторы Fenom на событие pdoToolsOnFenomInit. А как быть, если мы хотим потом использовать этот же модификатор не в чанках и шаблонах, а в своих PHP скриптах?
А очень просто:
$pdoTools = $modx->getService('pdoTools');
$string = 'Some very very long string';
if ($truncate = $pdoTools->getFenom()->getModifier('truncate')) {
$string = $truncate($string, 10);
}
return $string;
Здесь мы получаем модификатор truncate и обрезаем строку до 10 символов, если она больше. Запуск нового сообщества
Приветствую, друзья!
Сегодня мы открываем наш новый проект modx.pro, который появился практически случайно, после отзывов о запуске проекта документации (подробности).
Зачем нам еще одно сообщество? Причин несколько:
Сегодня мы открываем наш новый проект modx.pro, который появился практически случайно, после отзывов о запуске проекта документации (подробности).
Зачем нам еще одно сообщество? Причин несколько:
- Мой личный сайт bezumkin.ru уже в него превратился — это факт. Запуск modx.pro и перенос на него всех вопросов просто логичное развитие событий.
- Насколько я понимаю, это первое сообщество MODX, построенное на MODX с использованием общедоступных компонентов: Tickets, pdoTools, Office и т.д. Нет ничего проприетарного — все эти дополнения вы можете загрузить бесплатно или купить.
- Под крышей modx.pro мы собираем разные полезные и бесплатные сервисы: test, docs, demo и file.
- Есть вероятность, что здесь будет приятнее общаться.
Потенциальная уязвимость при получении объекта xPDO
Привет, друзья! Настало время подвести некоторые итоги по новости недельной давности.
Если кто не в курсе, в xPDO, а соотвественно, и в MODX обнаружилась уязвимость, позволяющая проводить слепые SQL инъекции и ломать сайты. Точнее как, обнаружилась… Всегда там была, и кому нужно — давно это знали.
Суть в том, что при получении объекта 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 выражений.
[AdminTools] Темы и положение дерева ресурсов
[MetroniX] – Шаблон оформления админки MODX Revo
Представляю вашему вниманию, не побоюсь этого слова, единственную в своем роде альтернативную тему оформления админки MODX Revolution 2.5.1. Мой долгострой, длившийся около полутора лет, наконец вышел на уровень, когда не стыдно показать.
Источником вдохновения послужил HTML-шаблон Metronic. Визуальное оформление шаблона было максимально точно перенесено на HTML-разметку админки MODX Revo. В процессе разработки темы ни одна часть этой разметки не пострадала и осталась в точности такой же, как в дефолтной теме версии 2.5.1. Это дает гарантию того, что тема не сломает какое-нибудь малоизвестное дополнение.
Тема MetroniX доступна в магазине MODSTORE
Протестировать дополнение можно на demo-сайте
Видео: MetroniX – Обзор шаблона админки MODX Revo
Источником вдохновения послужил HTML-шаблон Metronic. Визуальное оформление шаблона было максимально точно перенесено на HTML-разметку админки MODX Revo. В процессе разработки темы ни одна часть этой разметки не пострадала и осталась в точности такой же, как в дефолтной теме версии 2.5.1. Это дает гарантию того, что тема не сломает какое-нибудь малоизвестное дополнение.
Тема MetroniX доступна в магазине MODSTORE
Протестировать дополнение можно на demo-сайте
Видео: MetroniX – Обзор шаблона админки MODX Revo
[msOptionsPrice2] - Модификации продукта.
[msOptionsPrice2] — Новая версия с модификациями продукта. Кардинально отличается от предыдущей, просто обновиться не получится.
В целом компонент так же работает с опциями продукта, но теперь опции привязаны к модификации продукта. Так же модификации можно задать свой артикул, вес, кол-во и конечно стоимость. Доступны все опции продукта.
Заранее приношу свои извинения за невозможность апгрейда со старой версии.
В целом компонент так же работает с опциями продукта, но теперь опции привязаны к модификации продукта. Так же модификации можно задать свой артикул, вес, кол-во и конечно стоимость. Доступны все опции продукта.
Заранее приношу свои извинения за невозможность апгрейда со старой версии.
[modClassVar] - переменные класса, альтернатива ТВ
ResVideoGallery
ResVideoGallery — адаптивная видеогалерея с Ajax-подгрузкой видео
Поддерживаются следующие видеохостеры:
— youtube.com;
— vimeo.com;
— dailymotion.com;
— rutube.ru;
— vk.com;
— coub.com
Видео-обзор
Больше информации на странице дополнения
Поддерживаются следующие видеохостеры:
— youtube.com;
— vimeo.com;
— dailymotion.com;
— rutube.ru;
— vk.com;
— coub.com
Видео-обзор
Больше информации на странице дополнения
modImporter. Настройка импорта в minishop2 из XLSX
В продолжение прошлой статьи, предлагаю разобрать очередной пример импорта в минишоп, на этот раз из Экселя (XLSX). В этот раз не будет картинок и прочих деталей (их выше крыше было в прошлой статье), а просто рассмотрим конечный код процессора. Так меньше по объему и наверняка так будет многим более понятно.
И так, не считая контроллера в пару строк, при настройке импорта мы создаем и используем только один индивидуальный процессор. Собственно, вот именно этот процессор сможет каждый для себя использовать при импорте в минишоп из экселя. Все, что потребуется — изменить параметры шаблонов категорий и товаров, и корневого раздела каталога, а так же подправить поля-колонки.
Уточню: этот импортер рассчитан на два уровня вложенности: Корневой раздел -> Категория -> Товар. Для многоуровневой вложенности его придется чуть-чуть допилить.
И так, не считая контроллера в пару строк, при настройке импорта мы создаем и используем только один индивидуальный процессор. Собственно, вот именно этот процессор сможет каждый для себя использовать при импорте в минишоп из экселя. Все, что потребуется — изменить параметры шаблонов категорий и товаров, и корневого раздела каталога, а так же подправить поля-колонки.
Уточню: этот импортер рассчитан на два уровня вложенности: Корневой раздел -> Категория -> Товар. Для многоуровневой вложенности его придется чуть-чуть допилить.
modImporter. Настройка импорта в minishop2 из CSV.
Как я и писал в прошлом релизе, modImporter сейчас — это больше основа для настройки импорта, и конечно же что-то придется пилить самому. Но сегодня мы попробуем довольно детально рассмотреть процесс базовой настройки под minishop2. Конечно кому-то материал покажется сложным, но это будет своего рода тестом для вас — на сколько хорошо вы понимаете как устроен MODX. Если внимательно изучить представленный материал, то в целом импорт сможет наладить даже начинающий разработчик. Тут сразу же могу настоятельно посоветовать к изучению уроки по xPDO от Ильи Уткина, они многим здесь помогут в понимании происходящего. Так же сразу советую поставить консоль, если не стоит. Она очень сильно нам поможет в отладке.
Итак, у нас имеется интернет-магазин на minishop2 и вот такой вот CSV-файлик для примера. Попробуем настроить импорт.
Итак, у нас имеется интернет-магазин на minishop2 и вот такой вот CSV-файлик для примера. Попробуем настроить импорт.