Использование TV в modx

Рассмотрим базовые функции применения API Modx Revo, такие как получение документа, поля документа, дополнительного параметра, вызов сниппетов и чанков.

Подключаем Modx API.

define(‘MODX_API_MODE’, true); require_once($_SERVER[‘DOCUMENT_ROOT’].’/index.php’); $modx = new modX(); $modx->initialize(‘web’);

Получаем коллекцию документов

$docs = $modx->getCollection(‘modResource’, array(‘parent’ => 3)); // Перебираем документы foreach ($docs as $doc) < echo $doc->id.’ — ‘.$doc->pagetitle; >

Еще один способ получения коллекции.
Он «шире» первого и позволяет задавать дополнительные условия, например, сортировку

$q = $modx->newQuery(‘modResource’); $q->where(array( ‘parent’ => 5 )); $q->sortby(‘menuindex’, ‘asc’); $docs = $modx->getCollection(‘modResource’, $q);

Получаем документ

$doc = $modx->getObject(‘modResource’, 14); // Или так $doc = $modx->getObject(‘modResource’, array(‘alias’ => ‘our-alias’));

Получаем поля документа

echo $doc->pagetitle.’ — ‘.$doc->content;

Работаем с tv-параметрами

$tags = $doc->getTVValue(‘tags’); echo $tags; $tags = ‘Modx, Modx API, бекэнд’; $doc->setTVValue(‘tags’, $tags);

Примечание

Видеоурок 5. Использование компонента pdoTools в CMS MODX


При создании нового ресурса, если мы назначаем ему TV-параметр, то нужно вызвать метод save() после каждого задания параметра. В противном случае есть вариант, что дополнительный параметр не сохранится.

Вызываем сниппет с параметрами

$res = $modx->runSnippet(‘print_word’, array(‘word’ => ‘test’)); echo $res;

Получаем и выводим содержимое чанка

$chunk = $modx->getChunk(‘item_post’); echo $chunk;
Заходите в группу в контакте — https://vk.com/webdevkin

Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.

Источник: webdevkin.ru

Динамический список значений в TV-параметре

Если Вы используете в своих проектах TV-параметры, то наверняка знаете, что для них можно задавать список возможных значений. А что же делать, если список должен быть динамическим? Для чего это нужно, лучше проиллюстрировать на примере.

На сайте есть раздел «Каталог авто». Каждый дочерний документ в каталоге – это марка машины. Кроме этого, есть раздел «Статьи», конечно же на тему автомобилей:) В каждой статье может упоминаться об одной или нескольких марках машин. И мы решили, для лучшей навигации сайта, указывать, о каких марках идёт речь в конкретной статей (можно провести аналогию с тегами).

Еще по теме:  Как отключить радио на Смарт ТВ

дерево документов

Рис.1 — Дерево документов

Создаём TV-параметр, назовём его autolist. В поле «Возможные значения» можем просто перечислить все марки из нашего каталога. Но у этого способа есть ряд недостатков. Во-первых, нам лень делать это вручную. Во-вторых, если в каталог добавится ещё хоть одна марка, мы должны не забыть дописать ее в этот списке.

Перенос верстки в MODx. Дополнительные поля TV MODx

В-третьих, используя статический список (например, BMW||Honda||Porshe) в базе данных значение параметра autolist будет хранится в таком же (словесном) виде. И если вдруг придётся переименовать, или исправить ошибку в названии марки авто, такие записи в таблице станут нерабочими.

статический список значений TV-параметра

Рис.2 — Статический список значений TV-параметра

Чтобы забыть про все эти проблемы создадим динамический список автомобилей. В списке авто, на странице статьи, будут выводится все текущие документы (марки) из папки «Каталог авто». Для этого в поле «Возможные значения» в режиме редактирования TV-параметра, вызовем сниппет:

динамический список значений TV-параметра

Рис.3 — Динамический список значений TV-параметра

Скорее всего, для многих уже стало всё предельно ясно, но я продолжу. Итак создаём сниппет формирования списка авто:

//—————————————————————————- // выбираем неудалённые документы их папки «каталог авто» (3) //—————————————————————————- $query=»SELECT id, pagetitle FROM modx_site_content WHERE parent=3 AND deleted=0 ORDER by pagetitle»; $result=mysql_query($query) or die(‘Database query error!’); $Autos=array(); while ($Data=mysql_fetch_object($result))< $Autos[$Data->id]=$Data->pagetitle; > //—————————————————————————- // формируем строку для вывода в поле «Возможные значения» // в формате (||название==id||название==id) //—————————————————————————- $list=»; foreach ($Autos as $id=>$auto) < $list.=’||’.$auto.’==’.$id; > return $list; ?>

Стоит пояснить формат вывода: ||название==id||название==id:

  • первый разделитель с строке «возможные значения» даст в результате пустой первый элемент списка
  • || — разделить (отделяет один пункт списка от другого)
  • название – видимая часть пункта списка
  • id — значение пункта списка
Еще по теме:  Vip TV что за канал

То есть html-код вывода TV-параметра autolist на странице документа будет следующий:

«tvauto[]» name=»tvauto[]» multiple=»multiple» onchange=»documentDirty=true;» size=»8″> «»> «10»>Audi «4»>BMW . «15»>Volkswagen

вывод TV-параметра с динамическим списком значений на странице документа

Рис.5 — TV-параметр с динамическим списком значений на странице документа

В базе данных значение TV-параметра будет следующим:

запись в базе данных

Рис.6 — Запись в базе данных

Полезное

  • Подсветка php-кода для сайта
  • Сколько зарабатывают веб-разработчики?
  • Рассуждения о задачах разработчика
  • Правила работы с UTF-8
  • Подходы к реализации меню

CMS MODx

новая работа

  • Перенос сайта на новый хостинг (на примере CMS Modx)
  • Динамический список значений в TV-параметре

CMS MODx — админка

  • Общий вид
  • Наполнение сайта
  • Состояние документа
  • Конфигурации сайта
  • Словарь терминов

PHP

  • Слияние массивов в PHP
  • Задачки на знание PHP для начинающих
  • Unable to load dynamic library php_curl.dll
  • Изображение [] не может быть показано, так как содержит ошибки.

Источник: scabbiaza.net

MODX: Управление сайтом

Как быстро создать новые страницы на сайте? Сложно ли изменить текст на странице и цену товаров? Как управлять сайтом на модекс?

3.5K открытий
О системе MODX

MODX — это инструмент (CMS) для управления, редактирования, обновления контента на сайте.

Почему стоит выбрать MODX

Modx не ограничивает веб-мастера в свободе выражения, предлагая сделать сайт любого типа — от простого одностраничника с предложением услуги до корпоративного сайта или интернет-магазина.

  • Простая, интуитивно понятная панель администратора.
  • Удобный и функциональный модуль SEO, позволяющий указать настройки, необходимые для внутренней оптимизации и продвижения страницы в поисковых системах.
  • Адекватные требования к хостингу. Для работы Modx достаточно наличия базы данных MySQL, веб-сервера Apache или IIS и поддержка PHP.
  • Собственный синтаксис тегов. Сначала это кажется необычным, но на практике становится ясно, что такой подход позволяет оставлять код шаблона чистым и понятным, в отличие от других Open Source CMS.
  • Благодаря быстрому и удобному шаблонизатору Fenom можно значительно ускорить разработку проекта, время на выполнение запросов, сократить количество чанков, использовать циклы в чанках/шаблонах и многое другое. Если говорить простым языком — проект будет работать быстро, а разработчику CMS не будет вставлять палки в колеса.
Еще по теме:  Как установить LG TV plus

Меня зовут Татьяна Кукушкина, я работаю в веб-студии Zingy Projects, специализирующейся на разработке веб-сайтов на платформе modx и фреймворках Laravel, Yii2.

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

Мировому сообществу и нам нравится эта система, она бесплатная (Open Source) и удобная, поэтому она эффективно решает бытовые вопросы ведения веб-сайта. Я часто сравниваю ее использование с созданием странички в ВК, когда объясняю заказчикам, как они будут вносить информацию на сайт. Много полей, заполняешь, сохраняешь и смотришь как выглядит страница. Все очень просто! Убедитесь сами!

Изменить текст на главной

Изменение текста на главной странице я покажу на сайте нашей компании, на других сайтах я не имею права проводить такие эксперименты. Вот тут вы можете посмотреть, как выглядит главная страница —

Открываем админку, нажимаем на нужный раздел и сразу видим список товаров с ценами.

​Цену можно изменить прямо тут. Нужно кликнуть мышкой два раза на цену и появится окно редактирования. Далее нажимаем ENTER и все! Очень удобно и не надо проваливаться в карточку товара.

Также можно и провалиться в карточку товара и изменить цену там.

Нажав на правую клавишу мыши (открывается окно с выбором действия). Выбираем изменить и сохраняем. Все!

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

Надеюсь, что теперь Вам стало понятнее, как работать с системой администрирования Modx. Задавайте вопросы, на все отвечу.

Источник: vc.ru

Оцените статью
Добавить комментарий