Роман

Роман

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

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

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

[[!getImageList? 
&tvname=`tv1,tv2` 
&tpl=`@CODE: [[+title]]`
]]
Роман
24 мая 2022, 13:44
modx.pro
586
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
528
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
1 044
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
812
0

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

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

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

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

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

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

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

parent так $_modx->resource.parent, а как получить его родителя, дедушку?
Роман
09 апреля 2021, 03:11
modx.pro
1 105
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
1
710
0

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

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

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

Куда копать? Я так понимаю в цикле нужно через сниппет? Или какой то SQL запрос через phpMyadmin это делать?
Роман
16 февраля 2021, 14:20
modx.pro
1 636
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
1 237
0

MODX REVO API Как сохранить изображение по URL?

Подскажите пожалуйста, как сохранить изображение при создании страниц через API?
Использую следующий код для создания страниц через API MODX, все создается порядок.
Среди всех переменных полей есть и ссылка на изображение, сохраняю его в TV поле создаваемого ресурса.
НО так же хочу его скачивать в папку на хостинге сразу. Как это сделать?

Попробовал с помощью runProcessor но не получилось.

$data = [
    'id' => $value['id'],
    'file' => $value['media_url'],
];
$response = $modx->runProcessor('gallery/upload', $data, [
    'processors_path' => MODX_CORE_PATH . '/images/',
]);
Роман
18 января 2021, 17:15
modx.pro
1
1 434
0