Перейти к контенту
  • 0

SSI и вывод тем с форума


bncom

Вопрос

Изменил файл ssi_templates/news.php к следующему виду:

 

· <a href='{переменная на топик}'>{topic_title}</a><br />

Интересует вопрос следующего плана: какова переменная-ссылка на топик должна быть?

 

{topic_link} - не работает.

Изменено пользователем bncom
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

А подумать самостоятельно?

 

$to_echo .= $this->_parseTemplate( $template, array (
'profile_link'   => $this->settings['base_url']."showuser=".intval($row['member_id']),
'member_name'	=> $row['member_name'],
'post_date'	  => $this->registry->getClass('class_localization')->getDate( $row['post_date'], 'LONG', 1 ),
'topic_title'	=> $row['title'],
'post'		   => $row['post'],
'comments'	   => $row['comments'],
'pid'			=> $row['pid'],
'view_all_link'  => $this->settings['base_url']."showtopic={$row['tid']}" 
) );

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Все равно не понял ничего.

 

Есть к примеру ссылка {profile_link}, а мне нужна ссылка на топик, что-то вроде {topic_link} - но это не работает.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я только сейчас заметил, что

 

выводит 10 тем за июль месяц аж. Почему так происходит? Мне нужно вывести 10 последних топиков, в которых оставляли сообщения юзеры.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

А почему вы взяли, что "Новости" - это и есть 10 последних постов на форуме? :D

 

News - это последние опубликованные первые посты в разделах, помеченных как "новостные".

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Отлично, ну тогда собственно, а как же тогда вывести 10 последних топиков, в которых оставляли сообщения юзеры?

Ведь это куда актуальнее, чем "первые посты в разделах, помеченных как "новостные".

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я почитал про portalPlugins/recent_topics.php, если не ошибаюсь, это годится только для портала IPB, а мне нужно на свой самописный сайт, чтобы в блоке у меня выводились 10 последних тем.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

И снова вы, вместо того, чтобы думать, занимаетесь гуглением...

 

ssi.php, строка 391:

		$this->DB->build( array( 'select'   => 't.*, t.posts as comments',

							 'from'	 => array( 'topics' => 't' ),

							 'where'	=> "t.forum_id={$this->settings['news_forum_id']} AND t.approved=1",

							 'order'	=> 't.tid DESC',

 

заменить на:

		$this->DB->build( array( 'select'   => 't.*, t.posts as comments',

							 'from'	 => array( 'topics' => 't' ),

							 'where'	=> "t.approved=1",

							 'order'	=> 't.last_post, t.tid DESC',

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Хорошо, заменил код, как вы сказали, потом что? Использовать для вывода все ту же конструкцию?

 

http://www.site.ru/forum/ssi.php?a=news&show=10

 

Тогда все равно выводит не то, что надо. Показываеются очень старые топики.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вы просили "10 последних топиков, в которых оставляли сообщения юзеры". Вы это получили. Да, ваши пользователи отвечают в старые темы. Еще бы они этого не делали.

 

Если вам нужно 10 последних созданных тем, это другой запрос. Догадаетесь, что на что поменять нужно?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вот хотел написать в предыдущем посте расшифровку своих мыслей, думал, и так все понятно.

 

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

 

А мне нужно вывести 10 последних тем, в которых сайчас (только что) отписались.

 

Был для 2.3 версии файлик, назывался latest_posts.php - вот там никаких заморочек почему-то не было.

 

А тут чтобы элементраную (и самую важную) вещь сделать, приходится с бубном плясать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Согласен, тоже очень нужно! Или хотябы модуль для расширенного RSS - для 2.3 такой был, а сейчас в трешке только можно получить через РСС последние созданные темы, а надо последние сообщения.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо, но почему-то ваш скрипт выводит ссылки в таком ввиде:

 

http://www.site.ru/forum/last.php?showtopic=3637

 

Т.е. в ссылку вставляется last.php, соотвественно, на форум такая ссылка не ведет.

Изменено пользователем bncom
Ссылка на комментарий
Поделиться на других сайтах

  • 0
bncom, это потому, что у вас некорректно установлен форум. Пройдите в админку, "Настройки и инструменты > Системные настройки > Система > Глобальные настройки" и правильно заполните поле "Адрес форума".
Ссылка на комментарий
Поделиться на других сайтах

  • 0

http://img.pixs.ru/storage/0/5/5/555JPG_7078757_337055.jpg

 

У меня там написано "Адрес сайта", а не "Адрес форума". А форум и сайт - это две разные вещи. Ладно, оставим это на огрехи перевода, если это так.

 

Ввел полный адрес форума:

 

http://www.siite/forum/

 

Но все равно ссылки остались такими же:

 

http://www.site.ru/forum/last.php?showtopic=3637

Ссылка на комментарий
Поделиться на других сайтах

  • 0

    $output = <<<HTML
       <style type="text/css">
       #lastposts { width:350px; padding:0; font-family:arial,verdana,tahoma,sans-serif; border-bottom:3px solid #B6C7DB; color:#606060; }
       #lastposts a:link, #lastposts a:visited, #lastposts a:active { text-decoration: none; color:#284B72; }
       #lastposts a:hover {color:#528F6C; text-decoration:underline; }
       #lastposts td.maintitle { -moz-border-radius-bottomleft:0; -moz-border-radius-bottomright:0; -moz-border-radius-topleft:5px; -moz-border-radius-topright:5px; font-size:17px; font-weight:normal; margin:0 !important; overflow:hidden; padding:8px !important; background:#1D3652 url({$this->settings['base_url']}/public/style_images/master/gradient_bg.png) repeat-x scroll left 50%; color:#FFFFFF; }
       #lastposts tr.header { background: #B6C7DB none repeat scroll 0 0; color:#1D3652; }
       #lastposts th { font-size:12px; font-weight:bold; padding:6px; }
       #lastposts .stats { background-color:#EEF3F8; }
       #lastposts td { padding: 5px; font-size: 13px; }
       </style>
       <table id="lastposts" cellpadding="0" cellspacing="0">
         <tr>
           <td colspan="5" class="maintitle">Последние ответы в темах</td>
         </tr>
         <tr class="header">
           <th>Название темы</th>
           <th>Форум</th>
           <th>Последнее сообщение</th>
         </tr>
HTML;

Бе.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ну, если вы будете использовать "не глядя и не меняя", то действительно "бе" :D

 

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

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Странно как-то, ссылки из вашего скрипта должны быть такого содержания:

 

http://www.site.ru/forum/index.php?showforum=248

Т.е. после forum/ идет названия индекс-файла.

 

А я когда запускаю скрипт, получается, что вместо index-файла вставляется название вашего файла (last.php) и после него вызов параметров.

 

заменив системную переменную на свой путь жестко
А какая именно?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.