Как записать вывод поля? 2.X

 
Посетитель
no avatar
Почетный донор проекта
Сообщений: 71
Друзья, нужна помощь. Пытаюсь в списке контента вывести значение дополнительного поля записи. Дело в том, что для записей из разных категорий - необходимо вывести разные дополнительные поля.

Собственно в файле mycontent_list.tpl.php я в цикле получаю ID категории:

Код PHP:
  1.  
  2. <?php
  3. $cat_id = $item['category_id'];
  4. ?>
  5.  
Далее в нужном месте файла, с помощью условий пытаюсь вывести значения полей:

Код PHP:
  1.  
  2. <?php
  3. if ($cat_id >= 2 && $cat_id <= 12) {
  4. echo html($item['dop_pole_1']);
  5. } elseif ($cat_id >= 13 && $cat_id <= 17) {
  6. echo html($item['dop_pole_2']);
  7. } else {
  8. echo html($item[$field['name']]);;
  9. }
  10. ?>
  11.  
В принципе, условия работают отлично, но вот конструкция: echo html($item['dop_pole_1']); не выводит значение поля (вместо него выводит единицу (1)).
Пробовал так echo $item['dop_pole_1']; тоже самое. Если так: $item['dop_pole_1']['html']; - ошибка Warning: Illegal string offset 'html'

Как получить значение поля в шаблоне?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2644
@Kerncraft1,
А тип этих дополнительных полей какой?
Реклама
cms
Посетитель
no avatar
Почетный донор проекта
Сообщений: 71
Ris:

@Kerncraft1,
А тип этих дополнительных полей какой?

Поле SEO текст от dwd
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2644
@Kerncraft1:
Поле SEO текст от dwd
Ну так напишите самому DWD.
Обычное текстовое поле выводится нормально. Посмотрите в базе, в конце концов, что там содержится в этом поле.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1902
@Kerncraft1:
Поле SEO текст от dwd
Если результат кешируется, то выведется нормально, но у Вас, видимо галочка эта не стоит, и выводится в другом формате, вроде yaml, но могу ошибаться, в этом не разбираюсь. Выхода два: 1 - поставить галочку в настройках поля, чтобы результат кешировался, и пересохранить все записи; 2 - спросить у dwd, как вывести результат в шаблоне без кеширования.
Посетитель
no avatar
Почетный донор проекта
Сообщений: 71
DWD помог разобраться с вопросом. Действительно, если кеширование результатов поля включено, то выводится вся информация нормально.
Если вдруг решили отключить кеширование, то вывести можно так - echo $field['handler']->setItem($item)->parse($item['dop_pole_1']);
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: