Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Topic SEO description and keywords 2016-02-25

Случайный аватар. Пользователю рекомендуется загрузить свой аватар в Настройках профиля

Вопрос решился установкой Index SEO. Всем спасибо. Форум очень полезен!!!


          Вернуться наверх  
 


Аватар пользователя

Так этот мод только темы цепляет, на прочих страницах все пусто и будет


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Подскажите. пожалуйста, как прописать description для файлов http://форум.ru/rules.php и http://форум.ru/rules/ (если такое возможно)?


          Вернуться наверх  
 


Аватар пользователя

могу посоветовать прописать только так (в шапке, overall_header.html):

<meta name="description" content="<!-- IF SCRIPT_NAME == "rules" -->здесь пропишите описание<!-- ENDIF -->" />
 


если у вас (а так оно скорее всего и есть) уже что-то там прописано - просто добавьте эту строку к тому, что уже есть.

это описание должно выводиться только в теме rules.php

попробуйте.


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


Аватар пользователя

белк, спасибо. Сделала.)

Сообщение добавлено... спустя 45 минут 58 секунд:
белк, сейчас проверила: само описание отображается только в теме rules.php, но на других тег тоже отображается, но только пустой. То есть получается их в коде 2.
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


          Вернуться наверх  
 


Аватар пользователя

вы неправильно сделали. я сказал "добавить в строку к тому, что у вас уже есть". то есть не надо прописывать второй <meta...

вот, посмотрите, как на моём сайте отдельно для разных отделов прописано описание:

<meta name="description" content="<!-- IF SEO_DESC -->{SEO_DESC}<!-- ENDIF --><!-- IF SCRIPT_NAME == "viewforum" -->{FORUM_SEO_DESC}<!-- ENDIF -->" />
 


то есть надо добавлять дальше в строчку....


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *

Информация о редактировании
Последний раз редактировалось белк 12 фев 2017, 06:21, всего редактировалось 1 раз.
          Вернуться наверх  
 


Аватар пользователя

Да, невнимательно читала. Спасибо )


          Вернуться наверх  
 


Аватар пользователя

Сережа, а что будет в описании, если поле дискрипшина в теме не заполненно? Что выведет поисковик?
И чем отличается заголовок от заголовка для поисковика? Если вы говорите, что тайтлом поисковик увидит стандартный залоговок, то какую функцию играет вторая строячка ориентированная на поисковик? Они не должны дублировать друг друга?


          Вернуться наверх  
 


Аватар пользователя

madam-ka писал(а):

если поле дискрипшина в теме не заполненно? Что выведет поисковик?

Ничего, но можно условием выкрутиться + доработка в php коде
madam-ka писал(а):

И чем отличается заголовок от заголовка для поисковика?

Заголовок можно сделать кратким для пользователей, а для поисковиков вбить длинное информативное название темы


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

заклинило. хотел вывести на портал описание тем, как в доработках к похожим темам и новым. не получается. где-то туплю...

есть какое-нибудь решение? в сети ничего не нашёл.


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


Аватар пользователя

А портал какой? Обычно правки вносятся в php файл отвечающий за блок тем на портале, там в запрос к бд добавляется еще вытяжка сео описания, вы как делали?


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

портал Board3 Portal 2.0.2 (у меня портал на трекере стоит, но ведь модули те же самые)

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 -->
 


вроде правильно... нет? :du_ma_et:


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


Аватар пользователя

Почти, дайте полный код portal/modules/portal_news.php, скорее всего там же нужно немножко запрос к бд подредактировать, чтоб он нужное поле вытягивал


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Спасибо. вот код:


<?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 . '&amp;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) . '&amp;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&amp;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'] . '&amp;t=' . $fetch_news[$i]['topic_id'] . '&amp;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'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
                  'U_VIEW_UNREAD'         => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&amp;t=' . $fetch_news[$i]['topic_id'] . '&amp;view=unread#unread'),
                  'U_POST_COMMENT'      => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;f=' . $fetch_news[$i]['forum_id'] . '&amp;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) . '&amp;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'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
               'U_POST_COMMENT'   => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;f=' . $fetch_news[$i]['forum_id'] . '&amp;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('&amp;', '&',  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);

   }
}
 



_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


Аватар пользователя

А если вместо $row['seo_desc'] прописать $fetch_news[$i]['seo_desc'] ?? Видимо идет выборка из массива, поэтому ваш вариант не работает


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

хорошая идея... но не выводит. :du_ma_et:

печально.


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


Аватар пользователя

А вы дважды делали правку в php файле? Там 2 одинаковых места. И дайте ссылку на портал, на сам мод, гляну остальные файлы


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Спасибо. да, добавлял в оба блока. Ссылка на портал (последние новости):
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


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 . '&amp;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) . '&amp;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&amp;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'] . '&amp;t=' . $fetch_news[$i]['topic_id'] . '&amp;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'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
                  'U_VIEW_UNREAD'         => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $fetch_news[$i]['forum_id'] . '&amp;t=' . $fetch_news[$i]['topic_id'] . '&amp;view=unread#unread'),
                  'U_POST_COMMENT'      => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;f=' . $fetch_news[$i]['forum_id'] . '&amp;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) . '&amp;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'] . '&amp;t=' . $fetch_news[$i]['topic_id']),
               'U_POST_COMMENT'   => append_sid("{$phpbb_root_path}posting.$phpEx", 'mode=reply&amp;f=' . $fetch_news[$i]['forum_id'] . '&amp;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('&amp;', '&',  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);

   }
}
 



template/portal/modules/

<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">&nbsp;Последние новости<!--{L_TOPICS}-->&nbsp;</td>
         <!-- ELSE -->
            <td class="cat" align="center" colspan="2">&nbsp;Последние новости<!--{L_TOPICS}-->&nbsp;</td>
         <!-- ENDIF -->
         <!-- IF S_DISPLAY_NEWS_RVS -->
         <td class="cat" align="center">&nbsp;{L_REPLIES}&nbsp;</td>
         <td class="cat" align="center">&nbsp;{L_VIEWS}&nbsp;</td>
         <!-- ENDIF -->
         <td class="cat" align="center">&nbsp;{L_LAST_POST}&nbsp;</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} &raquo; {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 -->&bull; <!-- ENDIF -->{L_REPLIES}: <strong>{news_row.REPLIES}</strong>  &bull; {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 --> &bull; {NP_PAGE_NUMBER} &bull; <span>{NP_PAGINATION}</span><!-- ELSE --> &bull; {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 />
 



Сам мод работает. Вывод описания на viewforum.php:
Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


к сожалению подхватывать описание для портала - не хочет.

что-то ещё надо?

// наверное проблема глубже. только сейчас дошло. у меня портал стоит на трекере и вывод описаний тем проводились в других шаблонах.
в search_tracker_body.html и viewforum_tracker_body.html.

думаю, что, скорее всего, там другие таблицы для вывода...

сейчас попробовал создать тему с описанием на простом форуме, там же. (без торрентов).
описание на простой странице списка тем есть - на портале сама тема появилась, но описания нет...

:wo_ol:


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 


Аватар пользователя

Погляжу на досуге


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

спасибо...


_________________
Подпись:
три головы - это хорошо. но как же трудно придти к согласию...
* белк может помочь, но ставить за кого-то моды не будет... ни платно, ни бесплатно. *
          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Topic permissions phpbb3
Topic permissions - это модификация для phpbb3, которая дает право авторам тем запрещать их просмотр гостям, ботам и поисковым системам

DeaDRoMeO

6

558

Аватар пользователя

31 мар 2018, 15:06

DeaDRoMeO

Аватар пользователя NV advanced last topic titles phpbb3
NV advanced last topic titles - модификация для phpbb3, добавляющая напротив каждого подфорума имя темы, в которой было оставлено последнее сообщение

DeaDRoMeO

133

9237

Аватар пользователя

20 авг 2017, 06:53

DeaDRoMeO

Аватар пользователя Topic Text in Mouse Over phpbb3
Topic Text in Mouse Over - модификация для phpbb3, организующее следущие красивости - Наведение курсора мыши на имя темы - всплывашка с частью текста из первого сообщения темы, Наведение курсора мыши на иконку последнего сообщения - всплывашка с текстом п

DeaDRoMeO

258

10897

Аватар пользователя

05 мар 2018, 19:01

DeaDRoMeO

Аватар пользователя AOS Who Visited a Topic phpbb3 (кто смотрел тему???)
AOS Who Visited a Topic - модификация для phpbb3, добавляющая на страницу просмотра тем список пользователей, побывавших в конкретной теме и количество их просмотров темы.

DeaDRoMeO

23

4229

Аватар пользователя

15 окт 2013, 16:45

DeaDRoMeO

Аватар пользователя AOS Topic Statistics phpbb3 (подписчики и просмотры темы)
AOS Topic Statistics - модификация для phpbb3, добавляющая на страницу просмотра тем информацию о количестве подписчиков и просмотров конкретной темы.

DeaDRoMeO

84

6869

Аватар пользователя

19 июл 2017, 13:19

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P