Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Yu-val

Новости форума

Recommended Posts

В стандартной версии ИПБ на главную страницу выводится название последней темы, созданной в подфоруме, заданном в Админке. Это не совсем удобно, ибо для каждой новости нужно создавать новую тему.

Как сделать так, чтобы выводился текст последнего сообщения (постинга) в заданной теме? Тему можно определить константно, раз и навсегда, нет необходимости вводить переменную и вычислять наиболее актуальную тему в подфоруме.

Share this post


Link to post
Share on other sites

Ага,тоже оч интересно!

Share this post


Link to post
Share on other sites

Интересно, это настолько глупый или настолько неразрешимый вопрос? В первом случае просьба кинуть ссылку на ранее предложенные решения.

Share this post


Link to post
Share on other sites

В стандартных функциях IPB такого не предусмотрено.

Знаю, что некоторые клиенты заказывали подобное ребятам, и это было реализовано.

Обсуждались ли в темах подобные решения, не знаю, не следила.

У ребят сейчас сессия, упрекать их в том, что не всегда отвечают, нехорошо.

 

Могли бы сами найти в тегах по ключу "новост"

вывод новостей

А Вы даже не попытались.

Читаем Правила форума, пункт 6.

Share this post


Link to post
Share on other sites

Я такого вроде не делал. :blink:

Там надо переписывать вывод новостей в портале, а меня, честно говоря, от портала воротит...

Может кто другой поможет

Share this post


Link to post
Share on other sites
У ребят сейчас сессия, упрекать их в том, что не всегда отвечают, нехорошо.

Могли бы сами найти в тегах по ключу "новост"

А Вы даже не попытались.

 

Уважаемая Fisana, вы абсолютно правы, я даже не пытался воспользоваться поиском, но только по одной причине - перед тем, как зарегистрироваться на форуме, я его долго читал. Соответственно, потому и задал вопрос, ибо не отложилось в памяти что-либо по данному вопросу.

Результаты вашего поиска подтвердили то, что моя память меня не подвела. К сожалению, ничего из найденного вами не помогает найти ответ на мой вопрос.

Приношу извинения, если моя попытка напомнить о своем вопросе прозвучала как упрек. И в мыслях не было упрекать кого-либо.

 

Я такого вроде не делал. :)

Там надо переписывать вывод новостей в портале, а меня, честно говоря, от портала воротит...

Может кто другой поможет

Увы, никто не помог. Но речь не идет о портале. Возможно, что я криво сформулировал вопрос.

 

Речь идет о том, что на главной странице самого форума, там, где дается ссылка на последний открытый топик и приводится его название, давать ссылку на последний пост заданного топика.

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

Board Index/newslink:

<br /><b>{$this->ipsclass->vars['board_name']} {$this->ipsclass->lang['newslink']}</b> <i><a href="{$this->ipsclass->base_url}showtopic=$tid">$title</a></i>

После замены на:

<br /><b>{$this->ipsclass->vars['board_name']} {$this->ipsclass->lang['newslink']}</b> <i><a href="{$this->ipsclass->base_url}showtopic=3&view=getlastpost">$title</a></i>

появилась ссылка на требуемый пост, но вот текст этого поста вытащить так и не удалось. Что то явно должно стоять другое вместо переменной $title, но что именно? Есть ли какая переменная, которая содержит текст последнего поста заданного топика и доступна ли она в этом месте, или нужно лезть за текстом в БД?

Share this post


Link to post
Share on other sites

заменяйте найденный код на

<br /><b>{$this->ipsclass->vars['board_name']} {$this->ipsclass->lang['newslink']}</b> <i><a href="{$this->ipsclass->base_url}showtopic=$tid&view=getlastpost">$title</a></i>

так корректнее

 

появилась ссылка на требуемый пост, но вот текст этого поста вытащить так и не удалось. Что то явно должно стоять другое вместо переменной $title, но что именно? Есть ли какая переменная, которая содержит текст последнего поста заданного топика и доступна ли она в этом месте, или нужно лезть за текстом в БД?
надо лезть в БД. Т.е. вам надо к этой ссылке добавить все содержимое поста. Я вас правильно понял? Если да, то вечером напишу, как реализовать.

Share this post


Link to post
Share on other sites
заменяйте найденный код на
<br /><b>{$this->ipsclass->vars['board_name']} {$this->ipsclass->lang['newslink']}</b> <i><a href="{$this->ipsclass->base_url}showtopic=$tid&view=getlastpost">$title</a></i>

так корректнее

А разве в этом случае не будет показываться ссылка на последний пост последнего открытого, то есть самого свежего топика? Мне нужна ссылка именно на последний пост топика номер три. Всегда, независимо от того, какие топики были заведены после него.

 

надо лезть в БД. Т.е. вам надо к этой ссылке добавить все содержимое поста. Я вас правильно понял? Если да, то вечером напишу, как реализовать.

 

Да, именно содержимое поста. Буду очень благодарен.

Share this post


Link to post
Share on other sites
А разве в этом случае не будет показываться ссылка на последний пост последнего открытого, то есть самого свежего топика? Мне нужна ссылка именно на последний пост топика номер три. Всегда, независимо от того, какие топики были заведены после него.
хм. Тогда да.
Да, именно содержимое поста. Буду очень благодарен.
Содержимое поста из определенного топика?

Share this post


Link to post
Share on other sites
Содержимое поста из определенного топика?

Да, содержимое последнего поста из топика номер три.

Share this post


Link to post
Share on other sites

у меня вылетело из головы. :)

 

/sources/action_public/boards.php

найти

			$t_html = $this->ipsclass->compiled_templates['skin_boards']->newslink( $this->news_forum_id, stripslashes($this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['newest_title']) ,
										 										$this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['newest_id']);

заменить на

			$this->ipsclass->DB->simple_construct( array( 'select' => '*',
													  'from'   => 'posts',
													  'where'  => "topic_id='3' AND queued='0'",
													  'order'  => "pid DESC",
													  'limit'  => array(0, 1),
											)	  );

		$temp_id = $this->ipsclass->DB->simple_exec();			
		$post = $this->ipsclass->DB->fetch_row($temp_id);			
		$t_html = $this->ipsclass->compiled_templates['skin_boards']->newslink( $this->news_forum_id, stripslashes($this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['newest_title']) ,
										 										$this->ipsclass->forums->forum_by_id[ $this->ipsclass->vars['news_forum_id'] ]['newest_id'], $post);

открыть newslink (skin_boards)

во входящих переменных через запятую дописать "$post" без кавычек

 

и в итоге в шаблон можно вставить

{$post['post']}

что будет являться последним постом в топике с ID 3

 

если что не так - отпишите

Share this post


Link to post
Share on other sites
у меня вылетело из головы. :D

Ничего страшного. Точнее, спасибо за ответ! :)

 

			$this->ipsclass->DB->simple_construct( array( 'select' => '*',
													  'from'   => 'posts',
													  'where'  => "topic_id='3' AND queued='0'",
													  'order'  => "pid DESC",
													  'limit'  => array(0, 1),
											)	  );

		$temp_id = $this->ipsclass->DB->simple_exec();			
		$post = $this->ipsclass->DB->fetch_row($temp_id);

Это стандартная конструкция для доступа в БД?

*Это я чисто из любопытства, чтоб в следующий раз, может быть, избежать глупых вопросов...

открыть newslink (skin_boards)

Правильно ли я понял, что нужно редактировать файл, который лежит в кэше? Вопрос обусловлен тем, что я полагал, что эти файлы генерируются полностью автоматически и их редактировать вручную бесполезно. Или автоматически туда вставляются только определенные строки?

Edited by Yu-val

Share this post


Link to post
Share on other sites

В кэше нельзя редактировать.

Имеется ввиду шаблон из группы Board Index

 

В русской админке названия групп шаблонов такие же, как названия в кэше

Share this post


Link to post
Share on other sites
В кэше нельзя редактировать.

Ну вот мне тоже так казалось... Хорошо, что переспросил.

Имеется ввиду шаблон из группы Board Index

Такой шаблон там есть, но я сходу не понял, что означает "во входящих переменных", привычно стал искать имя функции. Теперь нашел, прошу прощения за свою... несообразительность.

 

В русской админке названия групп шаблонов такие же, как названия в кэше

У меня английская. :D

Share this post


Link to post
Share on other sites

Я всегда пишу путь к шаблонам в формате поиска шаблонов. Там есть строка поиска, если туда вбить "newslink (skin_boards)", то шаблон автоматом откроется.

Это стандартная конструкция для доступа в БД?
да. стандартный запрос в бд

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...