Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Yu-val

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

Рекомендованные сообщения

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

Поделиться сообщением


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

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

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

 

Уважаемая 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, но что именно? Есть ли какая переменная, которая содержит текст последнего поста заданного топика и доступна ли она в этом месте, или нужно лезть за текстом в БД?

Поделиться сообщением


Ссылка на сообщение

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

<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, но что именно? Есть ли какая переменная, которая содержит текст последнего поста заданного топика и доступна ли она в этом месте, или нужно лезть за текстом в БД?
надо лезть в БД. Т.е. вам надо к этой ссылке добавить все содержимое поста. Я вас правильно понял? Если да, то вечером напишу, как реализовать.

Поделиться сообщением


Ссылка на сообщение
заменяйте найденный код на
<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>

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

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

 

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

 

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

Поделиться сообщением


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

Поделиться сообщением


Ссылка на сообщение
Содержимое поста из определенного топика?

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

Поделиться сообщением


Ссылка на сообщение

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

 

/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

 

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

Поделиться сообщением


Ссылка на сообщение
04/02/09 19:12 (изменено)
у меня вылетело из головы. :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)

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

Изменено пользователем Yu-val

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
В кэше нельзя редактировать.

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

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...