Вывод информации о новости в шаблоне файла attachment

Вывод информации о новости в шаблоне файла attachment

В DLE нельзя использовать теги от новости в шаблоне файла templates/Ваш_шаблон/attachment.tpl, например чтобы вывести необходимую информацию о самой новости, к которой привязан тот или иной файл. Немного подумав и еще раз посмотрев, как устроен движок, было найдено решение проблемы.
 
Установка:
1. Открыть engine/modules/show.full.php и найти:
$news_id = $row['id'];

Добавить ниже:
$row_malcov_id = $row['id'];
$row_malcov_autor = $row['autor'];
$row_malcov_title = $row['title'];
$row_malcov_xfields = $row['xfields'];

Найти:
$tpl->result['content'] = show_attach( $tpl->result['content'], $news_id );

Добавить ниже:
// Copyright (c) 2017 Artem Malcov | https://artem-malcov.ru/haki/vyvodim-informaciyu-o-novosti-v-fayle-attachment-v-dle

$tpl->result['content'] = str_replace ('{id_news}', $row_malcov_id, $tpl->result['content']);
$tpl->result['content'] = str_replace ('{autor_news}', $row_malcov_autor, $tpl->result['content']);
$tpl->result['content'] = str_replace ('{title_news}', $row_malcov_title, $tpl->result['content']);

$xfields_1 = explode("images", $row_malcov_xfields);
$xfields_1 = explode("||", $xfields_1[1]);
$tpl->result['content'] = str_replace ('{xfields_news_1}', substr($xfields_1[0], 1), $tpl->result['content']);

Готово!

Теперь в шаблоне файла attachment.tpl стали доступны следующие теги для вывода информации:
{id_news} – ID новости.
{autor_news} – автор новости.
{title_news} – заголовок новости.
{xfields_news_1} – дополнительное поле.

Обратите внимание: код используемый в хаке для доп.полей, берет информацию только с одного конкретного поля images. В вашем же случае вы меняете название нужного вам поля на свое, а при необходимости дублируете блок:
$xfields_1 = explode("images", $row_malcov_xfields);
$xfields_1 = explode("||", $xfields_1[1]);
$tpl->result['content'] = str_replace ('{xfields_news_1}', substr($xfields_1[0], 1), $tpl->result['content']);

и заполняете его своими данными, в таком случае вы сможете вывести несколько своих дополнительных полей.
 
Версия DLE: 11.x
 
Автор: Артем Мáлков
Источник:
  • Oxigen
  • 0
  • 652
Информация
Оставлять комментарии могут только зарегистрированные посетители.
  • Рейтинг@Mail.ru
  • Яндекс.Метрика