Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Вопрос по моду "Last Forum Topic On Index" >

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Аватара пользователя
allenov
phpBB 1.4.4
Сообщения: 116
Стаж: 18 лет 11 месяцев
Откуда: Петроград

Вопрос по моду "Last Forum Topic On Index" >

Сообщение allenov »

Здравствуйте!

Вот поставил мод "Last Forum Topic On Index", его *.txt файл выглядит так:
Last Forum Topic On Index писал(а):##############################################################
## MOD Title: Last Forum Topic On Index
## MOD Author: Xpert < xpert@phpbbguru.net > http://www.phpbbguru.net
## MOD Description: This mod replaces last forum poster info with
## last forum topic info.
## MOD Version: 1.2.0 [phpBB 2.0.x]
##
## Installation Level: Easy
## Installation Time: 5 Minutes
## Files To Edit (1): index.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbbguru.net/mods/ for the
## latest version of this MOD.
##############################################################
## MOD History:
##
## 2004-08-11 - Version 1.2.0
## - Cutting special chars removed as tha's potential
## security issue.
##
## 2004-05-29 - Version 1.1.1
## - Topic length setting added
##
## 2004-05-16 - Version 1.1.0
## - Cutting special chars, as " and so on fixed
## Thanks to R@ < meos@mail.ru > for report.
##
## 2004-05-16 - Version 1.0.0
## - Initial Release
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------------
#
index.php

#
#-----[ FIND ]-----------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
break;

#
#-----[ REPLACE WITH ]----------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
ORDER BY f.cat_id, f.forum_order";
break;

#
#-----[ FIND ]-----------------------------------------
#
if ( $forum_data[$j]['forum_last_post_id'] )
{
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

$last_post = $last_post_time . '<br />';

$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
}

#
#-----[ REPLACE WITH ]---------------------------------
#
$max_topic_length = 30;

if ( $forum_data[$j]['forum_last_post_id'] )
{
$forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > $max_topic_length) ? substr($forum_data[$j]['topic_title'], 0, $max_topic_length) . '&hellip;' : $forum_data[$j]['topic_title'];

$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

$last_post = $last_post_time . ' ';

$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username'];

$last_post .= '<br /><a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>';

$last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
}

#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#
# EoM
Всё сделал так как здесь написано в руководстве по исталляции. Работает. Но имя автора, который оставил последнее сообщение является просто текстом, а не ссылкой на его профиль. Выглядет это так (имя юзера я обвёл): Изображение

Я хотел бы чтобы юзера было ссылкой на его профиль, как здесь: Изображение

Вот собственно и вопрос, как это сделать?
Подскажите мне, дубу! :wink:
Прикольные картинки :: юмор

Кому не нравится phpBB?
Поднимите руку!.. в последний раз.
Nome
phpBB 1.4.2
Сообщения: 65
Стаж: 19 лет 3 месяца

Сообщение Nome »

Код: Выделить всё

$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']); 
AFTER, ADD
$last_post_user = ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['username'] == '') ? $lang['Guest'] : $forum_data[$j]['username']) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&u=$forum_data[$j]['user_id']") . '">' . $forum_data[$j]['username'] . '</a>';
FIND
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username']; 
REPLACE WITH
$last_post .= $last_post_user;
по идее должно работать
Аватара пользователя
Romiyo
Неадекватен
Сообщения: 603
Стаж: 19 лет 5 месяцев
Откуда: tln.ee

Сообщение Romiyo »

Ой, блин, товарищи... плакать хочется, честное слово... Я понимаю, когда человек первый день знаком с ХТМЛ, но когда чел знакомится с ПХП и не знает ХТМЛ... Ладно, это всё лирика...

Повторю уже в который раз: вы когда моды ставите, то хотя бы ради интереса, для себя лично смотрели бы на код, который вставляете/меняете (на ХТМЛ-теги в первую очередь - с помощью блокнота Bred2, например - он подсвечивает теги) - стопудово гарантирую - найдёте много новых и интересных решений для улучшению внешнего вида вашего форума... Ладно, это уже не лирика, а игра, а-ля "об стенку горох"

Теперь по теме:
ВНИМАТЕЛЬНО смотрим эти строки:

Код: Выделить всё

# 
#-----[ FIND ]----------------------------------------- 
# 
if ( $forum_data[$j]['forum_last_post_id'] ) 
{ 
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']); 

$last_post = $last_post_time . '<br />'; 

$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> '; 

$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>'; 
} 

Код: Выделить всё

# 
#-----[ REPLACE WITH ]--------------------------------- 
# 
$max_topic_length = 30; 

if ( $forum_data[$j]['forum_last_post_id'] ) 
{ 
$forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > $max_topic_length) ? substr($forum_data[$j]['topic_title'], 0, $max_topic_length) . '&hellip;' : $forum_data[$j]['topic_title']; 

$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']); 

$last_post = $last_post_time . ' '; 

$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username']; 

$last_post .= '<br /><a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>'; 

$last_post .= '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>'; 
}
Теперь обращаем внимание на разницу в исходном коде

Код: Выделить всё

$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
и изменённом:

Код: Выделить всё

$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username']; 
Теперь, прикидываем хрен к носу и думаем, зачем убраны эти теги и за что они отвечают...

Ответ получим, взглянув на гиперссылку в исходнике:
<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a>
Последний раз редактировалось Romiyo 14.06.2005 22:42, всего редактировалось 1 раз.
Неадекватен
Аватара пользователя
allenov
phpBB 1.4.4
Сообщения: 116
Стаж: 18 лет 11 месяцев
Откуда: Петроград

Сообщение allenov »

ВСЁ! СПАСИБО мужики, понял что дуб-дубом...
Спасибо...
Закрывайте или ваще сносите нафиг эту тему, как я понял с детским вопросом. :oops:
Прикольные картинки :: юмор

Кому не нравится phpBB?
Поднимите руку!.. в последний раз.

Вернуться в «Поддержка модов для phpBB 2.0.x»