
Комментарии
- Евгений: Доброго времени суток. Кто-то подскажет, как правильно настроить вывод мета-тэгов в результатах поиска. На...
- Евгений: Доброго времени суток. Возник вопрос по специфике движка SilverStripe. Есть основное зеркало сайта вида...
- Вадим: Спасибо помогло, сделал так date_timezone = Europe/Kiev
- John Doe: Не помогло, шаблон все ровно всегда такой же как у главной страницы ((
- Алексей: Здравствуйте. Спасибо за статью. Собираюсь осваивать MODx (сейчас сижу на WP) и статья очень пригодилась!...
Книга о MODx(продолжение)

Краткий обзор разделов и мои впечатления, о книге. Историю получения мною бесплатного экземкляра книги можно прочитать здесь. Тепрерь хотелось бы более подробно рассказать о структуре книги, что в ней можно найти и зачем это все нужно Итак: Глава 1: Что такое MODx. В данной главе простым языком описывается, что же это за зверь такой MODx. [...]
Работа с Excell файлами

При работе над одним из достаточно долгосрочных проектов меня возникла необходимость сохранять данные в виде файлов, которые можно было бы правит в Экселе и в последствии заливать обратно на сервер.Первым, что пришло на ум в данной ситуации был формат CSV. Просто и со вкусом, но в связи с достаточно сложной структурой которую приходилось бы хранить [...]
Немного про снипеты в MODx Revo
Проанализировав то, по каким запросам люди приходят на мой сайт, возникла идея написать пост на тему, что нужно сделать в MODx сниппете, что бы получилось как в evo. Раз возникла идея её надо реализовывать
В этой статье я постараюсь не лезть в глубины xPDO т.к сам не особо разобрался с ним. Это будет взгляд на систему со стороны программиста, которому надо быстренько сделать сниппет под свои текущие задачи.
Получение информации о текущем документе
Здесь всё достаточно просто информация, о текущем документе может быть получена через объект resource. Главное усвоить следующее: В ветке evo приходилось работать с ассоциативными массивами, в revo приходится работать с объектами.Далее всё просто.
//получаем id текущего документа $id=$modx->resource->get('id'); //получаем заголовок текущего документа $title=$modx->resource->get('pagetitle'); //получаем аннотацию текущего документа $intro=$modx->resource->get('introtext'); //получаем контент $content=$modx->resource->get('content'); //или $content=$modx->resource->getContent(); |
Выборка объектов
Хорошо, с текущим документом будем считать, что разобрались всё достаточно просто, но на одном документе много не сделаешь. Рассмотрим, как можно получить доступ к остальному содержанию сайта.
//получить документ с id=10 $doc=$modx->getObject('modResource',array('id'=>10)); //то же самое только вместо массива используем строку $doc=$modx->getObject('modResource','id=10'); |
дальше всё просто, берем примеры из предыдущего раздела и заменяем в них $modx->resource на $doc.
Теперь получим коллекцию объектов.
//получаем все опубликованные,не скрытые элементы из корневой //папки с шаблоном id которого не равен 3 $docs=$modx->getCollection('modResource',array('parent'=>0,'published'=>0,'hidemenu'=>0,'template:<>'=>3)); foreach($docs as $doc) { //обработка полученных результатов } |
Получение TV параметров
Здесь всё достаточно просто
//получить все TV для текущего документа. $tvs = $template->resource->getMany('TemplateVars'); |
либо
//получить TV для текущего документа с именем name_of_tv $tv = $modx->resource->getTVValue('name_of_tv');; |
Для документов, полученных при выборке, принцип тот же самый, только вместо $modx->resource ставим имя своего объекта.
Чанки
Далее рассмотрим вызов чанкак внутри сниппета. Пока что функции $modx->parseChunk(), $modx->getChunk() работоспособны, но в MODx 2.1 их уже не будет.
// создаем ассоциированный массив с параметрами $param=array('key1'=>'value1','key2'=>'value2'); // получаем объект для работы с чанком testChunk $chunk=$modx->getObject('modChunk',array('name'=>'testChunk')); // выводим содержимое чанка echo $chunk->process($param); |
Резюме
Я попытался в вкратце рассказать о нововведениях в MODx Revolution. Той части, что касается сниппетов. Более позробную информацию можно получить здесь
Читайте так же:
-
http://вразработке Neznae4ko
-
XkgoldxSite
-
http://loom-studio.net Denis
-
Рубрики
Счетчик
Качественная установка пластиковых окон
Качественная установка пластиковых окон компанией БФК по доступным ценам.
www.bfk.ru
Бака для душа из
Возможно изготовление бака для душа из нержавейки по вашим размерам и чертежам.
supergiper.ru