Topic SEO description and keywords
Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas
Правила форума
----
----
-
- Заглянул на огонек
- Сообщения: 8
- Стаж: 10 лет 2 месяца
- Откуда: Красное-на-Волге
- Контактная информация:
Topic SEO description and keywords
Вопрос решился установкой Index SEO. Всем спасибо. Форум очень полезен!!!
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
Так этот мод только темы цепляет, на прочих страницах все пусто и будет
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
Topic SEO description and keywords
Подскажите. пожалуйста, как прописать description для файлов http://форум.ru/rules.php и http://форум.ru/rules/ (если такое возможно)?
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
могу посоветовать прописать только так (в шапке, overall_header.html):
если у вас (а так оно скорее всего и есть) уже что-то там прописано - просто добавьте эту строку к тому, что уже есть.
это описание должно выводиться только в теме rules.php
попробуйте.
Код: Выделить всё
<meta name="description" content="<!-- IF SCRIPT_NAME == "rules" -->здесь пропишите описание<!-- ENDIF -->" />
это описание должно выводиться только в теме rules.php
попробуйте.
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
вы неправильно сделали. я сказал "добавить в строку к тому, что у вас уже есть". то есть не надо прописывать второй <meta...
вот, посмотрите, как на моём сайте отдельно для разных отделов прописано описание:
то есть надо добавлять дальше в строчку....
вот, посмотрите, как на моём сайте отдельно для разных отделов прописано описание:
Код: Выделить всё
<meta name="description" content="<!-- IF SEO_DESC -->{SEO_DESC}<!-- ENDIF --><!-- IF SCRIPT_NAME == "viewforum" -->{FORUM_SEO_DESC}<!-- ENDIF -->" />
Последний раз редактировалось белк 12 фев 2017, 06:21, всего редактировалось 1 раз.
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
Topic SEO description and keywords
Да, невнимательно читала. Спасибо )
Topic SEO description and keywords
Сережа, а что будет в описании, если поле дискрипшина в теме не заполненно? Что выведет поисковик?
И чем отличается заголовок от заголовка для поисковика? Если вы говорите, что тайтлом поисковик увидит стандартный залоговок, то какую функцию играет вторая строячка ориентированная на поисковик? Они не должны дублировать друг друга?
И чем отличается заголовок от заголовка для поисковика? Если вы говорите, что тайтлом поисковик увидит стандартный залоговок, то какую функцию играет вторая строячка ориентированная на поисковик? Они не должны дублировать друг друга?
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
Ничего, но можно условием выкрутиться + доработка в php кодеmadam-ka писал(а):если поле дискрипшина в теме не заполненно? Что выведет поисковик?
Заголовок можно сделать кратким для пользователей, а для поисковиков вбить длинное информативное название темыmadam-ka писал(а):И чем отличается заголовок от заголовка для поисковика?
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
заклинило. хотел вывести на портал описание тем, как в доработках к похожим темам и новым. не получается. где-то туплю...
есть какое-нибудь решение? в сети ничего не нашёл.
есть какое-нибудь решение? в сети ничего не нашёл.
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
А портал какой? Обычно правки вносятся в php файл отвечающий за блок тем на портале, там в запрос к бд добавляется еще вытяжка сео описания, вы как делали?
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
портал Board3 Portal 2.0.2 (у меня портал на трекере стоит, но ведь модули те же самые)
php-файл portal/modules/portal_news.php
прописка
после
вставил
шаблон template/portal/modules/news_compact_center.html
прописка
после
вставил
вроде правильно... нет?
php-файл portal/modules/portal_news.php
прописка
после
Код: Выделить всё
'TITLE' => $fetch_news[$i]['topic_title'],
Код: Выделить всё
'SEO_DESC_TOPIC' => $row['seo_desc'],
шаблон template/portal/modules/news_compact_center.html
прописка
после
Код: Выделить всё
<a title="" href="{news_row.U_VIEW_COMMENTS}" class="topictitle">{news_row.TITLE}</a>
Код: Выделить всё
<!-- IF news_row.SEO_DESC_TOPIC --><br />{news_row.SEO_DESC_TOPIC}<!-- ENDIF -->
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
Почти, дайте полный код portal/modules/portal_news.php, скорее всего там же нужно немножко запрос к бд подредактировать, чтоб он нужное поле вытягивал
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
Спасибо. вот код:
Код: Выделить всё
<?php
/**
*
* @package Board3 Portal v2 - News
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package News
*/
class portal_news_module
{
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
public $columns = 21;
/**
* Default modulename
*/
public $name = 'LATEST_NEWS';
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
public $image_src = '';
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
public $language = 'portal_news_module';
public function get_template_center($module_id)
{
global $config, $template, $db, $user, $auth, $cache, $phpEx, $phpbb_root_path;
$news = request_var('news', -1);
$news = ($news > $config['board3_number_of_news_' . $module_id] -1) ? -1 : $news;
$user->add_lang('viewforum');
$start = request_var('np', 0);
$start = ($start < 0) ? 0 : $start;
// Fetch news from portal/includes/functions.php with check if "read full" is requested.
$portal_news_length = ($news < 0) ? $config['board3_news_length_' . $module_id] : 0;
$fetch_news = phpbb_fetch_posts($module_id, $config['board3_news_forum_' . $module_id], $config['board3_news_permissions_' . $module_id], $config['board3_number_of_news_' . $module_id], $portal_news_length, 0, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news', $start, $config['board3_news_exclude_' . $module_id]);
// Any news present? If not terminate it here.
if (sizeof($fetch_news) == 0)
{
$template->assign_block_vars('news_row', array(
'S_NO_TOPICS' => true,
'S_NOT_LAST' => false,
));
}
else
{
// Count number of posts for news archive, considering if permission check is dis- or enabled.
if ($config['board3_news_archive_' . $module_id])
{
$permissions = $config['board3_news_permissions_' . $module_id];
$forum_from = $config['board3_news_forum_' . $module_id];
$forum_from = (strpos($forum_from, ',') !== false) ? explode(',', $forum_from) : (($forum_from != '') ? array($forum_from) : array());
$str_where = '';
if($permissions == true)
{
$disallow_access = array_unique(array_keys($auth->acl_getf('!f_read', true)));
}
else
{
$disallow_access = array();
}
if($config['board3_news_exclude_' . $module_id] == true)
{
$disallow_access = array_merge($disallow_access, $forum_from);
$forum_from = array();
}
if(sizeof($forum_from))
{
$disallow_access = array_diff($forum_from, $disallow_access);
if(!sizeof($disallow_access))
{
return array();
}
foreach($disallow_access as $acc_id)
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id = $acc_id OR ";
}
}
else
{
foreach($disallow_access as $acc_id)
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id <> $acc_id AND ";
}
}
$str_where = (strlen($str_where) > 0) ? 'AND (' . trim(substr($str_where, 0, -4)) . ')' : '';
$topic_type = ($config['board3_show_all_news_' . $module_id]) ? '(topic_type <> ' . POST_ANNOUNCE . ') AND (topic_type <> ' . POST_GLOBAL . ')' : 'topic_type = ' . POST_NORMAL;
$sql = 'SELECT COUNT(topic_id) AS num_topics
FROM ' . TOPICS_TABLE . '
WHERE ' . $topic_type . '
AND topic_approved = 1
AND topic_moved_id = 0
' . $str_where;
$result = $db->sql_query($sql);
$total_news = (int) $db->sql_fetchfield('num_topics');
$db->sql_freeresult($result);
}
$topic_tracking_info = get_portal_tracking_info($fetch_news);
if($news < 0)
// Show the news overview
{
$count = $fetch_news['topic_count'];
for ($i = 0; $i < $count; $i++)
{
if(isset($fetch_news[$i]['striped']) && $fetch_news[$i]['striped'] == true)
{
$open_bracket = '[ ';
$close_bracket = ' ]';
$read_full = $user->lang['READ_FULL'];
}
else
{
$open_bracket = '';
$close_bracket = '';
$read_full = '';
}
// unread?
$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$read_full_url = (isset($_GET['np'])) ? 'np='. $start . '&news=' . $i . '#n' . $i : 'news=' . $i . '#n' . $i;
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&t=' . $topic_id);
if ($config['board3_news_archive_' . $module_id])
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_news, $config['board3_number_of_news_' . $module_id], $start, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news');
}
$replies = ($auth->acl_get('m_approve', $forum_id)) ? $fetch_news[$i]['topic_replies_real'] : $fetch_news[$i]['topic_replies'];
$folder_img = $folder_alt = $topic_type = $folder = $folder_new = '';
switch ($fetch_news[$i]['topic_type'])
{
case POST_STICKY:
$folder = 'sticky_read';
$folder_new = 'sticky_unread';
break;
case POST_ANNOUNCE:
$folder = 'announce_read';
$folder_new = 'announce_unread';
break;
default:
$folder = 'topic_read';
$folder_new = 'topic_unread';
if ($config['hot_threshold'] && $replies >= $config['hot_threshold'] && $fetch_news[$i]['topic_status'] != ITEM_LOCKED)
{
$folder .= '_hot';
$folder_new .= '_hot';
}
break;
}
if ($fetch_news[$i]['topic_status'] == ITEM_LOCKED)
{
$folder .= '_locked';
$folder_new .= '_locked';
}
if ($fetch_news[$i]['topic_posted'])
{
$folder .= '_mine';
$folder_new .= '_mine';
}
$folder_img = ($unread_topic) ? $folder_new : $folder;
$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($fetch_news[$i]['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');
// Grab icons
$icons = $cache->obtain_icons();
$template->assign_block_vars('news_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment'] && $config['allow_attachments']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ($forum_id) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'USERNAME_FULL_LAST' => $fetch_news[$i]['username_full_last'],
'U_USER_PROFILE' => (($fetch_news[$i]['user_type'] == USER_NORMAL || $fetch_news[$i]['user_type'] == USER_FOUNDER) && $fetch_news[$i]['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $fetch_news[$i]['user_id']) : '',
'TIME' => $fetch_news[$i]['topic_time'],
'LAST_POST_TIME' => $user->format_date($fetch_news[$i]['topic_last_post_time']),
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'N_ID' => $i,
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt],
'TOPIC_ICON_IMG' => (!empty($icons[$fetch_news[$i]['icon_id']])) ? $icons[$fetch_news[$i]['icon_id']]['img'] : '',
'TOPIC_ICON_IMG_WIDTH' => (!empty($icons[$fetch_news[$i]['icon_id']])) ? $icons[$fetch_news[$i]['icon_id']]['width'] : '',
'TOPIC_ICON_IMG_HEIGHT' => (!empty($icons[$fetch_news[$i]['icon_id']])) ? $icons[$fetch_news[$i]['icon_id']]['height'] : '',
'FOLDER_IMG' => $user->img('topic_read', 'NO_NEW_POSTS'),
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id'] . '&p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'U_VIEW_UNREAD' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id'] . '&view=unread#unread'),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx", $read_full_url),
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'S_NOT_LAST' => ($i < sizeof($fetch_news) - 1) ? true : false,
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
'S_HAS_ATTACHMENTS' => (!empty($fetch_news[$i]['attachments'])) ? true : false,
));
if(!empty($fetch_news[$i]['attachments']))
{
foreach ($fetch_news[$i]['attachments'] as $attachment)
{
$template->assign_block_vars('news_row.attachment', array(
'DISPLAY_ATTACHMENT' => $attachment)
);
}
}
if ($config['board3_number_of_news_' . $module_id] <> 0 && $config['board3_news_archive_' . $module_id])
{
$template->assign_vars(array(
'NP_PAGINATION' => $pagination,
'TOTAL_NEWS' => ($total_news == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_news),
'NP_PAGE_NUMBER' => on_page($total_news, $config['board3_number_of_news_' . $module_id], $start))
);
}
}
}
else
// Show "read full" page
{
$i = $news;
$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$open_bracket = '[ ';
$close_bracket = ' ]';
$read_full = $user->lang['BACK'];
$read_full_url = (isset($_GET['np'])) ? append_sid("{$phpbb_root_path}portal.$phpEx", "np=$start#n$i") : append_sid("{$phpbb_root_path}portal.$phpEx#n$i");
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&t=' . $topic_id);
if ($config['board3_news_archive_' . $module_id])
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_news, $config['board3_number_of_news_' . $module_id], $start, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news');
}
$template->assign_block_vars('news_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment'] && $config['allow_attachments']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ($forum_id) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'N_ID' => $i,
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'U_READ_FULL' => $read_full_url,
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
'S_HAS_ATTACHMENTS' => (!empty($fetch_news[$i]['attachments'])) ? true : false,
));
if(!empty($fetch_news[$i]['attachments']))
{
foreach ($fetch_news[$i]['attachments'] as $attachment)
{
$template->assign_block_vars('news_row.attachment', array(
'DISPLAY_ATTACHMENT' => $attachment)
);
}
}
if ($config['board3_number_of_news_' . $module_id] <> 0 && $config['board3_news_archive_' . $module_id])
{
$template->assign_vars(array(
'NP_PAGINATION' => $pagination,
'TOTAL_NEWS' => ($total_news == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_news),
'NP_PAGE_NUMBER' => on_page($total_news, $config['board3_number_of_news_' . $module_id], $start))
);
}
}
}
$topic_icons = false;
if(!empty($fetch_news['topic_icons']))
{
$topic_icons = true;
}
$template->assign_vars(array(
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'READ_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
'S_NEWEST_OR_FIRST' => ($config['board3_news_show_last_' . $module_id]) ? $user->lang['JUMP_NEWEST'] : $user->lang['JUMP_FIRST'],
'POSTED_BY_TEXT' => ($config['board3_news_show_last_' . $module_id]) ? $user->lang['LAST_POST'] : $user->lang['POSTED'],
'S_DISPLAY_NEWS_RVS' => ($config['board3_show_news_replies_views_' . $module_id]) ? true : false,
'S_TOPIC_ICONS' => $topic_icons,
'NMODULE_ID' => $module_id,
'B3P_IN_AJAX' => true,
'S_AJAX' => defined('B3P_IN_AJAX') ? true : false,
'NU_ACTION' => str_replace('&', '&', append_sid("{$phpbb_root_path}portal.{$phpEx}")),
));
if($config['board3_news_style_' . $module_id])
{
return 'news_compact_center.html';
}
else
{
return 'news_center.html';
}
}
public function get_template_acp($module_id)
{
return array(
'title' => 'ACP_PORTAL_NEWS_SETTINGS',
'vars' => array(
'legend1' => 'ACP_PORTAL_NEWS_SETTINGS',
'board3_news_style_' . $module_id => array('lang' => 'PORTAL_NEWS_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_show_all_news_' . $module_id => array('lang' => 'PORTAL_SHOW_ALL_NEWS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_number_of_news_' . $module_id => array('lang' => 'PORTAL_NUMBER_OF_NEWS', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'board3_news_length_' . $module_id => array('lang' => 'PORTAL_NEWS_LENGTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'board3_news_forum_' . $module_id => array('lang' => 'PORTAL_NEWS_FORUM', 'validate' => 'string', 'type' => 'custom', 'explain' => true, 'method' => 'select_forums', 'submit' => 'store_selected_forums'),
'board3_news_exclude_' . $module_id => array('lang' => 'PORTAL_NEWS_EXCLUDE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_news_show_last_' . $module_id => array('lang' => 'PORTAL_NEWS_SHOW_LAST', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_news_archive_' . $module_id => array('lang' => 'PORTAL_NEWS_ARCHIVE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_news_permissions_' . $module_id => array('lang' => 'PORTAL_NEWS_PERMISSIONS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_show_news_replies_views_' . $module_id => array('lang' => 'PORTAL_SHOW_REPLIES_VIEWS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
)
);
}
/**
* API functions
*/
public function install($module_id)
{
set_config('board3_news_length_' . $module_id, 250);
set_config('board3_news_forum_' . $module_id, '');
set_config('board3_news_permissions_' . $module_id, 1);
set_config('board3_number_of_news_' . $module_id, 5);
set_config('board3_show_all_news_' . $module_id, 1);
set_config('board3_news_exclude_' . $module_id, 0);
set_config('board3_news_archive_' . $module_id, 1);
set_config('board3_news_show_last_' . $module_id, 0);
set_config('board3_show_news_replies_views_' . $module_id, 1);
set_config('board3_news_style_' . $module_id, 1);
return true;
}
public function uninstall($module_id)
{
global $db;
$del_config = array(
'board3_news_length_' . $module_id,
'board3_news_forum_' . $module_id,
'board3_news_permissions_' . $module_id,
'board3_number_of_news_' . $module_id,
'board3_show_all_news_' . $module_id,
'board3_news_exclude_' . $module_id,
'board3_news_archive_' . $module_id,
'board3_news_show_last_' . $module_id,
'board3_show_news_replies_views_' . $module_id,
'board3_news_style_' . $module_id,
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
return $db->sql_query($sql);
}
// Create forum select box
public function select_forums($value, $key, $module_id)
{
global $user, $config;
$forum_list = make_forum_select(false, false, true, true, true, false, true);
$selected = array();
if(isset($config[$key]) && strlen($config[$key]) > 0)
{
$selected = explode(',', $config[$key]);
}
// Build forum options
$s_forum_options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple">';
foreach ($forum_list as $f_id => $f_row)
{
$s_forum_options .= '<option value="' . $f_id . '"' . ((in_array($f_id, $selected)) ? ' selected="selected"' : '') . (($f_row['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $f_row['padding'] . $f_row['forum_name'] . '</option>';
}
$s_forum_options .= '</select>';
return $s_forum_options;
}
// Store selected forums
public function store_selected_forums($key, $module_id)
{
global $db, $cache;
// Get selected extensions
$values = request_var($key, array(0 => ''));
$news = implode(',', $values);
set_config($key, $news);
}
}
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
А если вместо $row['seo_desc'] прописать $fetch_news[$i]['seo_desc'] ?? Видимо идет выборка из массива, поэтому ваш вариант не работает
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
хорошая идея... но не выводит.
печально.
печально.
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
А вы дважды делали правку в php файле? Там 2 одинаковых места. И дайте ссылку на портал, на сам мод, гляну остальные файлы
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
Спасибо. да, добавлял в оба блока. Ссылка на портал (последние новости): портал
portal/modules/
template/portal/modules/
Сам мод работает. Вывод описания на viewforum.php: описание в списке тем
к сожалению подхватывать описание для портала - не хочет.
что-то ещё надо?
// наверное проблема глубже. только сейчас дошло. у меня портал стоит на трекере и вывод описаний тем проводились в других шаблонах.
в search_tracker_body.html и viewforum_tracker_body.html.
думаю, что, скорее всего, там другие таблицы для вывода...
сейчас попробовал создать тему с описанием на простом форуме, там же. (без торрентов).
описание на простой странице списка тем есть - на портале сама тема появилась, но описания нет...
portal/modules/
Код: Выделить всё
<?php
/**
*
* @package Board3 Portal v2 - News
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package News
*/
class portal_news_module
{
/**
* Allowed columns: Just sum up your options (Exp: left + right = 10)
* top 1
* left 2
* center 4
* right 8
* bottom 16
*/
public $columns = 21;
/**
* Default modulename
*/
public $name = 'LATEST_NEWS';
/**
* Default module-image:
* file must be in "{T_THEME_PATH}/images/portal/"
*/
public $image_src = '';
/**
* module-language file
* file must be in "language/{$user->lang}/mods/portal/"
*/
public $language = 'portal_news_module';
public function get_template_center($module_id)
{
global $config, $template, $db, $user, $auth, $cache, $phpEx, $phpbb_root_path;
$news = request_var('news', -1);
$news = ($news > $config['board3_number_of_news_' . $module_id] -1) ? -1 : $news;
$user->add_lang('viewforum');
$start = request_var('np', 0);
$start = ($start < 0) ? 0 : $start;
// Fetch news from portal/includes/functions.php with check if "read full" is requested.
$portal_news_length = ($news < 0) ? $config['board3_news_length_' . $module_id] : 0;
$fetch_news = phpbb_fetch_posts($module_id, $config['board3_news_forum_' . $module_id], $config['board3_news_permissions_' . $module_id], $config['board3_number_of_news_' . $module_id], $portal_news_length, 0, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news', $start, $config['board3_news_exclude_' . $module_id]);
// Any news present? If not terminate it here.
if (sizeof($fetch_news) == 0)
{
$template->assign_block_vars('news_row', array(
'S_NO_TOPICS' => true,
'S_NOT_LAST' => false,
));
}
else
{
// Count number of posts for news archive, considering if permission check is dis- or enabled.
if ($config['board3_news_archive_' . $module_id])
{
$permissions = $config['board3_news_permissions_' . $module_id];
$forum_from = $config['board3_news_forum_' . $module_id];
$forum_from = (strpos($forum_from, ',') !== false) ? explode(',', $forum_from) : (($forum_from != '') ? array($forum_from) : array());
$str_where = '';
if($permissions == true)
{
$disallow_access = array_unique(array_keys($auth->acl_getf('!f_read', true)));
}
else
{
$disallow_access = array();
}
if($config['board3_news_exclude_' . $module_id] == true)
{
$disallow_access = array_merge($disallow_access, $forum_from);
$forum_from = array();
}
if(sizeof($forum_from))
{
$disallow_access = array_diff($forum_from, $disallow_access);
if(!sizeof($disallow_access))
{
return array();
}
foreach($disallow_access as $acc_id)
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id = $acc_id OR ";
}
}
else
{
foreach($disallow_access as $acc_id)
{
$acc_id = (int) $acc_id;
$str_where .= "forum_id <> $acc_id AND ";
}
}
$str_where = (strlen($str_where) > 0) ? 'AND (' . trim(substr($str_where, 0, -4)) . ')' : '';
$topic_type = ($config['board3_show_all_news_' . $module_id]) ? '(topic_type <> ' . POST_ANNOUNCE . ') AND (topic_type <> ' . POST_GLOBAL . ')' : 'topic_type = ' . POST_NORMAL;
$sql = 'SELECT COUNT(topic_id) AS num_topics
FROM ' . TOPICS_TABLE . '
WHERE ' . $topic_type . '
AND topic_approved = 1
AND topic_moved_id = 0
' . $str_where;
$result = $db->sql_query($sql);
$total_news = (int) $db->sql_fetchfield('num_topics');
$db->sql_freeresult($result);
}
$topic_tracking_info = get_portal_tracking_info($fetch_news);
if($news < 0)
// Show the news overview
{
$count = $fetch_news['topic_count'];
for ($i = 0; $i < $count; $i++)
{
if(isset($fetch_news[$i]['striped']) && $fetch_news[$i]['striped'] == true)
{
$open_bracket = '[ ';
$close_bracket = ' ]';
$read_full = $user->lang['READ_FULL'];
}
else
{
$open_bracket = '';
$close_bracket = '';
$read_full = '';
}
// unread?
$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$read_full_url = (isset($_GET['np'])) ? 'np='. $start . '&news=' . $i . '#n' . $i : 'news=' . $i . '#n' . $i;
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&t=' . $topic_id);
if ($config['board3_news_archive_' . $module_id])
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_news, $config['board3_number_of_news_' . $module_id], $start, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news');
}
$replies = ($auth->acl_get('m_approve', $forum_id)) ? $fetch_news[$i]['topic_replies_real'] : $fetch_news[$i]['topic_replies'];
$folder_img = $folder_alt = $topic_type = $folder = $folder_new = '';
switch ($fetch_news[$i]['topic_type'])
{
case POST_STICKY:
$folder = 'sticky_read';
$folder_new = 'sticky_unread';
break;
case POST_ANNOUNCE:
$folder = 'announce_read';
$folder_new = 'announce_unread';
break;
default:
$folder = 'topic_read';
$folder_new = 'topic_unread';
if ($config['hot_threshold'] && $replies >= $config['hot_threshold'] && $fetch_news[$i]['topic_status'] != ITEM_LOCKED)
{
$folder .= '_hot';
$folder_new .= '_hot';
}
break;
}
if ($fetch_news[$i]['topic_status'] == ITEM_LOCKED)
{
$folder .= '_locked';
$folder_new .= '_locked';
}
if ($fetch_news[$i]['topic_posted'])
{
$folder .= '_mine';
$folder_new .= '_mine';
}
$folder_img = ($unread_topic) ? $folder_new : $folder;
$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($fetch_news[$i]['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');
// Grab icons
$icons = $cache->obtain_icons();
$template->assign_block_vars('news_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment'] && $config['allow_attachments']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ($forum_id) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'SEO_DESC_TOPIC' => $fetch_news[$i]['seo_desc'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'USERNAME_FULL_LAST' => $fetch_news[$i]['username_full_last'],
'U_USER_PROFILE' => (($fetch_news[$i]['user_type'] == USER_NORMAL || $fetch_news[$i]['user_type'] == USER_FOUNDER) && $fetch_news[$i]['user_id'] != ANONYMOUS) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $fetch_news[$i]['user_id']) : '',
'TIME' => $fetch_news[$i]['topic_time'],
'LAST_POST_TIME' => $user->format_date($fetch_news[$i]['topic_last_post_time']),
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'N_ID' => $i,
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt],
'TOPIC_ICON_IMG' => (!empty($icons[$fetch_news[$i]['icon_id']])) ? $icons[$fetch_news[$i]['icon_id']]['img'] : '',
'TOPIC_ICON_IMG_WIDTH' => (!empty($icons[$fetch_news[$i]['icon_id']])) ? $icons[$fetch_news[$i]['icon_id']]['width'] : '',
'TOPIC_ICON_IMG_HEIGHT' => (!empty($icons[$fetch_news[$i]['icon_id']])) ? $icons[$fetch_news[$i]['icon_id']]['height'] : '',
'FOLDER_IMG' => $user->img('topic_read', 'NO_NEW_POSTS'),
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id'] . '&p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'U_VIEW_UNREAD' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id'] . '&view=unread#unread'),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'U_READ_FULL' => append_sid("{$phpbb_root_path}portal.$phpEx", $read_full_url),
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'S_NOT_LAST' => ($i < sizeof($fetch_news) - 1) ? true : false,
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
'S_HAS_ATTACHMENTS' => (!empty($fetch_news[$i]['attachments'])) ? true : false,
));
if(!empty($fetch_news[$i]['attachments']))
{
foreach ($fetch_news[$i]['attachments'] as $attachment)
{
$template->assign_block_vars('news_row.attachment', array(
'DISPLAY_ATTACHMENT' => $attachment)
);
}
}
if ($config['board3_number_of_news_' . $module_id] <> 0 && $config['board3_news_archive_' . $module_id])
{
$template->assign_vars(array(
'NP_PAGINATION' => $pagination,
'TOTAL_NEWS' => ($total_news == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_news),
'NP_PAGE_NUMBER' => on_page($total_news, $config['board3_number_of_news_' . $module_id], $start))
);
}
}
}
else
// Show "read full" page
{
$i = $news;
$forum_id = $fetch_news[$i]['forum_id'];
$topic_id = $fetch_news[$i]['topic_id'];
$unread_topic = (isset($topic_tracking_info[$topic_id]) && $fetch_news[$i]['topic_last_post_time'] > $topic_tracking_info[$topic_id]) ? true : false;
$open_bracket = '[ ';
$close_bracket = ' ]';
$read_full = $user->lang['BACK'];
$read_full_url = (isset($_GET['np'])) ? append_sid("{$phpbb_root_path}portal.$phpEx", "np=$start#n$i") : append_sid("{$phpbb_root_path}portal.$phpEx#n$i");
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($fetch_news[$i]['forum_id']) ? $fetch_news[$i]['forum_id'] : $forum_id) . '&t=' . $topic_id);
if ($config['board3_news_archive_' . $module_id])
{
$pagination = generate_portal_pagination(append_sid("{$phpbb_root_path}portal.$phpEx"), $total_news, $config['board3_number_of_news_' . $module_id], $start, ($config['board3_show_all_news_' . $module_id]) ? 'news_all' : 'news');
}
$template->assign_block_vars('news_row', array(
'ATTACH_ICON_IMG' => ($fetch_news[$i]['attachment'] && $config['allow_attachments']) ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
'FORUM_NAME' => ($forum_id) ? $fetch_news[$i]['forum_name'] : '',
'TITLE' => $fetch_news[$i]['topic_title'],
'SEO_DESC_TOPIC' => $fetch_news[$i]['seo_desc'],
'POSTER' => $fetch_news[$i]['username'],
'POSTER_FULL' => $fetch_news[$i]['username_full'],
'TIME' => $fetch_news[$i]['topic_time'],
'TEXT' => $fetch_news[$i]['post_text'],
'REPLIES' => $fetch_news[$i]['topic_replies'],
'TOPIC_VIEWS' => $fetch_news[$i]['topic_views'],
'N_ID' => $i,
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $fetch_news[$i]['forum_id']),
'U_LAST_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'p=' . $fetch_news[$i]['topic_last_post_id'] . '#p' . $fetch_news[$i]['topic_last_post_id']),
'U_VIEW_COMMENTS' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'U_POST_COMMENT' => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&f=' . $fetch_news[$i]['forum_id'] . '&t=' . $fetch_news[$i]['topic_id']),
'S_POLL' => $fetch_news[$i]['poll'],
'S_UNREAD_INFO' => $unread_topic,
'U_READ_FULL' => $read_full_url,
'L_READ_FULL' => $read_full,
'OPEN' => $open_bracket,
'CLOSE' => $close_bracket,
'PAGINATION' => topic_generate_pagination($fetch_news[$i]['topic_replies'], $view_topic_url),
'S_HAS_ATTACHMENTS' => (!empty($fetch_news[$i]['attachments'])) ? true : false,
));
if(!empty($fetch_news[$i]['attachments']))
{
foreach ($fetch_news[$i]['attachments'] as $attachment)
{
$template->assign_block_vars('news_row.attachment', array(
'DISPLAY_ATTACHMENT' => $attachment)
);
}
}
if ($config['board3_number_of_news_' . $module_id] <> 0 && $config['board3_news_archive_' . $module_id])
{
$template->assign_vars(array(
'NP_PAGINATION' => $pagination,
'TOTAL_NEWS' => ($total_news == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $total_news),
'NP_PAGE_NUMBER' => on_page($total_news, $config['board3_number_of_news_' . $module_id], $start))
);
}
}
}
$topic_icons = false;
if(!empty($fetch_news['topic_icons']))
{
$topic_icons = true;
}
$template->assign_vars(array(
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'READ_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
'S_NEWEST_OR_FIRST' => ($config['board3_news_show_last_' . $module_id]) ? $user->lang['JUMP_NEWEST'] : $user->lang['JUMP_FIRST'],
'POSTED_BY_TEXT' => ($config['board3_news_show_last_' . $module_id]) ? $user->lang['LAST_POST'] : $user->lang['POSTED'],
'S_DISPLAY_NEWS_RVS' => ($config['board3_show_news_replies_views_' . $module_id]) ? true : false,
'S_TOPIC_ICONS' => $topic_icons,
'NMODULE_ID' => $module_id,
'B3P_IN_AJAX' => true,
'S_AJAX' => defined('B3P_IN_AJAX') ? true : false,
'NU_ACTION' => str_replace('&', '&', append_sid("{$phpbb_root_path}portal.{$phpEx}")),
));
if($config['board3_news_style_' . $module_id])
{
return 'news_compact_center.html';
}
else
{
return 'news_center.html';
}
}
public function get_template_acp($module_id)
{
return array(
'title' => 'ACP_PORTAL_NEWS_SETTINGS',
'vars' => array(
'legend1' => 'ACP_PORTAL_NEWS_SETTINGS',
'board3_news_style_' . $module_id => array('lang' => 'PORTAL_NEWS_STYLE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_show_all_news_' . $module_id => array('lang' => 'PORTAL_SHOW_ALL_NEWS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_number_of_news_' . $module_id => array('lang' => 'PORTAL_NUMBER_OF_NEWS', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'board3_news_length_' . $module_id => array('lang' => 'PORTAL_NEWS_LENGTH', 'validate' => 'int', 'type' => 'text:3:3', 'explain' => true),
'board3_news_forum_' . $module_id => array('lang' => 'PORTAL_NEWS_FORUM', 'validate' => 'string', 'type' => 'custom', 'explain' => true, 'method' => 'select_forums', 'submit' => 'store_selected_forums'),
'board3_news_exclude_' . $module_id => array('lang' => 'PORTAL_NEWS_EXCLUDE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_news_show_last_' . $module_id => array('lang' => 'PORTAL_NEWS_SHOW_LAST', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_news_archive_' . $module_id => array('lang' => 'PORTAL_NEWS_ARCHIVE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_news_permissions_' . $module_id => array('lang' => 'PORTAL_NEWS_PERMISSIONS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
'board3_show_news_replies_views_' . $module_id => array('lang' => 'PORTAL_SHOW_REPLIES_VIEWS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
)
);
}
/**
* API functions
*/
public function install($module_id)
{
set_config('board3_news_length_' . $module_id, 250);
set_config('board3_news_forum_' . $module_id, '');
set_config('board3_news_permissions_' . $module_id, 1);
set_config('board3_number_of_news_' . $module_id, 5);
set_config('board3_show_all_news_' . $module_id, 1);
set_config('board3_news_exclude_' . $module_id, 0);
set_config('board3_news_archive_' . $module_id, 1);
set_config('board3_news_show_last_' . $module_id, 0);
set_config('board3_show_news_replies_views_' . $module_id, 1);
set_config('board3_news_style_' . $module_id, 1);
return true;
}
public function uninstall($module_id)
{
global $db;
$del_config = array(
'board3_news_length_' . $module_id,
'board3_news_forum_' . $module_id,
'board3_news_permissions_' . $module_id,
'board3_number_of_news_' . $module_id,
'board3_show_all_news_' . $module_id,
'board3_news_exclude_' . $module_id,
'board3_news_archive_' . $module_id,
'board3_news_show_last_' . $module_id,
'board3_show_news_replies_views_' . $module_id,
'board3_news_style_' . $module_id,
);
$sql = 'DELETE FROM ' . CONFIG_TABLE . '
WHERE ' . $db->sql_in_set('config_name', $del_config);
return $db->sql_query($sql);
}
// Create forum select box
public function select_forums($value, $key, $module_id)
{
global $user, $config;
$forum_list = make_forum_select(false, false, true, true, true, false, true);
$selected = array();
if(isset($config[$key]) && strlen($config[$key]) > 0)
{
$selected = explode(',', $config[$key]);
}
// Build forum options
$s_forum_options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple">';
foreach ($forum_list as $f_id => $f_row)
{
$s_forum_options .= '<option value="' . $f_id . '"' . ((in_array($f_id, $selected)) ? ' selected="selected"' : '') . (($f_row['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $f_row['padding'] . $f_row['forum_name'] . '</option>';
}
$s_forum_options .= '</select>';
return $s_forum_options;
}
// Store selected forums
public function store_selected_forums($key, $module_id)
{
global $db, $cache;
// Get selected extensions
$values = request_var($key, array(0 => ''));
$news = implode(',', $values);
set_config($key, $news);
}
}
Код: Выделить всё
<script type="text/javascript">
// <![CDATA[
jblockgets(function($) {
<!-- IF S_AJAX -->$.getScript('{TRACKER_ADDIT_JS}');<!-- ENDIF -->
var noptions = {
id : '{NMODULE_ID}',
action : '{NU_ACTION}',
};
$('#generate_news_pagination-{NMODULE_ID}').blg_generate_news_pagination(noptions);
<!-- IF S_AJAX -->window.location='#n';<!-- ENDIF -->
});
// ]]>
</script>
<div id="pagecontent">
<!-- BEGIN news_row -->
<!-- IF news_row.S_FIRST_ROW -->
<!--{$C_BLOCK_H_L}<!-- IF not S_AJAX -->{$TITLE}<!-- ENDIF --> <a name="n"></a>{$C_BLOCK_H_R}-->
<!-- IF not S_AJAX --><div id="generate_news_pagination-{NMODULE_ID}"><!-- ENDIF -->
<table class="tablebg" cellspacing="1" width="100%">
<!-- IF not news_row.S_NO_TOPICS -->
<tr class="nav">
<!-- IF S_TOPIC_ICONS -->
<td class="cat" align="center" colspan="3"> Последние новости<!--{L_TOPICS}--> </td>
<!-- ELSE -->
<td class="cat" align="center" colspan="2"> Последние новости<!--{L_TOPICS}--> </td>
<!-- ENDIF -->
<!-- IF S_DISPLAY_NEWS_RVS -->
<td class="cat" align="center"> {L_REPLIES} </td>
<td class="cat" align="center"> {L_VIEWS} </td>
<!-- ENDIF -->
<td class="cat" align="center"> {L_LAST_POST} </td>
</tr>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF news_row.S_NO_TOPICS -->
<tr class="row1">
<td align="center">
<span class="gensmall"><strong>{L_NO_NEWS}</strong></span>
</td>
</tr>
<!-- ELSE -->
<tr>
<td class="row1" width="0" align="center"><!--{news_row.TOPIC_FOLDER_IMG}--></td>
<!-- IF S_TOPIC_ICONS --><td class="row1" width="25" align="center"><!-- IF news_row.TOPIC_ICON_IMG --><img src="{T_ICONS_PATH}{news_row.TOPIC_ICON_IMG}" width="{news_row.TOPIC_ICON_IMG_WIDTH}" height="{news_row.TOPIC_ICON_IMG_HEIGHT}" alt="" title="" /><!-- ENDIF --></td><!-- ENDIF -->
<td class="row1">
<!-- IF news_row.PAGINATION --><span style="float: right; font-size:0.9em;"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {news_row.PAGINATION} ] </span><!-- ENDIF -->
<!--{news_row.ATTACH_ICON_IMG}--> <!-- IF news_row.S_POLL --> <strong style="font-size:1.1em;">{L_VIEW_TOPIC_POLL}: </strong><!-- ENDIF --><a title="" href="{news_row.U_VIEW_COMMENTS}" class="topictitle">*{news_row.TITLE}</a>
<!-- IF news_row.SEO_DESC_TOPIC --><br />{news_row.SEO_DESC_TOPIC}<!-- ENDIF -->
<p class="gensmall">{L_POSTED} {L_POST_BY_AUTHOR} {news_row.POSTER_FULL} » {news_row.TIME}
<!-- IF news_row.FORUM_NAME -->
<br />{L_FORUM}: <a href="{news_row.U_VIEWFORUM}" style="font-weight: bold;">{news_row.FORUM_NAME}</a>
<!-- ENDIF -->
<!-- IF not S_DISPLAY_NEWS_RVS --><!-- IF news_row.FORUM_NAME -->• <!-- ENDIF -->{L_REPLIES}: <strong>{news_row.REPLIES}</strong> • {L_VIEWS}: <strong>{news_row.TOPIC_VIEWS}</strong><!-- ENDIF -->
</p>
</td>
<!-- IF S_DISPLAY_NEWS_RVS -->
<td class="row1" width="50" align="center"><p class="topicdetails">{news_row.REPLIES}</p></td>
<td class="row2" width="50" align="center"><p class="topicdetails">{news_row.TOPIC_VIEWS}</p></td>
<!-- ENDIF -->
<td class="row1" width="140" align="center">
<p class="topicdetails" style="white-space: nowrap;"> {news_row.LAST_POST_TIME}</p>
<p class="topicdetails">{news_row.USERNAME_FULL_LAST}
<!-- IF not S_IS_BOT --><!-- IF news_row.S_UNREAD_INFO --><a href="{news_row.U_VIEW_UNREAD}">{NEWEST_POST_IMG}</a><!-- ELSE --><a href="{news_row.U_LAST_COMMENTS}">{READ_POST_IMG}</a><!-- ENDIF --><!-- ENDIF -->
</p>
</td>
</tr>
<!-- ENDIF -->
<!-- IF news_row.S_LAST_ROW -->
<!-- IF NP_PAGINATION or TOTAL_NEWS -->
<tr class="row<!-- IF news_row.S_ROW_COUNT is even -->2<!-- ELSE -->1<!-- ENDIF -->">
<td class="gensmall pagination" valign="middle" align="right" nowrap="nowrap" colspan="<!-- IF S_TOPIC_ICONS and S_DISPLAY_NEWS_RVS -->6<!-- ELSEIF not S_TOPIC_ICONS and S_DISPLAY_NEWS_RVS -->5<!-- ELSEIF S_TOPIC_ICONS and not S_DISPLAY_NEWS_RVS -->4<!-- ELSE -->3<!-- ENDIF -->">{TOTAL_NEWS}
<!-- IF NP_PAGE_NUMBER --><!-- IF NP_PAGINATION --> • {NP_PAGE_NUMBER} • <span>{NP_PAGINATION}</span><!-- ELSE --> • {NP_PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF --></td>
</tr>
<!-- ENDIF -->
</table>
<!-- IF not S_AJAX --></div><!-- ENDIF -->
<!--{$C_BLOCK_F_L}{$C_BLOCK_F_R}-->
<!-- ENDIF -->
<!-- END news_row -->
</div>
<br />
к сожалению подхватывать описание для портала - не хочет.
что-то ещё надо?
// наверное проблема глубже. только сейчас дошло. у меня портал стоит на трекере и вывод описаний тем проводились в других шаблонах.
в search_tracker_body.html и viewforum_tracker_body.html.
думаю, что, скорее всего, там другие таблицы для вывода...
сейчас попробовал создать тему с описанием на простом форуме, там же. (без торрентов).
описание на простой странице списка тем есть - на портале сама тема появилась, но описания нет...
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
- DeaDRoMeO
- Старожил Форума
- Сообщения: 16763
- Стаж: 13 лет 2 месяца
- Откуда: Витебск
- Контактная информация:
Topic SEO description and keywords
Погляжу на досуге
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
- белк
- Хорошо тут живется
- Сообщения: 1322
- Стаж: 10 лет 7 месяцев
- Откуда: Россия
- Контактная информация:
Topic SEO description and keywords
спасибо...
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *