Страница 1 из 2

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 29 июл 2013, 11:38
DeaDRoMeO
Всем привет. Поступил запрос на анонс модификации Was this Topic Useful?, но этот мод я не могу анонсировать по одной простой причине - мод заброшен автором с 2010 года и не прошел валидацию на оффоруме. Поэтому я анонсирую совершенно аналогичную модификацию, которая была валидирована командой phpbb.com.

Собственно встречаем - Post links. Ее назначение - добавление блока ссылок под каждым сообщением (либо в конце темы) для того чтобы пользователи могли делиться конкретным сообщением с другими пользователями различных ресурсов. Вот скрины админки и самого мода


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

Русификация уже лежит в архиве мода в нужно папке, но дополнительно открываем language/ru/viewtopic.php и находим

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

'PRINT_TOPIC'			=> 'Версия для печати',
После найденного вставляем

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

'PL_LINK'			=> 'Ссылки',
	'PL_BBCODE'			=> 'BBcode',
	'PL_HTML'			=> 'HTML',
	'PL_HIDE'			=> 'Спрятать ссылки',
	'PL_SHOW'			=> 'Показать ссылки',
---- Инструкция для стилей на основе сабсильвер2 ----

Так как в моде нет инструкций для сабсильвера, попробую прикинуть ее, пока что без скрытия блока. Открываем styles/ваш стиль/template/viewtopic_body.html и находим

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

<!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->

			<td class="profile"><strong><a href="#wrapheader">{L_BACK_TO_TOP}</a></strong></td>
			<td><div class="gensmall" style="float: {S_CONTENT_FLOW_BEGIN};">&nbsp;<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{PROFILE_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_PM --><a href="{postrow.U_PM}">{PM_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_EMAIL --><a href="{postrow.U_EMAIL}">{EMAIL_IMG}</a> <!-- ENDIF -->&nbsp;</div> <div class="gensmall" style="float: {S_CONTENT_FLOW_END};"><!-- IF not S_IS_BOT --><!-- IF postrow.U_EDIT --><a href="{postrow.U_EDIT}">{EDIT_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF --> <!-- ENDIF -->&nbsp;</div></td>
	<!-- ENDIF -->
		</tr>
Вставляем перед найденным

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

<!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->

			
			<td colspan="2"><!-- IF S_LINKS_ENABLED -->
			<hr />
			<table id="post_links_table_{postrow.POST_ID}" >
				<!-- IF S_LINKS_LINK_ENABLED -->
				<tr>
					<td>{L_PL_LINK}:</td>
					<td><input style="width: 100%;" type="text" value="{postrow.U_MINI_POST}" title="" style="width: inherit;" onclick="this.focus();this.select();" /></td>
				</tr>
				<!-- ENDIF -->
				<!-- IF S_LINKS_BBCODE_ENABLED -->
				<tr>
					<td>{L_PL_BBCODE}:</td>
					<td><input style="width: 100%;" type="text" value="[url={postrow.U_MINI_POST}]{postrow.POST_SUBJECT}[/url]" title="{TOPIC_TITLE}" style="width: inherit;" onclick="this.focus();this.select();" /></td>
				</tr>
				<!-- ENDIF -->
 				<!-- IF S_LINKS_HTML_ENABLED -->
				<tr>
					<td>{L_PL_HTML}:</td>
					<td><input style="width: 100%;" type="text" value="{postrow.U_MINI_POST_HTML}{postrow.POST_SUBJECT}</a>" title="" style="width: inherit;" onclick="this.focus();this.select();" /></td>
				</tr>
				<!-- ENDIF -->
				<tr>
					<td></td>
					<td style="width: 100%; text-align: right;"><a href="#" onclick="dE('post_links_table_{postrow.POST_ID}'); dE('post_links_p_{postrow.POST_ID}'); return false;">{L_PL_HIDE}</a></td>
				</tr>
			</table>
			<!-- ENDIF --></td>

		</tr>

Собственно незабываем после правок запускать скрипт-инсталлятор, в остальном проблем не будет. Успехов :bra_vo:

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 29 июл 2013, 11:53
Tipocheg
А будет ли апгрейд под Сабсильвер2? Так как моих знаний HTML маловато...

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 29 июл 2013, 11:59
DeaDRoMeO
Будет позже, как разберусь с анонсами)

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 29 июл 2013, 12:26
DeaDRoMeO
Дописал в первый пост инструкцию, пока что без скрытия блока ссылок

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 30 июл 2013, 13:52
dqdmitry
Наверное в тему будет, вспомнил, что и для мода статических страниц ставил что-то подобное.
Если используется много статических страниц для статей и публикаций, то тоже довольно полезно.
Ссылка как делал.

И в "Новости", кстати тоже поставил на каждую страницу. Там по аналогии.

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 30 июл 2013, 13:55
DeaDRoMeO
Ага, возьмем на заметку, хорошая вещь, тем более с помощью нее и моды никакие не нужны))

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 авг 2013, 18:33
Tipocheg
DeaDRoMeO писал(а):пока что без скрытия блока ссылок
А что это значит?

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 04 авг 2013, 12:14
DeaDRoMeO
Значит то, что блок ссылок будет всегда отображаться

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 09:28
Alexander
DeaDRoMeO писал(а):Ее назначение - добавление блока ссылок под каждым сообщением (либо в конце темы)
А как сделать, чтоб в конце темы был блок с ссылками и именно на тему, а не на пост? Я так понял настройками мода никак... Надо руками вносить изменения...

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 11:00
DeaDRoMeO
А чего там сложного ? По аналогии надо переделывать, с HTML как у вас дела?

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 11:11
Alexander
Сергей, перенести код в другое место во viewtopic_body.html я, наверное, смогу. А вот переделать так, чтоб ссылка была именно на тему, а не на пост - едва ли.
Т.е. вот здесь для меня - глухой лес, хотя я понимаю, что вид ссылки в этом коде формируется:

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

		'U_MINI_POST'		=> append_sid(generate_board_url() . "/viewtopic.$phpEx", 'p=' . $row['post_id']) . (($topic_data['topic_type'] == POST_GLOBAL) ? '&f=' . $forum_id : '') . '#p' . $row['post_id'],
		'U_MINI_POST_HTML'		=> htmlentities('<a href="' . append_sid(generate_board_url() . "/viewtopic.$phpEx", 'p=' . $row['post_id']) . (($topic_data['topic_type'] == POST_GLOBAL) ? '&f=' . $forum_id : '') . '#p' . $row['post_id'] . '">'),

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 11:49
DeaDRoMeO
Хммм, я думал лучше будет простым HTML все сделать, без использования этого мода. Имя темы выводится переменной {TOPIC_TITLE}, ссылка на тему выводится переменной {U_VIEW_TOPIC1}. Но, у себя потестировав, пришел к выводу что нужно сделать так. Открыть viewtopic.php и найти

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

$viewtopic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start == 0) ? '' : "&start=$start") . ((strlen($u_sort_param)) ? "&$u_sort_param" : '') . (($highlight_match) ? "&hilit=$highlight" : ''));
Добавить после найденного

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

$viewtopic_url1 = append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start == 0) ? '' : "&start=$start") . ((strlen($u_sort_param)) ? "&$u_sort_param" : '') . (($highlight_match) ? "&hilit=$highlight" : ''));
Найти

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

'U_VIEW_TOPIC' 			=> $viewtopic_url,
Вставить после найденного

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

'U_VIEW_TOPIC1' 			=> $viewtopic_url1,
Таким образом мы получим чистый адрес темы, без точки и слеша перед ним. А само текстовое поле, допустим называемое HTML ссылка будет иметь вид

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

<textarea readonly="readonly" cols="40" rows="2" ><a href="http://адрес форума/{U_VIEW_TOPIC1}">{TOPIC_TITLE}</a></textarea>
Ради теста оставил над этой темой данное поле, чтобы вы поглядели. Как ответите - уберу

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 11:55
Alexander
Сергей, я правильно Вас понял? Этих доработок достаточно - без установки самого мода?

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 12:02
DeaDRoMeO
Конечно, минут через 5-10 выложу окончательный HTML код, который будет и у меня стоять

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 12:19
Alexander
Пока мод тогда удалю....

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 12:37
DeaDRoMeO
Вообщем, суммарные правки таковы, открыть viewtopic.php и найти

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

$viewtopic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start == 0) ? '' : "&start=$start") . ((strlen($u_sort_param)) ? "&$u_sort_param" : '') . (($highlight_match) ? "&hilit=$highlight" : ''));
Добавить после найденного

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

$viewtopic_url1 = append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id" . (($start == 0) ? '' : "&start=$start") . ((strlen($u_sort_param)) ? "&$u_sort_param" : '') . (($highlight_match) ? "&hilit=$highlight" : ''));
$viewtopic_url2 = append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
Найти

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

'U_VIEW_TOPIC'          => $viewtopic_url,
Добавить после найденного

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

	'U_MINI_POST_HTML'		=> htmlentities('<a href="http://hello-vitebsk.ru/' . $viewtopic_url2 . '">'),
	'U_VIEW_TOPIC1' 			=> $viewtopic_url1,
В этой вставке заменить hello-vitebsk.ru на адрес своего форума
А уже в шаблон своего стиля viewtopic_body.html вставить такую конструкцию (в которой hello-vitebsk.ru заменить на адрес своего форума)

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

<table  width="100%" cellspacing="0">
						<tr>
		<td  colspan="2">Ссылки на тему</td>
	</tr>
	<tr  >
	
		<td width="20%"><b>Прямая ссылка:</b></td>
<td width="80%"><input style="width: 90%;" type="text" value="http://hello-vitebsk.ru/{U_VIEW_TOPIC1}" title=""  onclick="this.focus();this.select();" /></td>
	</tr>
	<tr >
	
		<td width="20%"><b>BB-код для форумов, сайтов, блогов:</b></td>
<td width="80%"><input style="width: 90%;" type="text" value="[url=http://hello-vitebsk.ru/{U_VIEW_TOPIC1}]{TOPIC_TITLE}[/url]"  onclick="this.focus();this.select();" /></td>
	</tr>
		<tr >
	
		<td width="20%"><b>HTML ссылка:</b></td>
<td width="80%"><input style="width: 90%;" type="text" value="{U_MINI_POST_HTML}{TOPIC_TITLE}</a>" onclick="this.focus();this.select();" /></td>
	</tr>
	</table>
Табличка без присвоенных классов, все украшательства - на вашу совесть, у меня все так выглядит

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 12:44
Alexander

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

<td width="80%"><input style="width: 90%;" type="text" value="{U_MINI_POST_HTML}{TOPIC_TITLE} </a>" onclick="this.focus();this.select();" /></td>
Лишний пробел перед <

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 12:48
DeaDRoMeO
Исправим)))

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 19:30
Alexander
Сергей, в HTML-ссылке не добавляется &start=ЧИСЛО, в том случае если это уже не первая страница темы.

Post links phpbb3 (Блок ссылок под каждым сообщением)

Добавлено: 03 ноя 2013, 19:47
DeaDRoMeO
Сейчас доделаем

Сообщение добавлено... спустя 6 минут 38 секунд:
Вместо

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

$viewtopic_url2 = append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
Поставить

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

$viewtopic_url2 = append_sid("viewtopic.$phpEx", "f=$forum_id&t=$topic_id"  . (($start == 0) ? '' : "&start=$start"));