Xpert обещал помочь. Запостил аддон. Но он не работает. На исправление у него пока нет времени. В таком случае, может, подскажете по другому варианту решения проблемы? Можно же вставить в разные колонки разные resent.php (обозвать по-разному...). Но что подправить во втором (типа recent2.php), чтобы он отображал, скажем, 10 свежих тем, начиная с 11-й - с 11-й по 20-ю?Есть возможность (и похоже, необходимость) разбить список тем на 2 колонки - ширина общей таблицы в 2 раза больше, чем нужно, выравнивание по левому краю. Правая половина пустует). Сама проблема вот тут
Скрипт генерирует этот список, просто исходя из условленного количества пунктов. Пропишешь 100 - будет показывать все 100. Сейчас показано 15. Хочу показать 20, но разбить на 2 колонки. Как?
Перечитав все 20 страниц ветки, я понял, что можно это решить, к примеру, создав клон файла recent.php (типа recent2.php). Но что и где там изменить, чтобы он показывал новые сообщения, скажем, не с 1-го по указанное количество, а - как в моём искомом варианте - с 11-го - по 20-е? В первом файле recent.php - всё ясно.Ничего менять не надо, только прописать $cfg_nm_topics = 10;
А во втором файле - чтобы он показывал с 11-го по 20-е сообщение?
P.S. форум - phpBB 2.0.22
Используемый мод - recent_topics_1.0.4
Recent Topics
Итак, возвращаясь к написанному:
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Aqua$erg
За 2 недели могли бы и проверить, а умеете ли вы вообще моды ставить... Я только что все выполнил по инструкции и у меня все работает.
Добавлено спустя 4 минуты 30 секунд:
Ваш вариант который "по другому" - это вообще не вариант...
За 2 недели могли бы и проверить, а умеете ли вы вообще моды ставить... Я только что все выполнил по инструкции и у меня все работает.
Добавлено спустя 4 минуты 30 секунд:
Ваш вариант который "по другому" - это вообще не вариант...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
ОК, вот мои файлы:
recent.php
recent_body.tpl
В итоге, выдаёт всё в одну колонку
recent.php
Код: Выделить всё
<?php
/***************************************************************************
* recent.php
* -------------------
* begin : Saturday, Mar 05, 2005
* copyright : (C) 2005 Xpert
* email : xpert@phpbbguru.net
*
* $Id: recent.php,v 1.0.4 2005/08/03 20:54:00 xpert Exp $
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
/* Config section */
$cfg_ignore_forums = '0'; // ids of forums you don't want to display, separated by commas
$cfg_nm_topics = 15; // number of topics to output
$cfg_max_topic_length = 30; // max topic length, if more, title will be shortened
/* End of config */
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Let's prevent caching
//
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0');
$i++;
if ( $i == ceil($cfg_nm_topics / 2) )
{
$template->assign_block_vars('topicrow.column_separator', array());
}
}
else
{
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: 0');
header ('Pragma: no-cache');
//
// Define censored word matches
//
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
//
// Building URL
//
$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
$board_path = $server_protocol . $server_name . $server_port . $script_name;
$viewtopic_url = $board_path . '/viewtopic.' . $phpEx;
//
// Session management
// I don't want to log user in, so let's trick
//
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = ". ANONYMOUS;
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Could not obtain anonymous data from user table', '', __LINE__, __FILE__, $sql);
}
$userdata = $db->sql_fetchrow($result);
init_userprefs($userdata);
//
// Load template
//
$template->set_filenames(array(
'body' => 'recent_body.tpl')
);
// Fetching topics of public forums
$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id
FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . FORUMS_TABLE . " AS f
WHERE t.forum_id = f.forum_id
AND f.auth_read = " . AUTH_ALL . "
AND t.forum_id NOT IN(" . $cfg_ignore_forums .")
AND p.post_id = t.topic_last_post_id
AND t.topic_moved_id = 0
ORDER BY p.post_id DESC LIMIT $cfg_nm_topics";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not fetch recent topics information.", '', __LINE__, __FILE__, $sql);
}
$i = 0;
while ( $row = $db->sql_fetchrow($result) )
{
$topic_title = $row['topic_title'];
if ( count($orig_word) )
{
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
}
$topic_title = ( strlen($topic_title) > $cfg_max_topic_length ) ? substr($topic_title, 0, $cfg_max_topic_length) . '…' : $topic_title;
$template->assign_block_vars('topicrow', array(
'U_TOPIC' => $viewtopic_url . '?' . POST_TOPIC_URL . '=' . $row['topic_id'],
'TOPIC_TITLE' => str_replace("'", "\'", $topic_title)
));
}
//
// Output
//
$template->pparse('body');
?>
Код: Выделить всё
document.writeln('<table><tr><td valign="top">');
<!-- BEGIN topicrow -->
document.writeln('<a href="{topicrow.U_TOPIC}">{topicrow.TOPIC_TITLE}</a><br />\n');
<!-- BEGIN column_separator -->
document.writeln('</td><td valign="top">');
<!-- END column_separator -->
<!-- END topicrow -->
document.writeln('</table>');
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
Последняя инструкция - это
Вроде, выполнил...
Добавлено спустя 11 минут 13 секунд:
Всё, пардон. Я действительно неправильно ставил аддон. Последнюю инструкцию пихал перед другой закрывающей скобкой
Теперь работает. Спасибо огромное!!!
Добавлено спустя 15 минут 50 секунд:
Только одна проблемка:
в правой колонке всегда на 2 ссылки больше, чем в левой, какое бы общее чётное количество ссылок ни указывалось. Если количество нечётное, то всё равно больше (на 1) - в правой. Как сделать, чтобы чётное количество билось на равные колонки?
P.S. на сей раз пристёгиваю файлы
...не пристегнулись. Позже попробую
Добавлено спустя 2 часа 50 минут 14 секунд:
И, кстати, почему не работает cellspacing в recent_body.tpl применительно к ячейкам? Можно ли в таком случае использовать стили?
Код: Выделить всё
#
#-----[ FIND ]------------------------------------------
#
}
#
#-----[ BEFORE, ADD ]------------------------------------------
#
$i++;
if ( $i == ceil($cfg_nm_topics / 2) )
{
$template->assign_block_vars('topicrow.column_separator', array());
}
Добавлено спустя 11 минут 13 секунд:
Всё, пардон. Я действительно неправильно ставил аддон. Последнюю инструкцию пихал перед другой закрывающей скобкой

Добавлено спустя 15 минут 50 секунд:
Только одна проблемка:
в правой колонке всегда на 2 ссылки больше, чем в левой, какое бы общее чётное количество ссылок ни указывалось. Если количество нечётное, то всё равно больше (на 1) - в правой. Как сделать, чтобы чётное количество билось на равные колонки?
P.S. на сей раз пристёгиваю файлы
...не пристегнулись. Позже попробую
Добавлено спустя 2 часа 50 минут 14 секунд:
И, кстати, почему не работает cellspacing в recent_body.tpl применительно к ячейкам? Можно ли в таком случае использовать стили?
-
- phpBB 1.2.1
- Сообщения: 24
- Стаж: 18 лет 2 месяца
Господа, ну подскажите плиз, как сгруппировать топики конкретного форума под один заголовок 
полностью, проблема описана здесь

полностью, проблема описана здесь
-
- phpBB 1.4.3
- Сообщения: 81
- Стаж: 18 лет 11 месяцев
как это вставить в сам форум?
Хотелось бы слелать так-
вот сейсас , когда вы читаете эти строки, слева есть колонка которая практически пустая.
В нее хочу вставить ТЕМЫ ЭТОГО ФОРУМА - который я сейчас читаю.
а в другом форуме будут темы другого форума.
Как бы портал.
Что то не получается
как это реализовать?
Уточняю- вставить колонку в viewtopic.php (или tpl) , содержимое которой будут заголовки сообщений именно этой темы.
вот сейсас , когда вы читаете эти строки, слева есть колонка которая практически пустая.
В нее хочу вставить ТЕМЫ ЭТОГО ФОРУМА - который я сейчас читаю.
а в другом форуме будут темы другого форума.
Как бы портал.
Что то не получается
как это реализовать?
Уточняю- вставить колонку в viewtopic.php (или tpl) , содержимое которой будут заголовки сообщений именно этой темы.
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 18 лет 1 месяц
Ребята помогите плиз. 3 дня уже вожусь с устоновкой этого мода.
Ссылка на мо рэсэнт пхп выглядит так:
http://kinosura2.ho.com.ua/phpBB-2.0.21 ... recent.php
Вставляя код:
<script language='JavaScript' type='text/javascript' src="http://kinosura2.ho.com.ua/phpBB-2.0.21 ... "></script>
Браузер выдает ошибку и ничего не выводит. Где баг?
Заранее спасибо за помощь.
Ссылка на мо рэсэнт пхп выглядит так:
http://kinosura2.ho.com.ua/phpBB-2.0.21 ... recent.php
Вставляя код:
<script language='JavaScript' type='text/javascript' src="http://kinosura2.ho.com.ua/phpBB-2.0.21 ... "></script>
Браузер выдает ошибку и ничего не выводит. Где баг?
Заранее спасибо за помощь.
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 11 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
А это что?
Это я выдрал из сгенерированного кода.
потому-то Браузер выдает ошибку и ничего не выводит.

Код: Выделить всё
<SCRIPT language="JavaScript">var lgn='kinosura2'</SCRIPT>
</HTML><!-- ><!-- "><!-- --></TEXTAREA></FORM>
</TITLE></COMMENT></A>
</DIV></SPAN></ILAYER></LAYER></IFRAME></NOFRAMES></STYLE></SCRIPT></NOSCRIPT></TABLE></SCRIPT></APPLET></FONT>
<STYLE>
#bn {
display: block;
}
</STYLE>
<SCRIPT language="JavaScript" src="http://adv.vlasenko.net/adv.js"></SCRIPT>
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 18 лет 1 месяц
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 11 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
А что не понятно? Ваш хостер добавляет свою рекламу к каждой генерируемой странице. Сервак, небось, халявный?
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 18 лет 1 месяц
-
- phpBB Guru
- Сообщения: 5484
- Стаж: 21 год 1 месяц
- Поблагодарили: 2 раза
-
- phpBB 1.2.0
- Сообщения: 17
- Стаж: 19 лет 1 месяц
- Откуда: Украина
Xpert и другие умельцы, подскажите пожалста,
у меня мод ресент топикс 1.0.4., знаю, староват, но всё отлично работает,
показывает тему, имя последнего в ней отписавшегося...
подскажите как добавить рядом отображение времени и даты последнего поста ???
так нигде пока объяснения не нашел...
пасиба заранее!
Добавлено спустя 3 часа 9 минут 49 секунд:
данке, но сам разобрался... вышло вот как - www.dchurch.com.ua
коды, шаблон и ПХПшка...
у меня мод ресент топикс 1.0.4., знаю, староват, но всё отлично работает,
показывает тему, имя последнего в ней отписавшегося...
подскажите как добавить рядом отображение времени и даты последнего поста ???
так нигде пока объяснения не нашел...
пасиба заранее!

Добавлено спустя 3 часа 9 минут 49 секунд:
данке, но сам разобрался... вышло вот как - www.dchurch.com.ua
коды, шаблон и ПХПшка...
Код: Выделить всё
<!-- BEGIN topicrow -->
document.writeln('<a href="{topicrow.U_LAST_POST}"><img src="forum/templates/subSilver/images/icon_latest_reply.gif" width="18" height="9" border="0" alt="Прочитать последнее сообщение!"/></a> - <a href="{topicrow.U_TOPIC}">{topicrow.TOPIC_TITLE}</a> [ <b>{topicrow.USERNAME}</b> ] {topicrow.POST_TIME} - [{topicrow.TOPIC_REPLIES}]<br />\n');
<!-- END topicrow -->
RECENT.PHP
<?php
/***************************************************************************
* recent.php
* -------------------
* begin : Saturday, Mar 05, 2005
* copyright : (C) 2005 Xpert
* email : xpert@phpbbguru.net
*
* $Id: recent.php,v 1.0.4 2005/08/03 20:54:00 xpert Exp $
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
/* Config section */
$cfg_ignore_forums = '0'; // ids of forums you don't want to display, separated by commas
$cfg_nm_topics = 20; // number of topics to output
$cfg_max_topic_length = 30; // max topic length, if more, title will be shortened
/* End of config */
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Let's prevent caching
//
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: 0');
header ('Pragma: no-cache');
//
// Define censored word matches
//
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
//
// Building URL
//
$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
$board_path = $server_protocol . $server_name . $server_port . $script_name;
$viewtopic_url = $board_path . '/viewtopic.' . $phpEx;
//
// Session management
// I don't want to log user in, so let's trick
//
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = ". ANONYMOUS;
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Could not obtain anonymous data from user table', '', __LINE__, __FILE__, $sql);
}
$userdata = $db->sql_fetchrow($result);
init_userprefs($userdata);
//
// Load template
//
$template->set_filenames(array(
'body' => 'recent_body.tpl')
);
// Fetching topics of public forums
$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.topic_replies, p.poster_id, p.post_time, u.user_id, u.username
FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . FORUMS_TABLE . " AS f, " . USERS_TABLE . " AS u
WHERE t.forum_id = f.forum_id
AND f.auth_read = " . AUTH_ALL . "
AND t.forum_id NOT IN(" . $cfg_ignore_forums .")
AND p.post_id = t.topic_last_post_id
AND t.topic_moved_id = 0
AND u.user_id = p.poster_id
AND u.username = u.username
ORDER BY p.post_id DESC LIMIT $cfg_nm_topics";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not fetch recent topics information.", '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$topic_title = $row['topic_title'];
if ( count($orig_word) )
{
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
}
$topic_title = ( strlen($topic_title) > $cfg_max_topic_length ) ? substr($topic_title, 0, $cfg_max_topic_length) . '…' : $topic_title;
$topic_replies = ( $row['topic_replies'] > 0) ? ' ' . $row['topic_replies'] . ' ': '';
$post_time = create_date($lang['DATE_FORMAT'] . '<b> h:s</b>', $row['post_time'], $board_config['board_timezone']);
$template->assign_block_vars('topicrow', array(
'TOPIC_REPLIES' => $topic_replies,
'POST_TIME' => $post_time,
'BOARD_PATH' => $board_path,
'U_LAST_POST' => $viewtopic_url . '?' . POST_POST_URL . '=' . $row['topic_last_post_id'] . '#' . $row['topic_last_post_id'],
'USERNAME' => $row['username'],
'U_TOPIC' => $viewtopic_url . '?' . POST_TOPIC_URL . '=' . $row['topic_id'],
'TOPIC_TITLE' => str_replace("'", "\'", $topic_title)
));
}
//
// Output
//
$template->pparse('body');
?>