Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как разрешить комментировать только определённую категорию?

Как разрешить комментировать только определённую категорию?


     Шаблоны (TPL), Общие вопросы по PHP    3055

вопрос
Всем привет. Столкнулся с такой проблемой:
Два .tpl файла полной новости (для разных категорий). В одной категории можно оставлять комментарии, в другой нет. Решил попробовать сделать это следующим образом:

[category=1]{addcomments}[/category]

Но текст [category=1] и [/category] просто обволакивает форму добавления комментариев и отображается на странице.

Причём в одном fullstory.tpl присутствует {addcoments}, а во втором нет, но всё равно отображается форма добавления комментариев.

Пробовал очистить fullstory.tpl и создал такой же с другим названием и указал для какой категории, но ничего не изменилось.

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


7 комментариев

vitnet
PHP-developer

vitnet - -

А так?
[catlist=1]{addcomments}[/catlist]

Jeka778
Юзер

Jeka778 - -

тег не отображается, но теперь комментарии сверху, а форма для добавления комментариев ниже
[not-catlist] и [/not-catlist] - тоже пробовал, ничего...

Jeka778
Юзер

Jeka778 - -

Может можно как-то по этому примеру сделать, чтоб форма не отображалась?
Хотя странно, что она вообще отображается, ведь во втором файле .tpl нет {comments} и {addcomments}, получается они ставятся автоматически движком?..

sanderart
Юзер

sanderart - -

Да, они (теги {comments} и {addcomments}) автоматически ставятся движком в конце полной новости, если вручную не прописать. Поэтому как вариант предлагаю:
<div [catlist=1]style="display:none;"[/catlist]>{comments}{addcomments}</div>

Jeka778
Юзер

Jeka778 - -

На этом пока и остановился, но если серьёзно - не самый лучший вариант. Нужно думать...

FastFud
Юзер

FastFud - -

Попробуйте
/engine/modules/show.full.php найти
$tpl->compile( 'addcomments' );
$tpl->clear();
if ( strpos ( $tpl->result['content'], "<!--dleaddcomments-->" ) !== false ) {
    $tpl->result['content'] = str_replace ( "<!--dleaddcomments-->", $tpl->result['addcomments'], $tpl->result['content'] );
} else {
    $tpl->result['content'] .= $tpl->result['addcomments'];
}
и закомментируйте/удалите
else {
    $tpl->result['content'] .= $tpl->result['addcomments'];
}

Jeka778
Юзер

Jeka778 - -

FastFud, Спасибо, помогло!

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

наверх