Роман

Роман

С нами с 06 октября 2013; Место в рейтинге пользователей: #369

MODX REVO MIGX + FENOM подскажите синтаксис вложенных MIGX полей?

Приветствую, обычно MIGX поля вывожу вот так:

Обычно ПЕРВЫЙ ВЫЗОВ так:
[[!getImageList? 
    &tvname=`migxtvname`
    &tpl=`tpl_collection`
    .....
]]
На Fenom так:
{set $tvname = json_decode(1 | resource : 'migxtvname', true)}
  {if $tvname}
     {foreach $tvname as $item}
        {$item.title}
     {/foreach}
  {/if}
Вот так ВТОРОЙ вызов, ВЛОЖЕННЫЙ, есть параметр VALUE.
TPL из первого вызова: tpl_collection
[[getImageList?
      &value=`[[+collection]]`
      ......
]]
А как на Fenom это будет выглядеть? Подскажите пожалуйста.
Понимаю что два foreach будет, но не пойму куда &value=`[[+collection]]` вписать.
Роман
19 июня 2022, 21:33
modx.pro
96
0

Как в MIGX вывести два TV в одном вызове?

Приветствую, подскажите пожалуйста, как в одном вызове MIGX вывести из двух MigxTV?
Если в tvname указать через запятую, так не сработает, может есть способ? Может как то на Fenom?

[[!getImageList? 
&tvname=`tv1,tv2` 
&tpl=`@CODE: [[+title]]`
]]
Роман
24 мая 2022, 13:44
modx.pro
126
0

FENOM Почему не работает include в foreach, что не так в синтаксисе?

Приветствую, использую Fenom на MODX REVO, xочу поменять синтаксис подключения чанков из файлов работает через $_modx->getChunk, а хочу попробовать через include или insert, подскажите что неправильно в этом синтаксисе?

{include 'file:chunks/'~$item.section~'.tpl'} Так не работает
{insert 'file:chunks/'~$item.section~'.tpl'} Так не работает

{set $sort = json_decode(1 | resource : 'field-sort', true)}
{if $sort}
{foreach $sort as $item}
{$_modx->getChunk('@FILE chunks/'~$item.section~'.tpl')}
{/foreach}
{/if}
Роман
19 мая 2022, 22:25
modx.pro
76
0

Как в MODX REVO на fenom в foreach подключить чанк из файла?

Приветствую, подскажите, какой синтаксис будет правильным в данной ситуации.
В цикле foreach нужно подключить чанк из фала {insert 'file:chunks/name.tpl'}
но имя чанка проставить из переменной цикла. Как это правильно написать?

Цикл работает, все выводит. Но если insert дописать в цикле то не работает ничего.
Вот так пробую вставку $item.section сделать с тильдой ~ но не работает. {insert 'file:chunks/'~$item.section~'.tpl'}

{set $sort = json_decode(1 | resource : 'field-sort', true)}
{if $sort}
{foreach $sort as $item}
{$item.section}
{insert 'file:chunks/'~$item.section~'.tpl'}
{/foreach}
{/if}
Что не так, как правильно написать что бы заработало?
Роман
30 мая 2021, 22:22
modx.pro
370
0

MODX REVO fenom migx в migx как вывести?

Приветствую,
Подскажите, а как вывести вложенное поле MIGX на fenom?
Обычно так второй вывод делается так

Первый вызов:
[[getImageList?
&tvname=`migxProductItem`
&tpl=`migxProductItem`
]]
Второй вызов в чанке migxProductItem такой:
[[getImageList?
&value=`[[+colorimage]]`
&tpl=`color-tpl`
]]
А как при foreach на fenom такое провернуть?

Первый вызов
{set $tvname = json_decode(1 | resource : 'migxtvname', true)}
{if $tvname}
{foreach $tvname as $item}
{$item.title}
{/foreach}
{/if}
А как второй сделать?
Роман
30 мая 2021, 14:54
modx.pro
238
0

Как лучше для скорости загрузки создавать чанки и шаблоны?

Приветствую, поделитесь опытом пожалуйста. Пользуюсь MODX Revolution в связке с FENOM.
Всегда стоял вопрос, как лучше создавать чанки и шаблоны.

1 Создавать в системе и отмечать чек как СТАТИЧНЫЙ и указывать пусть к файлу my_chunk.tpl в файловой системе с последующим вызовом таким образом {include 'my_chunk'}

2 Создавать сразу в файловой системе минуя базу данных, и сразу вызывать в нужном месте как
{include 'file:chunks/my_chunk.tpl'}

Как быстрее будет работать система? Или разницы нет?
Роман
09 апреля 2021, 16:45
modx.pro
345
0

Как на FENOM получить не parent а дедушку?

Приветствую, подскажите пожалуйста, как на FENOM получить родителя parenta?

parent так $_modx->resource.parent, а как получить его родителя, дедушку?
Роман
09 апреля 2021, 03:11
modx.pro
353
0

Как обновить TV поле MIGX после сохранения документа?

Приветствую, помогите решить задачу.

Есть MIGX TV field-facts, в нем есть поле с типом data.

Вкладки формы выглядят так
[
{"caption":"Информация", "fields": [
{"field":"date","caption":"Дата","inputTVtype":"date"}
]}
]
После того как в админке пользователь выберет дату и сохранит документ, есть задача отредактировать поле.
Решил делать плагином на событие OnDocFormSave, в нем запускаю сниппет cutDate где и редактирую поле date

if ($modx->event->name == 'OnDocFormSave') { 
$modx->runSnippet('cutDate');
}
Сниппет cutDate который должен переписать поле date

$migx = $modx->resource->getTVValue('field-facts');
$items = $modx->fromJSON($migx);
$output = array();
foreach($items as $item) {
  $item['date'] = 'newdate';
  $output[] = $item;
}
$modx->resource->setTVValue('field-facts', $modx->toJSON($output));
$modx->cacheManager->clearCache();      // Кэш тоже чистим
Но не работает это, где ошибся? Подскажите пожалуйста.
Роман
27 марта 2021, 17:54
modx.pro
333
0

MODX REVO как через API обновить tv поле у всех ресурсов одним запросом?

Приветствую, прямо скажу даже не знаю с какого бока подойти.
Есть 1000 ресурсов, у них есть content и я хочу первый абзац контента, записать в tv с именем title.

Первый абзац до точки, получить не проблема, $tvtitle = explode( ".", $content);
но как записать в tv и главное обновить все ресурсы махом, не понимаю :(

Куда копать? Я так понимаю в цикле нужно через сниппет? Или какой то SQL запрос через phpMyadmin это делать?
Роман
16 февраля 2021, 14:20
modx.pro
1 014
0

MODX REVO API как при добавлении ресурсов из массива пропустить дубликаты?

Приветствую, подскажите пожалуйста, вопрос скорее про php больше чем API modx revo, но только учусь, и не могу понять как пропустить дубли ресурсов при добавлении через API.

Есть некий массив $usersMedia['data'] с полями.
Через API MODX REVO добавляю ресурсы в цикле, все ок, но встречаются одинаковые страницы в массиве.
Я их решил исключить по уникальному ID которое при создании сохраняю в TV поле idpost
Сделал так.
if(!$docs = $modx->getCollection('modResource', array(
    'parent' => 2,  //родитель где уже есть добавленные ресурсы
    'published' => 1,
    'deleted' => 0,
    'searchable' => 1
))){return;}
Роман
24 января 2021, 20:08
modx.pro
566
0