вывести поле родительского документа

Делимся интересными и полезными решениями
Аватара пользователя
duncan
Наш человек
Сообщения: 255
Зарегистрирован: 24 авг 2015, 22:44
Откуда: місто Лева
Благодарил (а): 37 раз
Поблагодарили: 17 раз

вывести поле родительского документа

Сообщение duncan » 23 ноя 2017, 13:06

мож кому пригодится или натолкнёт на мысли)

была задача выводить в дочернем документе данные из родительского поля, если не задано в дочернем
например, какое-то описание в родительском документе, которое подходит и дочернему
и шоб не копипастить в документах, то проще написать условие в шаблоне рубрики:

Код: Выделить всё

<?php
// я в курсі, шо ехо у функції -- це моветон)
// вивести поле батьківського документа, якщо не задане поле дочірнього
function choice($parent, $child){
   $arr = get_document('[tag:docid]');
   $parent = document_get_field($parent, $arr[document_parent]);
   $child = get_field($child);
   echo (!empty($child) ? $child : $parent);
}


и в шаблоне:

Код: Выделить всё

<?php choice(айди_родительского_поля, айди_дочернего); ?>


а в этом случае просто поле из родительского:

Код: Выделить всё

// вивести поле батьківського документа
function parentId($id)
{
   $arr = get_document('[tag:docid]');
   $parent = $arr[document_parent];
   echo document_get_field($id, $parent);
}
?>


и в шаблоне:

Код: Выделить всё

<?php parentId(айди_родительского_поля); ?>


покритикуйте или подскажите более элегантное решение)

Вернуться в «Интересные решения»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость