"Причёсываю" форум.

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 20 лет 8 месяцев
Откуда: Санкт-Петербург

"Причёсываю" форум.

Сообщение MXM »

Всем привет!
Ситуация:
- в области самого сообщения есть иконка и дата его размещения (страница viewtopic.php). Они распологаются в верхнем левом углу и размещены в последовательности: сначала иконка затем дата. Такое размещение я взял за основу и решил везде там где встречаются иконка и дата "причесать" их как в сообщении.
Где они встречаются:
а) на странице index.php они размещаются в две строки, в верхней дата, в нижней имя пользователя и иконка.
"Причесал" так:

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

#-----[ OPEN ]---------------------------------------- 
index.php
#-----[ 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 ]------------------------ 
							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 = '<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 .= $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> ';
							}
По коду из файла index.php видно, что все три параметра (дата, имя пользователя и икнока) выводятся через одну переменную $last_post. Потвердил и файл index_body.tpl там эти три параметра выводятся через {catrow.forumrow.LAST_POST}.
Вообщем никакого труда не составило причесать страницу index.php. Идем дальше...
б) в файле viewforum.php они размещаются так же как и на странице index.php в две строки, в верхней дата, в нижней имя пользователя и иконка.
Здесь возникли сложности, не то что сложности, а ряд вопросов:
Посмотрев файл viewforum_body.tpl каждый параметр выводится по одтельности:
- дата через {topicrow.LAST_POST_TIME}
- имя пользователя через {topicrow.LAST_POST_AUTHOR}
- иконка через {topicrow.LAST_POST_IMG}
Странно... почему не через одну как вindex_body.tpl.
Далее смотрю файл viewforum.php:
- для каждого каждого значение своя переменная, в index.php одна переменная на всех.
- найдена интересная переменная $first_post_time, которая не найдена в файле viewforum_body.tpl в виде {topicrow.FIRST_POST_TIME}, странно... для чего она нужна... и в каком месте она выводится... Вообщем такие вопросы.
А причесал я так:

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

#-----[ OPEN ]---------------------------------------- 
viewforum.php
#-----[ FIND ]---------------------------------------- 
		$first_post_time = create_date($board_config['default_dateformat'], $topic_rowset[$i]['topic_time'], $board_config['board_timezone']);

		$last_post_time = create_date($board_config['default_dateformat'], $topic_rowset[$i]['post_time'], $board_config['board_timezone']);

		$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $topic_rowset[$i]['id2']) . '">' . $topic_rowset[$i]['user2'] . '</a>';

		$last_post_url = '<span class="postdetails"><a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'] . '" class="gensmall"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" border="0" />' . $last_post_time . '</a></span>';
#-----[ REPLACE WITH ]------------------------ 
		$first_post_time = create_date($board_config['default_dateformat'], $topic_rowset[$i]['topic_time'], $board_config['board_timezone']);

		$last_post_time = create_date($board_config['default_dateformat'], $topic_rowset[$i]['post_time'], $board_config['board_timezone']);

		$last_post_url = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" border="0" /></a>';

		$last_post_url .= $last_post_time;

		$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $topic_rowset[$i]['id2']) . '">' . $topic_rowset[$i]['user2'] . '</a>';
#-----[ FIND ]---------------------------------------- 
			'LAST_POST_TIME' => $last_post_time, 
#-----[ REPLACE WITH ]------------------------ 
//			'LAST_POST_TIME' => $last_post_time, 
Вопрос: на сколько моё изменение правильно и повлияет ли на работоспособность форума? Зачем в файле viewforum.php переменная $first_post_time для чего служит, если не выводится (а должна)? Почему в index.php одна переменная да три значения, а в viewforum.php на каждое занчение своя переменная?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

Сообщение rxu »

MXM
А причем здесь phpBB3?
Изображение
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 20 лет 8 месяцев
Откуда: Санкт-Петербург

Сообщение MXM »

rxu, прошу прощения, я не в тот раздел разместил.
Переместите, пожалуйста, в раздел phpBB2.
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 18 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Сообщение Палыч »

MXM
честно говоря, не совсем понимаю смысла такого "причёсывания".
Вот, например, удаление гифов как таковых (а их набирается на страницу дофига) - в этом есть смысл, по-моему.

я, например, сделал вот так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 20 лет 8 месяцев
Откуда: Санкт-Петербург

Сообщение MXM »

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

Вот еще один пример на эту тему:
- когда мы проходим регистрацию, то мы заполняем поля профиля в последовательности:
ICQ Number, AIM Address, MSN Messenger, Yahoo Messenger, Сайт, Откуда, Род занятий, Интересы, Подпись.
- а если посмотреть профиль уже зарегестрированного пользователя, то обнаружим, что вывод данных происходит не в соотвествии с последовательностью ввода их в рег. форме:
MSN Messenger, Yahoo Messenger, AIM Address, ICQ Number, Откуда, Сайт, Род занятий, Интересы.

Для кого то это не критично, но я не могу смотреть на это безобразие.
Лучше безобразно, но единообразно, и наоборот. ))

Ответье на мои вопросы, пожалуйста, из первого сообщения.
Заранее благодарен!

P.S. Еще раз глянул на FIRST_POST_TIME - не нужный параметр в viewforum.php, скрипт под одну косилку все сообщения сносит на "последнее сообщение", даже если оно первое в случае, если на тему никто не ответил. Считаю, что это нормально и не нормально то, что в коде есть лишние строки, которые ни на что не влияют.

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