Подпишитесь на RSS, чтобы всегда быть в курсе событий.
Комментарии
- Denis: Вот этого сильно не хватало, завтра посмотрим что получится.
- Vasiliy Ivanov: Супер! Нашелся API Woocommerce для создания своих платежных шлюзов: http://www.woothemes.com/wo...
- Denis: Хорошо, тогда за следующую неделю постараюсь сделать плагин и отдам вам для тестирования
- Vasiliy Ivanov: Это было бы просто супер! А то я уже 2 недели туплю и не запускаю сайт, потому что не могу все...
- Denis: Нет, на самом деле я решил вопрос как установить плагин без лишних «телодвижений». Завтра выложу...
Об удобстве
После недавнего разговора с Бенедиктом на тему удобства сайта и его завершенности возникли некоторые вопросы, а действительно что отличает мастерски сделанный сайт «класса люкс» от собранного на коленке ширпотреба сласса «сделанно и слава богу». Ниже мои и надеюсь не только мысли на это счет.Для начала оговоримся что на нашем сайте не едет верстка при просмотре [...]
Обо мне
Здравствуйте. Меня зовут Денис в определенных кругах так же известен как Widler. О чем этот сайт, да обо мне о моей жизни, увлечениях и друзьях о том что мне интересно и людях с которыми мне интересно общаться. Мои интересы: Web-программирование и все что с ним связано Ролевые полигонные игры free-lance(да берусь за разработку сайтов подробности смотрите [...]
Метки
Ссылки
Немного про снипеты в 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
Рубрики
Архивы
- Февраль 2012
- Январь 2012
- Ноябрь 2011
- Октябрь 2011
- Июль 2011
- Июнь 2011
- Май 2011
- Апрель 2011
- Март 2011
- Февраль 2011
- Январь 2011
- Декабрь 2010
- Август 2010
- Июль 2010
- Июнь 2010
- Март 2010
- Февраль 2010
- Январь 2010
- Декабрь 2009
- Ноябрь 2009
- Октябрь 2009
- Сентябрь 2009
- Август 2009
- Июнь 2009
- Май 2009
- Апрель 2009
- Март 2009
- Февраль 2009
- Январь 2009

