Задать вопрос

Как сделать единое ТВ поле для нескольких ресурсов в MODX?

Приходится периодически менять содержимое ТВ в большом количестве ресурсов. Содержимое ТВ одинаковое во всех ресурсах. Но контент в них разный. Очень неудобно открывать каждый ресурс и вручную в нем менять ТВ.
Как сделать, чтобы 1раз сменить содержимое ТВ и оно поменялось во множестве ресурсов с разным контентом?
  • Вопрос задан
  • 407 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
qork
@qork
{ background: #F00B42 }
Через плагин Console обращаемся к Modx по xPDO
<?php

$tvName = 'sale';
$tvValue = '40';

foreach($modx->getCollection('modResource') as $res){
    $res->setTVValue($tvName, $tvValue);
    $res->save();
}

Можешь почитать про xPDO побольше:
https://ilyaut.ru/xpdo/
Ответ написан
ruslan_aleev
@ruslan_aleev
MODX с cat-Art.ru
А на будущее - можно сделать нужное поле через ClientConfig и прописать в шаблоне, будет меняться в одном месте и не нужно будет править много TV.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@RGBPlus
Если данные в TV везде одинаковые, то зачем тогда вообще использовать TV, ели можно прописать в шаблоне (моно с условием для каждой категории к примеру)?
Ответ написан
Комментировать
Укажите параметр &docid (можно указать ID документа, чей TV надо обработать. По умолчанию: [[*id]]).
Например,
[[getImageList?
&tvname=`novelty`
&tpl=`tplNovelty`
&docid=`10`
]]
Можно сделать TV-поле доступным только для одного шаблона и заполнять его только на одной странице (ресурсе), а само поле через чанк использовать с другими шаблонами и страницами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы