Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Шаблоны (TPL) Как сделать редактирование новости под нужный шаблон .tpl?

Как сделать редактирование новости под нужный шаблон .tpl?


     11.03.2016    Шаблоны (TPL)    526

вопрос
Здравствуйте! Проблема в следующем. Есть несколько шаблонов .tpl для добавления новости, везде свои дополнительные поля. Например, music.tpl для музыки и films.tpl для фильмов. В music.tpl есть 5 дополнительных полей (Исполнитель, название трека, год, продолжительность, рейтинг). В films.tpl есть 7 дополнительных полей (Название фильма, год, жанр, рейтинг, продолжительность, актеры, режиссер).

Страницы для добавления новости, вместо /addnews.html имеют свои, а именно /addmusic.html и /addfilms.html

В файле engine/modules/show.short.php есть строка, которая отвечает за редактирование новости:

$tpl->set( '[edit]', "<a href=\"" . $config['http_home_url'] . "index.php?do=addnews&id=" . $row['id'] . "\" >" );
            $tpl->set( '[/edit]', "</a>" );


Если в этой строке изменить addnews на music, то редактирование новости с музыкой (music.tpl) происходит правильно. Редактирование фильмов уже неправильно, так как при редактирование есть только 5 полей от шаблона music.tpl.

Можно ли в коде вместо addnews указать такое значение, которое автоматически понимало бы в каком шаблоне .tpl необходимо редактировать новость?

Ответа пока нет


Комментарии пользователей (2)

misha-koder
7

299 | 77

misha-koder - 11 марта 2016 15:50 - Юзер

Проверяйте категорию и указывайте films вместо music.

nowheremany
192

1659 | 1292

nowheremany - 11 марта 2016 16:11 - Эксперт

/engine/modules/addnews.php
перед
$tpl->compile( 'content' );

вставляем
$tpl->set_block( "'\\[category={$category_id}\\](.*?)\\[/category\\]'si", "\\1" );
$tpl->set_block( "'\\[category=(.*?)\\](.*?)\\[/category\\]'si", "" );
$tpl->set_block( "'\\[not-category={$category_id}\\](.*?)\\[/category\\]'si", "" );
$tpl->set_block( "'\\[category=(.*?)\\](.*?)\\[/category\\]'si", "\\1" );


после
$categories_list = CategoryNewsSelection( $cat_list, 0 );

вставляем
if($category_id<1) $category_id = intval($row['category']);


Теперь в шаблоне addnews,tpl можно юзать тэг [category=][/category] и [not-category=][/not-category]
Соответсnвенно будет работать при такой ссылке ?do=addnews&category=musik

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы