Откройте файл: engine/ajax/addcomments.phpНайдите в нем:
foto, fullname, land,
Замените на:
foto, fullname, land, forum_topic_count, forum_post_count, forum_thanks_count, forum_warning, forum_inseption,
Эту операцию повторите для следующих файлов:
engine/ajax/comments.php
engine/modules/show.full.php
engine/modules/lastcomments.phpОткройте файл: engine/classes/comments.class.phpНайдите в нем:
global $config, $tpl, $is_logged
Замените на:
global $apiBullet, $config, $tpl, $is_logged
На следующей строке добавьте:
if(!$apiBullet) {
require_once ENGINE_DIR . '/bullet_energy/api/bullet_api.class.php' ;
}
В этом же файле найдите:
$tpl->set('{group-name}', $user_group[$row['user_group']]['group_prefix'] . $user_group[$row['user_group']]['group_name'] . $user_group[$row['user_group']]['group_suffix']) ;
После добавьте:
$row['forum_inseption'] = unserialize($row['forum_inseption']) ;
$tpl->set('{countTopic}', $row['forum_topic_count']) ;
if($row['forum_topic_count'] > 0) {
$tpl->set('[linckTopic]', '<a href="' . $apiBullet->link->userTopic($row['name']) . '">') ;
$tpl->set('[/linckTopic]', '</a>') ;
} else {
$tpl->set('[linckTopic]', '') ;
$tpl->set('[/linckTopic]', '') ;
}
$tpl->set('{countMessage}', $row['forum_post_count']) ;
if($row['forum_post_count'] > 0) {
$tpl->set('[linckPost]', '<a href="' . $apiBullet->link->userMessage($row['name']) . '">') ;
$tpl->set('[/linckPost]', '</a>') ;
} else {
$tpl->set('[linckPost]', '') ;
$tpl->set('[/linckPost]', '') ;
}
$tpl->set('{like}', $row['forum_thanks_count']) ;
if($row['forum_thanks_count'] > 0) {
$tpl->set('[linckLike]', '<a href="' . $apiBullet->link->userLike($row['name']) . '">') ;
$tpl->set('[/linckLike]', '</a>') ;
} else {
$tpl->set('[linckLike]', '') ;
$tpl->set('[/linckLike]', '') ;
}
$trophies = count($row['forum_inseption']['honor']) ;
$tpl->set('{countTrophies}', $trophies) ;
if($trophies > 0) {
$tpl->set('[linckTrophies]', $apiBullet->link->userTrophies($row['name'], 0, false, '')) ;
$tpl->set('[/linckTrophies]', '</a>') ;
} else {
$tpl->set('[linckTrophies]', '') ;
$tpl->set('[/linckTrophies]', '') ;
}
if($row['forum_inseption']['title'] and $apiBullet->cache['title'][$row['forum_inseption']['title']]['title']) {
$tpl->set_block("'\\[titleForum\\](.*?)\\[/titleForum\\]'si", "\\1") ;
$tpl->set('{titleForum}', $apiBullet->cache['title'][$row['forum_inseption']['title']]['title']) ;
} else {
$tpl->set_block("'\\[titleForum\\](.*?)\\[/titleForum\\]'si", "") ;
$tpl->set('{titleForum}', '') ;
}
В шаблоне комментариев (comments.tpl) будут доступны следующие теги:
[linckTopic]ХХХ[/linckTopic] - Текст внутри этих тегов будет заключен в ссылку на темы, если ихбольше нуля.
{countTopic} - Количество тем на форуме.
[linckPost]ХХХ[/linckPost] - Текст внутри этих тегов будет заключен в ссылку на сообщения, если их больше нуля.
{countMessage} - Количество сообщений на форуме.
[linckTrophies]ХХХ[/linckTrophies] - Текст внутри этих тегов будет заключен в ссылку на трофеи пользователя, если их больше нуля.
{countTrophies} - Количество трофеев пользователя.
[linckLike]XXX[/linckLike] Текст внутри этих тегов будет заключен в ссылку на историю симпатий пользователя, если симпатий больше нуля.
{like} - Количество симпатий у пользователя.
[titleForum][/titleForum] - Текст внутри этих тегов будет выведен если у пользователя есть звание.
{titleForum} - Звание пользователя.
Откройте файл: engine/modules/profile.phpНайдите в нем:
$tpl->set('{usertitle}', stripslashes($row['name'])) ;
После добавьте:
$row['forum_inseption'] = unserialize($row['forum_inseption']) ;
$tpl->set('{countTopic}', $row['forum_topic_count']) ;
if($row['forum_topic_count'] > 0) {
$tpl->set('[linckTopic]', '<a href="' . $apiBullet->link->userTopic($row['name']) . '">') ;
$tpl->set('[/linckTopic]', '</a>') ;
$tpl->set('[not-Topic]', "") ;
$tpl->set('[/not-Topic]', "") ;
} else {
$tpl->set('[linckTopic]', '') ;
$tpl->set('[/linckTopic]', '') ;
$tpl->set_block("'\\[not-Topic\\](.*?)\\[/not-Topic\\]'si", "") ;
}
$tpl->set('{countMessage}', $row['forum_post_count']) ;
if($row['forum_post_count'] > 0) {
$tpl->set('[linckPost]', '<a href="' . $apiBullet->link->userMessage($row['name']) . '">') ;
$tpl->set('[/linckPost]', '</a>') ;
$tpl->set('[not-Post]', "") ;
$tpl->set('[/not-Post]', "") ;
} else {
$tpl->set('[linckPost]', '') ;
$tpl->set('[/linckPost]', '') ;
$tpl->set_block("'\\[not-Post\\](.*?)\\[/not-Post\\]'si", "") ;
}
$tpl->set('{like}', $row['forum_thanks_count']) ;
if($row['forum_thanks_count'] > 0) {
$tpl->set('[linckLike]', '<a href="' . $apiBullet->link->userLike($row['name']) . '">') ;
$tpl->set('[/linckLike]', '</a>') ;
$tpl->set('[not-Like]', "") ;
$tpl->set('[/not-Like]', "") ;
} else {
$tpl->set('[linckLike]', '') ;
$tpl->set('[/linckLike]', '') ;
$tpl->set_block("'\\[not-Like\\](.*?)\\[/not-Like\\]'si", "") ;
}
$trophies = count($row['forum_inseption']['honor']) ;
$tpl->set('{countTrophies}', $trophies) ;
if($trophies > 0) {
$tpl->set('[linckTrophies]', $apiBullet->link->userTrophies($row['name'], 0, false, '')) ;
$tpl->set('[/linckTrophies]', '</a>') ;
$tpl->set('[not-Trophies]', "") ;
$tpl->set('[/not-Trophies]', "") ;
} else {
$tpl->set('[linckTrophies]', '') ;
$tpl->set('[/linckTrophies]', '') ;
$tpl->set_block("'\\[not-Trophies\\](.*?)\\[/not-Trophies\\]'si", "") ;
}
if($row['forum_inseption']['title'] and $apiBullet->cache['title'][$row['forum_inseption']['title']]['title']) {
$tpl->set_block("'\\[titleForum\\](.*?)\\[/titleForum\\]'si", "\\1") ;
$tpl->set('{titleForum}', $apiBullet->cache['title'][$row['forum_inseption']['title']]['title']) ;
} else {
$tpl->set_block("'\\[titleForum\\](.*?)\\[/titleForum\\]'si", "") ;
}
В шаблоне личного профиля пользователя(userinfo.tpl) будут доступны следующие теги:
[linckTopic]ХХХ[/linckTopic] - Текст внутри этих тегов будет заключен в ссылку на темы, если ихбольше нуля.
{countTopic} - Количество тем на форуме.
[linckPost]ХХХ[/linckPost] - Текст внутри этих тегов будет заключен в ссылку на сообщения, если их больше нуля.
{countMessage} - Количество сообщений на форуме.
[linckTrophies]ХХХ[/linckTrophies] - Текст внутри этих тегов будет заключен в ссылку на трофеи пользователя, если их больше нуля.
{countTrophies} - Количество трофеев пользователя.
[linckLike]XXX[/linckLike] Текст внутри этих тегов будет заключен в ссылку на историю симпатий пользователя, если симпатий больше нуля.
{like} - Количество симпатий у пользователя.
[titleForum][/titleForum] - Текст внутри этих тегов будет выведен если у пользователя есть звание.
{titleForum} - Звание пользователя.
В форуме предусмотрен вывод последних сообщений на сайте, что бы вывести последние сообщения нужно сделать следующие:
ДЛЯ ВЕРСИИ DLE 9-10.0
Открыть корневой файл /index.phpПосле строки:
require_once ROOT_DIR . '/engine/init.php';
Добавить:
$apiBullet->getLastPost(array('count' => 5));
В этом же файле, после строки:
$tpl->load_template('main.tpl');
Добавить:
$tpl->set('{forumPost}', $tpl->result['last_topic_box']);
ДЛЯ ВЕРСИИ DLE 10-11 изменения вносить в /engine/modules/main.phphttp://be.rdn-team.com/forum/showtopic-68/findpost-3255/После этого в шаблоне в нужном месте вставить тег
{forumPost}Количество сообщений можно изменить поменяв число 5 на нужное вам.
Открыть файл engine/modules/show.full.phpПосле строки:
$tpl->copy_template = preg_replace("#\{date=(.+?)\}#ie", "langdate('\\1', '{$row['date']}')", $tpl->copy_template);
Добавить:
if ( $view_template != "print") {$tpl->set('{forumDiscus}', $apiBullet->setLinckDiscus(array(
'idPost' => $row['id'],
'id' => $row['topic_id'],
'tree' => $category_id))) ;}
Для версий ниже 9.7 Открыть файл engine/engine.php в двух местах найти:
editor, reason, view_edit, tags, metatitle
Заменить на:
editor, reason, view_edit, tags, metatitle, topic_id
В шаблон полной новости в нужное место вставить тег
{forumDiscus} (Для краткой новости нужно редактировать файл show.short.php в той же папке)
Воспользуйтесь тегами:
[not-aviable=forum]Блок который не нужно отображать на странице форума[/not-aviable]
в шаблоне main.tpl
Сообщение отредактировал 2 октября 2016 - 22:25