Снипет для выбора чанков
Добрый день, вопрос из разряда песочницы.
Есть 2 чанка, первый должен выводить поля документа [[*link_attributes]] и [[*longtitle]] в которых у меня произвольных данные. Второй на тот случай если мне не подходит первый.
Собственно вопроса 2.
1. Допустимо ли использовать поля документа [[*link_attributes]] и [[*longtitle]] со своими произвольными данными, чтоб не плодить TV? Ну раз они есть чё им пустовать.
2. Не догоню как набросать снипет чтоб при отсутствии данных в любом из полей [[*link_attributes]] и [[*longtitle]], первый снипет не выводился, а выводился второй, который выпоняет роль заглушки как раз на такой случай.
Есть 2 чанка, первый должен выводить поля документа [[*link_attributes]] и [[*longtitle]] в которых у меня произвольных данные. Второй на тот случай если мне не подходит первый.
Собственно вопроса 2.
1. Допустимо ли использовать поля документа [[*link_attributes]] и [[*longtitle]] со своими произвольными данными, чтоб не плодить TV? Ну раз они есть чё им пустовать.
2. Не догоню как набросать снипет чтоб при отсутствии данных в любом из полей [[*link_attributes]] и [[*longtitle]], первый снипет не выводился, а выводился второй, который выпоняет роль заглушки как раз на такой случай.
Комментарии: 10
Проверка:
Вызов:
if(empty($field1) || empty($field2)) {
$modx->runSnippet('Snippet1');
} else {
$modx->runSnippet('Snippet2');
}
Но вообще, лучше и сниппеты не городить, а прямо в условии все прописать.Вызов:
[[Snippet? &field1=`[[*link_attributes]` &field2=`[[*longtitle]]`]]
Блин моя ошибка
первый снипет не выводился, а выводился второй,Конечно же чанк, а не снипет. Снипет я думаю должен быть один, А чанки в зависимости от условия разными. Сорри.
Тогда так:
if(empty($field1) || empty($field2)) {
$modx->getChunk('chunk1');
} else {
$modx->getChunk('chunk2');
}
Как это делать с tv chekbox (chek, unchek)!?
Мой код:
Мой код:
{if $_modx->resource.media !== 'yes'}
video
{else}
photo
{/if}
Фронте работает норм но все равно вторая часть выполняется в бакенд ошибкой
А какая ошибка выдается?
PHP warning: Invalid argument supplied for foreach()
Фото отправляет запрос на vk
Ошибка не в условии. Проверяйте, что там у Вас в этом photo.
Вот этот част выдает ошибку!
foreach ($response as $res) {
$res['class'] = $class;
$output .= $pdo->getChunk($tpl, $res);
}
Как сделать чтоб 1 или 2 част не работал при выводе (chek, unchek) вывод мой код через сниппет не работает
Из ошибки следует, что у Вас проблема с переменной $response. То ли она не является массивом, то ли не существует, то ли ничего не содержит.
Смотрите, что там до этих строк, как формируется эта $response и, соответственно, проверяйте.
Смотрите, что там до этих строк, как формируется эта $response и, соответственно, проверяйте.
Большое спасибо за помощь.
В итоге у меня получился такой чанк
В итоге у меня получился такой чанк
[[!Snipet? &field1=`[[*link_attributes]]` &field2=`[[*longtitle]]` ]]
И такой снипет<?php
if(!empty($field1) && !empty($field2)) {
$res=$modx->getChunk('chunk1');
} else {
$res=$modx->getChunk('chunk2');
}
return $res;
Работает именно так как и задумано, если указанные поля не пустые отрабатывает первый чанк, если хоть одно из двух полей пустое, отрабатывает второй чанк. Работает не значит правильно. Нет ли здесь косяков?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.