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

First post on every page for phpBB3

Все моды, созданные нашим сообществом для phpBB 3.0.x, будут анонсированы тут. Вся техническая поддержка по этим модам оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

First post on every page for phpBB3

Сообщение rxu »

В режиме создания или редактирования первого сообщения темы дает возможность закрепить первое сообщение вверху каждой страницы темы.
first_post_on_every_page_phpbb3_1.2.2.zip
(30.67 КБ) 4562 скачивания
first post on every page phpbb3 1.2.3

------------
Для установки на версию phpBB 3.0.6 :

В этой версии часть кода изменилась.
Поэтому в инструкции вместо

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

			// If the post need approval we will wait a lot longer.
использовать для поиска

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

                  // Check the permissions for post approval. Moderators are not affected.
После установки мода необходимо выполнить также следующую инструкцию (для снижения нагрузки на базу данных):

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

Open:
viewtopic.php

Find:
$post_list[$i] = $topic_data['topic_first_post_id'] ;

Replace to:
$post_list[$i] = (int) $topic_data['topic_first_post_id'] ;
Исправление ошибки с отображением информации о редактировании сообщения при закрепленном первом сообщении находится здесь.

FAQ

1. Кто имеет право закреплять сообщение?
Тот, кто имеет право закрывать тему.
First post on every page for phpBB3

2. Вопросы, собранные из темы, в одном сообщении:
First post on every page for phpBB3
Последний раз редактировалось Татьяна5 21.11.2014 8:43, всего редактировалось 8 раз.
Причина: Добавление ссылки на ответ о правах
Изображение
Аватара пользователя
Perfecthus
phpBB 2.0.10
Сообщения: 799
Стаж: 13 лет 5 месяцев
Откуда: Оттуда
Благодарил (а): 63 раза
Поблагодарили: 89 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Perfecthus »

rxu писал(а):Для установки на версию phpBB 3.0.6 :

В этой версии часть кода изменилась.
Поэтому в инструкции вместо

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

			// If the post need approval we will wait a lot longer.
использовать для поиска

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

                  // Check the permissions for post approval. Moderators are not affected.
Для версии 3.0.12 строчки для поиска выглядят так:

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

// Check the permissions for post approval.
			// Moderators must go through post approval like ordinary users.
Сам не сразу нашел.


Для русского языка нужно добавить строку в файл: ../language/ru/common.php
Найти:

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

'FIND_USERNAME'			=> 'Найти пользователя',
Добавить после:

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

'FIRST_POST_SHOW'		=> 'Отображать первое сообщение в верхней части каждой страницы темы',
А так MOD работает, без всяких проблем, по крайней мере пока не проявилось никаких багов.
voe
phpBB 1.0.0
Сообщения: 2
Стаж: 13 лет 10 месяцев

Re: First post on every page for phpBB3

Сообщение voe »

а будет поддержка 3.1.х?
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Anvar »

Аватара пользователя
WinSSLioN
phpBB 1.4.4
Сообщения: 106
Стаж: 9 лет 7 месяцев
Благодарил (а): 11 раз
Поблагодарили: 18 раз

Re: First post on every page for phpBB3

Сообщение WinSSLioN »

а как сделать что бы первый пост не содержал информацию о авторе, что бы только ник, и все, как на скрине


и еще, как сделать что бы все первые сообщения по умолчанию отображались на всех страницах?
Вложения
і.png
С уважением, Николай
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

WinSSLioN писал(а):первый пост не содержал информацию о авторе
Закрыть всё, что не надо, условием в шаблоне. Условие в теме есть.
WinSSLioN писал(а):по умолчанию отображались на всех страницах
Это тоже есть в теме.
Аватара пользователя
WinSSLioN
phpBB 1.4.4
Сообщения: 106
Стаж: 9 лет 7 месяцев
Благодарил (а): 11 раз
Поблагодарили: 18 раз

Re: First post on every page for phpBB3

Сообщение WinSSLioN »

Татьяна5 подскажите что конкретно куда вписать, если не трудно)
С уважением, Николай
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 13 лет 11 месяцев
Откуда: Сергиев Посад
Благодарил (а): 374 раза
Поблагодарили: 727 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение владимир1983 »

WinSSLioN писал(а):если не трудно
Если не трудно, используй поиск по теме. Ну и почитать тему будет не вредно.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
WinSSLioN
phpBB 1.4.4
Сообщения: 106
Стаж: 9 лет 7 месяцев
Благодарил (а): 11 раз
Поблагодарили: 18 раз

Re: First post on every page for phpBB3

Сообщение WinSSLioN »

владимир1983 писал(а):Если не трудно, используй поиск по теме. Ну и почитать тему будет не вредно.
Прочитал от начала и до конца

Как сделать чтобы по умолчанию закреплялся первый пост всегда?

Здесь!


Как отделить пост нашел, но только по цвету, а не так как я задумал.
Кто бы подсказал какой код обрамить условием "прятать на последующих страницах если сообщение прилепленное" или что то в этом роде.. Я нуб, простите но нужна помощь..
С уважением, Николай
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

WinSSLioN писал(а):какой код
Тот, какой хотите скрыть
Разберем viewtopic_body.html на кусочки
Аватара пользователя
WinSSLioN
phpBB 1.4.4
Сообщения: 106
Стаж: 9 лет 7 месяцев
Благодарил (а): 11 раз
Поблагодарили: 18 раз

Re: First post on every page for phpBB3

Сообщение WinSSLioN »

Татьяна5,
Скрытый текст
при всем уважении к вам, если вы не можете в полной мере помочь, и просто пытаетесь соответствовать группе "поддержка", пожалуйста, не оставляйте сообщения где нет реальной помощи. Любой из пользователей может вставить ссылку на тему и сказать мол "там ответы на все вопросы".
С таким же успехом можно дать ссылку на учебник HTML.
Спасибо за понимание.

P.S. Вспомните хотя бы себя, и то как вы нуждались в помощи
С уважением, Николай
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

WinSSLioN писал(а):и сказать мол "там ответы на все вопросы"
Не на все, а на ваш
WinSSLioN писал(а):P.S. Вспомните хотя бы себя
Помню-помню. Около месяца тогда искала ответ, перерыла не только весь этот форум - но и всё что выдал яндекс, и только после этого решила спросить
Подсказали немного, потом залезла в php (ничего в нём тогда не понимая, всё изучала с нуля), и доработала инструкцию
Аватара пользователя
WinSSLioN
phpBB 1.4.4
Сообщения: 106
Стаж: 9 лет 7 месяцев
Благодарил (а): 11 раз
Поблагодарили: 18 раз

Re: First post on every page for phpBB3

Сообщение WinSSLioN »

Татьяна5 писал(а):Не на все, а на ваш
тогда почему бы вам не скопировать ответ на мой вопрос, зачем эти лишние "телодвижения"..
С уважением, Николай
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 11 лет 10 месяцев
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: First post on every page for phpBB3

Сообщение xisp »

Татьяна5 писал(а):потом

p377777
Татьяна5 писал(а):доработала инструкцию

p377888
2 гета подряд!

WinSSLioN писал(а):скопировать ответ
WinSSLioN писал(а):зачем эти лишние "телодвижения"..
Да, зачем? Помощь нужна вам, так почему она должна делать что- то сверх минимально необходимого? На блюдечке никто ответ вам приносить не будет, если вам нужно- потрудитесь немного сами.
phpBBex
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11234
Стаж: 14 лет 2 месяца
Откуда: fotovideoforum.ru
Благодарил (а): 1782 раза
Поблагодарили: 1340 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Пчелкин »

WinSSLioN писал(а):тогда почему бы вам не скопировать ответ на мой вопрос
Мож тебе еще и форум заполнить и на обслугу его взять?
Татьяна5 писал(а): и доработала инструкцию
Все б так спрашивали и отвечали самому себе...
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: First post on every page for phpBB3

Сообщение Татьяна5 »

WinSSLioN писал(а):почему бы вам не скопировать ответ
Копирую. (Вот это как раз лишнее)
Скрытый текст
Пчелкин писал(а):Работаем со стилем prosilver

Ни для кого не секрет, что все, что мы мудрим и правим на форуме в виде правок, модов, хаков и различных переделок, в большей степени касается именно того, что называется "Темы" (topic) и "Сообщения" (post).
А так как, за вывод на форуме этих двух штук отвечает один файл - viewtopic_body.html, давайте попробуем разобраться в том, как он устроен и какие в нем штучки, в виде наборов буквочек и закорючек, за что отвечают....
Откроем стандартный файл viewtopic_body.html из дистрибутива форума и порезав его на кусочки, попробуем расписать назначение всех этих кусочков.
Открываем его, конечно, самым простым и понятным Блокнотом++ и с удивлением видим, что в нем все слишком сложно и не понятно.
Во-первых, в файле много цветных буквочек и они, странным образом, переплетаются в какую-то стройную структуру, которая на первый взгляд, кажется непонятной.
Но это только на первый взгляд. На самом деле все просто...
Во-вторых - все строчки в файле имеют какой-то непонятный порядок расположения. Хотя на самом деле (а вы об этом уже должны знать) - все тоже просто.
Давайте все же посмотрим на файл глазами Блокнота++, что бы увидеть его во всей красе...

Вот его полный код...Версия двига 3.0.11 prosilver

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

<!-- INCLUDE overall_header.html -->
<!-- IF U_MCP --><p>[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]</p><!-- ENDIF -->
<h2><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a></h2>
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->
<!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF -->

<!-- IF MODERATORS -->
<p>
	<strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->:</strong> {MODERATORS}
</p>
<!-- ENDIF -->

<!-- IF S_FORUM_RULES -->
	<div class="rules">
		<div class="inner"><span class="corners-top"><span></span></span>

		<!-- IF U_FORUM_RULES -->
			<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
		<!-- ELSE -->
			<strong>{L_FORUM_RULES}</strong><br />
			{FORUM_RULES}
		<!-- ENDIF -->

		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->

<div class="topic-actions">

	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>

	<!-- IF S_DISPLAY_SEARCHBOX -->
		<div class="search-box">
			<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
			<fieldset>
				<input class="inputbox search tiny"  type="text" name="keywords" id="search_keywords" size="20" value="{L_SEARCH_TOPIC}" onclick="if(this.value=='{LA_SEARCH_TOPIC}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_TOPIC}';" />
				<input class="button2" type="submit" value="{L_SEARCH}" />
				{S_SEARCH_LOCAL_HIDDEN_FIELDS}
			</fieldset>
			</form>
		</div>
	<!-- ENDIF -->

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			<!-- IF U_VIEW_UNREAD_POST and not S_IS_BOT --><a href="{U_VIEW_UNREAD_POST}">{L_VIEW_UNREAD_POST}</a> &bull; <!-- ENDIF -->{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->

</div>
<div class="clear"></div>

<!-- IF S_HAS_POLL -->
	<form method="post" action="{S_POLL_ACTION}">

	<div class="panel">
		<div class="inner"><span class="corners-top"><span></span></span>

		<div class="content">
			<h2>{POLL_QUESTION}</h2>
			<p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE -->{L_MAX_VOTES}<!-- ENDIF --></p>

			<fieldset class="polls">
			<!-- BEGIN poll_option -->
				<dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF -->>
					<dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
					<!-- IF S_CAN_VOTE --><dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
					<!-- IF S_DISPLAY_RESULTS --><dd class="resultbar"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT};">{poll_option.POLL_OPTION_RESULT}</div></dd>
					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd><!-- ENDIF -->
				</dl>
			<!-- END poll_option -->

			<!-- IF S_DISPLAY_RESULTS -->
				<dl>
					<dt>&nbsp;</dt>
					<dd class="resultbar">{L_TOTAL_VOTES} : {TOTAL_VOTES}</dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF S_CAN_VOTE -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF not S_DISPLAY_RESULTS -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
				</dl>
			<!-- ENDIF -->
			</fieldset>
		</div>

		<span class="corners-bottom"><span></span></span></div>
		{S_FORM_TOKEN}
		{S_HIDDEN_FIELDS}
	</div>


	</form>
	<hr />
<!-- ENDIF -->

<!-- BEGIN postrow -->
	<!-- IF postrow.S_FIRST_UNREAD --><a id="unread"></a><!-- ENDIF -->
	<div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_ONLINE and not postrow.S_IGNORE_POST --> online<!-- ENDIF -->">
		<div class="inner"><span class="corners-top"><span></span></span>

		<div class="postbody">
			<!-- IF postrow.S_IGNORE_POST -->
				<div class="ignore">{postrow.L_IGNORE_POST}</div>
			<!-- ELSE -->

		<!-- IF not S_IS_BOT -->
			<!-- IF postrow.U_EDIT or postrow.U_DELETE or postrow.U_REPORT or postrow.U_WARN or postrow.U_INFO or postrow.U_QUOTE -->
				<ul class="profile-icons">
					<!-- IF postrow.U_EDIT --><li class="edit-icon"><a href="{postrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_DELETE --><li class="delete-icon"><a href="{postrow.U_DELETE}" title="{L_DELETE_POST}"><span>{L_DELETE_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_REPORT --><li class="report-icon"><a href="{postrow.U_REPORT}" title="{L_REPORT_POST}"><span>{L_REPORT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WARN --><li class="warn-icon"><a href="{postrow.U_WARN}" title="{L_WARN_USER}"><span>{L_WARN_USER}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_INFO --><li class="info-icon"><a href="{postrow.U_INFO}" title="{L_INFORMATION}"><span>{L_INFORMATION}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_QUOTE --><li class="quote-icon"><a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>{L_REPLY_WITH_QUOTE}</span></a></li><!-- ENDIF -->
				</ul>
			<!-- ENDIF -->
		<!-- ENDIF -->

			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
			<p class="author"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF -->{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> &raquo; {postrow.POST_DATE} </p>

			<!-- IF postrow.S_POST_UNAPPROVED or postrow.S_POST_REPORTED -->
				<p class="rules">
					<!-- IF postrow.S_POST_UNAPPROVED -->{UNAPPROVED_IMG} <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_UNAPPROVED}</strong></a><br /><!-- ENDIF -->
					<!-- IF postrow.S_POST_REPORTED -->{REPORTED_IMG} <a href="{postrow.U_MCP_REPORT}"><strong>{L_POST_REPORTED}</strong></a><!-- ENDIF -->
				</p>
			<!-- ENDIF -->

			<div class="content">{postrow.MESSAGE}</div>

			<!-- IF postrow.S_HAS_ATTACHMENTS -->
				<dl class="attachbox">
					<dt>{L_ATTACHMENTS}</dt>
					<!-- BEGIN attachment -->
						<dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
					<!-- END attachment -->
				</dl>
			<!-- ENDIF -->

			<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
			<!-- IF postrow.EDITED_MESSAGE or postrow.EDIT_REASON -->
				<div class="notice">{postrow.EDITED_MESSAGE}
					<!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}:</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
				</div>
			<!-- ENDIF -->

			<!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
			<!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
		<!-- ENDIF -->

		</div>

		<!-- IF not postrow.S_IGNORE_POST -->
			<dl class="postprofile" id="profile{postrow.POST_ID}">
			<dt>
				<!-- IF postrow.POSTER_AVATAR -->
					<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
				<!-- ENDIF -->
				<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
			</dt>

			<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->

		<dd>&nbsp;</dd>

		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->

		<!-- IF postrow.S_PROFILE_FIELD1 -->
			<!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
			<dd><strong>{postrow.PROFILE_FIELD1_NAME}:</strong> {postrow.PROFILE_FIELD1_VALUE}</dd>
		<!-- ENDIF -->

		<!-- BEGIN custom_fields -->
			<dd><strong>{postrow.custom_fields.PROFILE_FIELD_NAME}:</strong> {postrow.custom_fields.PROFILE_FIELD_VALUE}</dd>
		<!-- END custom_fields -->

		<!-- IF not S_IS_BOT -->
		<!-- IF postrow.U_PM or postrow.U_EMAIL or postrow.U_WWW or postrow.U_MSN or postrow.U_ICQ or postrow.U_YIM or postrow.U_AIM or postrow.U_JABBER -->
			<dd>
				<ul class="profile-icons">
					<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}"><span>{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
				</ul>
			</dd>
		<!-- ENDIF -->
		<!-- ENDIF -->

		</dl>
	<!-- ENDIF -->

		<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>

		<span class="corners-bottom"><span></span></span></div>
	</div>

	<hr class="divider" />
<!-- END postrow -->
<!-- IF S_QUICK_REPLY -->
	<!-- INCLUDE quickreply_editor.html -->
<!-- ENDIF -->
<!-- IF S_NUM_POSTS > 1 or PREVIOUS_PAGE -->
	<form id="viewtopic" method="post" action="{S_TOPIC_ACTION}">

	<fieldset class="display-options" style="margin-top: 0; ">
		<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left-box {S_CONTENT_FLOW_BEGIN}">{L_PREVIOUS}</a><!-- ENDIF -->
		<!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right-box {S_CONTENT_FLOW_END}">{L_NEXT}</a><!-- ENDIF -->
		<!-- IF not S_IS_BOT -->
		<label>{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS}</label>
		<label>{L_SORT_BY} {S_SELECT_SORT_KEY}</label> <label>{S_SELECT_SORT_DIR} <input type="submit" name="sort" value="{L_GO}" class="button2" /></label>
		<!-- ENDIF -->
	</fieldset>

	</form>
	<hr />
<!-- ENDIF -->

<div class="topic-actions">
	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
</div>

<!-- INCLUDE jumpbox.html -->

<!-- IF S_TOPIC_MOD -->
	<form method="post" action="{S_MOD_ACTION}">
	<fieldset class="quickmod">
		<label for="quick-mod-select">{L_QUICK_MOD}:</label> {S_TOPIC_MOD} <input type="submit" value="{L_GO}" class="button2" />
		{S_FORM_TOKEN}
	</fieldset>
	</form>
<!-- ENDIF -->

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
	<p>{LOGGED_IN_USER_LIST}</p>
<!-- ENDIF -->

<!-- INCLUDE overall_footer.html -->
Что мы видим, в первую очередь, интересного? Что-то все цветное и загадочное...
Мда...тогда давайте во всем разбираться по порядку.
Что такого интересного мы замечаем в этом файле сразу ?
Ну, конечно, сразу - это зелененькие слова заключенные в такие вот маленькие стрелочки с двух сторон -
<!-- IF MODERATORS --> , <!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->, <!-- IF S_DISPLAY_SEARCHBOX --> и прочее...
Эти "умные" кусочки кода - условия...Это те самые условия, которые лучше нас знают о том, где и что брать и для кого эту информацию выводить...(ту, которая заключена в зону их влияния)...при этом условия эти всегда имеют начало и конец.
Спорить с этими "умными" закорючками бесполезно. Не переспоришь. Лучше ими умно управлять!!!
Этих условий много и писать подробно о назначении каждого - задача совсем другого материала и не сейчас...
Надо только помнить ГЛАВНОЕ ПРАВИЛО этих условий : любое условие вида (например) <!-- IF MODERATORS --> должно обязательно иметь свою вторую половинку - окончание своего действия (условия) - <!-- ENDIF -->
И любое количество условий в файлах HTML должны быть парными - начало и конец...
Правда есть небольшое отступление. Это еще один код, который обильно попадается в таких файлах. Это - <!-- ELSE -->. Дословно его значение можно перевести так - ИНАЧЕ, ЛИБО, В ЗАВИСИМОСТИ, ВОЗМОЖНО...
Помните - наличие такого кусочка кода говорит о том, что в этом месте возможен выбор условий или методов вывода информации в зависимости от... да от много.. от прав...от членства...от других условий, под которые попали эти (и такое бывает).
О самом важном в файлах HTML поговорили, а теперь начнем разбираться с каждым кусочком нашего
viewtopic_body.html

В самом верху открытого файла нас встречает файл-команда вывода шапки нашего форума, за которую отвечает файл overall_header.html.
А команда на показ шапки в нашем файле viewtopic_body.html выглядит так - <!-- INCLUDE overall_header.html -->.
Делаем вывод, что такой вид системных тегов - <!-- INCLUDE тут что-то написано.html --> и есть код на вывод в данном месте информации из другого стороннего файла.
Это можно назвать "вмуровыванием" одного файла в другой, в данном случае, в нами рассматриваемый файл viewtopic_body.html, происходит "вмуровывание" файла шапки overall_header.html.
И в самом низу нашего файла viewtopic_body.html есть еще один код <!-- INCLUDE overall_footer.html -->, который выводит нам через системный файл overall_footer.html "подвал" форума (самый его низ, который всегда сопровождает нас, как и шапка, по всему форуму).

Вот шапка нормального стандартного форума -
Вложение snap1068.jpg больше недоступно
А это "подвал" стандартного форума -
Вложение snap1067.jpg больше недоступно
Для сравнения:
"Шапка" сильно модифицированного форума -
Нестандартный вариант №01
Вложение snap1069.jpg больше недоступно
А это "подвал" сильно модифицированного форума
Нестандартный вариант №02
Вложение snap1070.jpg больше недоступно
Опускаемся ниже по файлу viewtopic_body.html и показав его очередную часть кода, будем описывать его предназначение.

- Вход в Модераторский раздел.

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

<!-- IF U_MCP --><p>[&nbsp;<a href="{U_MCP}">{L_MCP}</a>&nbsp;]</p><!-- ENDIF -->
Вложение snap1071.jpg больше недоступно
Нестандартный вариант №03
Вложение snap1074.jpg больше недоступно
Есть одно наблюдение...в том месте, где по стандарту должен находиться это блок, я практически его ни у кого не видел...все админы двигают этот кусочек туда, где он им удобней...это не смертельно...У меня он вообще удален, а вход в Модераторский раздел прилеплен к списку модераторов ниже названия темы...

- Название темы

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

<h2><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a></h2>
Вложение snap1072.jpg больше недоступно
Нестандартный вариант №04
Вложение snap1075.jpg больше недоступно
- Код блока вывода модераторов данного форума и естественно модераторов этой темы

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

<!-- IF MODERATORS -->
<p>
	<strong><!-- IF S_SINGLE_MODERATOR -->{L_MODERATOR}<!-- ELSE -->{L_MODERATORS}<!-- ENDIF -->:</strong> {MODERATORS}
</p>
<!-- ENDIF -->
Вложение snap1073.jpg больше недоступно
Нестандартный вариант №05
Вложение snap1077.jpg больше недоступно
- Код блока вывода, так называемых, ПРАВИЛ ФОРУМА (подфорума) , в котором открыта эта тема.

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

<!-- IF S_FORUM_RULES -->
	<div class="rules">
		<div class="inner"><span class="corners-top"><span></span></span>

		<!-- IF U_FORUM_RULES -->
			<a href="{U_FORUM_RULES}">{L_FORUM_RULES}</a>
		<!-- ELSE -->
			<strong>{L_FORUM_RULES}</strong><br />
			{FORUM_RULES}
		<!-- ENDIF -->

		<span class="corners-bottom"><span></span></span></div>
	</div>
<!-- ENDIF -->
Через этот блок выводится именно та информация, которую вы забиваете в админке в самом низу в настройках каждой категории, форума или подфорума...
Несколько примеров:
Вложение snap1078.jpg больше недоступно
Вложение snap1079.jpg больше недоступно
Вложение snap1080.jpg больше недоступно
- Код блока кнопки "Ответить" и естественно, кнопки "Тема закрыта"

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

	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>
- Код блока функции "поиск по теме"

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

	<!-- IF S_DISPLAY_SEARCHBOX -->
		<div class="search-box">
			<form method="get" id="topic-search" action="{S_SEARCHBOX_ACTION}">
			<fieldset>
				<input class="inputbox search tiny"  type="text" name="keywords" id="search_keywords" size="20" value="{L_SEARCH_TOPIC}" onclick="if(this.value=='{LA_SEARCH_TOPIC}')this.value='';" onblur="if(this.value=='')this.value='{LA_SEARCH_TOPIC}';" />
				<input class="button2" type="submit" value="{L_SEARCH}" />
				{S_SEARCH_LOCAL_HIDDEN_FIELDS}
			</fieldset>
			</form>
		</div>
	<!-- ENDIF -->
- Код блока вывода количества сообщений в теме, количества страниц в теме и кнопочек перехода на другие страницы темы, если они есть (пагинация).

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

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			<!-- IF U_VIEW_UNREAD_POST and not S_IS_BOT --><a href="{U_VIEW_UNREAD_POST}">{L_VIEW_UNREAD_POST}</a> &bull; <!-- ENDIF -->{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
И все три эти кусочка составляют вот такую графическую картинку...
Вложение snap1081.jpg больше недоступно
Код блока вывода созданного в теме опроса...отмечу особо - только вывода....

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

<!-- IF S_HAS_POLL -->
	<form method="post" action="{S_POLL_ACTION}">

	<div class="panel">
		<div class="inner"><span class="corners-top"><span></span></span>

		<div class="content">
			<h2>{POLL_QUESTION}</h2>
			<p class="author">{L_POLL_LENGTH}<!-- IF S_CAN_VOTE and L_POLL_LENGTH --><br /><!-- ENDIF --><!-- IF S_CAN_VOTE -->{L_MAX_VOTES}<!-- ENDIF --></p>

			<fieldset class="polls">
			<!-- BEGIN poll_option -->
				<dl class="<!-- IF poll_option.POLL_OPTION_VOTED -->voted<!-- ENDIF -->"<!-- IF poll_option.POLL_OPTION_VOTED --> title="{L_POLL_VOTED_OPTION}"<!-- ENDIF -->>
					<dt><!-- IF S_CAN_VOTE --><label for="vote_{poll_option.POLL_OPTION_ID}">{poll_option.POLL_OPTION_CAPTION}</label><!-- ELSE -->{poll_option.POLL_OPTION_CAPTION}<!-- ENDIF --></dt>
					<!-- IF S_CAN_VOTE --><dd style="width: auto;"><!-- IF S_IS_MULTI_CHOICE --><input type="checkbox" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ELSE --><input type="radio" name="vote_id[]" id="vote_{poll_option.POLL_OPTION_ID}" value="{poll_option.POLL_OPTION_ID}"<!-- IF poll_option.POLL_OPTION_VOTED --> checked="checked"<!-- ENDIF --> /><!-- ENDIF --></dd><!-- ENDIF -->
					<!-- IF S_DISPLAY_RESULTS --><dd class="resultbar"><div class="<!-- IF poll_option.POLL_OPTION_PCT < 20 -->pollbar1<!-- ELSEIF poll_option.POLL_OPTION_PCT < 40 -->pollbar2<!-- ELSEIF poll_option.POLL_OPTION_PCT < 60 -->pollbar3<!-- ELSEIF poll_option.POLL_OPTION_PCT < 80 -->pollbar4<!-- ELSE -->pollbar5<!-- ENDIF -->" style="width:{poll_option.POLL_OPTION_PERCENT};">{poll_option.POLL_OPTION_RESULT}</div></dd>
					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- ENDIF --></dd><!-- ENDIF -->
				</dl>
			<!-- END poll_option -->

			<!-- IF S_DISPLAY_RESULTS -->
				<dl>
					<dt>&nbsp;</dt>
					<dd class="resultbar">{L_TOTAL_VOTES} : {TOTAL_VOTES}</dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF S_CAN_VOTE -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><input type="submit" name="update" value="{L_SUBMIT_VOTE}" class="button1" /></dd>
				</dl>
			<!-- ENDIF -->

			<!-- IF not S_DISPLAY_RESULTS -->
				<dl style="border-top: none;">
					<dt>&nbsp;</dt>
					<dd class="resultbar"><a href="{U_VIEW_RESULTS}">{L_VIEW_RESULTS}</a></dd>
				</dl>
			<!-- ENDIF -->
			</fieldset>
		</div>
		<span class="corners-bottom"><span></span></span></div>
		{S_FORM_TOKEN}
		{S_HIDDEN_FIELDS}
	</div>
	</form>
	<hr />
<!-- ENDIF -->
Вот так он выглядит на ГУРУ...
Вложение b0e758f6fc37[1].jpg больше недоступно
С этого места в файле идут коды вывода самих сообщений в теме...

Код начала блока вывода сообщений...

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

<!-- BEGIN postrow -->
	<!-- IF postrow.S_FIRST_UNREAD --><a id="unread"></a><!-- ENDIF -->
Код, на котором заканчивается блок вывода сообщений -

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

		<span class="corners-bottom"><span></span></span></div>
	</div>

	<hr class="divider" />
<!-- END postrow -->


Теперь разберем на кусочки блок сообщений...Он состоит из трех частей -
1. Блок информации с названием темы (сообщения), автором и временем размещения данного сообщения.
2. Блок самого сообщения с содержимым сообщения, различной специнформации, с подписью автора данного сообщения, информацией о правке, информацией о вложениях.
3. Блок минипрофиля автора данного сообщения.


1. Блок информации с названием темы (сообщения), автором, временем размещения данного сообщения, информации о жалобе и премодерации.

Смотрим на все коды по порядку расположения их в файле viewtopic_body.html

Код отвечает за порядок вывода информации в блоке сообщения...

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

	<div id="p{postrow.POST_ID}" class="post <!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF --><!-- IF postrow.S_UNREAD_POST --> unreadpost<!-- ENDIF --><!-- IF postrow.S_POST_REPORTED --> reported<!-- ENDIF --><!-- IF postrow.S_ONLINE and not postrow.S_IGNORE_POST --> online<!-- ENDIF -->">
Код, который закрывает сообщение в том случае, если вами автор сообщения добавлен в функцию "Игнор"....

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

		<div class="postbody">
			<!-- IF postrow.S_IGNORE_POST -->
				<div class="ignore">{postrow.L_IGNORE_POST}</div>
			<!-- ELSE -->
Код вывода кнопок управления сообщением...каждая кнопка под своими "особыми" правами...

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

		<!-- IF not S_IS_BOT -->
			<!-- IF postrow.U_EDIT or postrow.U_DELETE or postrow.U_REPORT or postrow.U_WARN or postrow.U_INFO or postrow.U_QUOTE -->
				<ul class="profile-icons">
					<!-- IF postrow.U_EDIT --><li class="edit-icon"><a href="{postrow.U_EDIT}" title="{L_EDIT_POST}"><span>{L_EDIT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_DELETE --><li class="delete-icon"><a href="{postrow.U_DELETE}" title="{L_DELETE_POST}"><span>{L_DELETE_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_REPORT --><li class="report-icon"><a href="{postrow.U_REPORT}" title="{L_REPORT_POST}"><span>{L_REPORT_POST}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WARN --><li class="warn-icon"><a href="{postrow.U_WARN}" title="{L_WARN_USER}"><span>{L_WARN_USER}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_INFO --><li class="info-icon"><a href="{postrow.U_INFO}" title="{L_INFORMATION}"><span>{L_INFORMATION}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_QUOTE --><li class="quote-icon"><a href="{postrow.U_QUOTE}" title="{L_REPLY_WITH_QUOTE}"><span>{L_REPLY_WITH_QUOTE}</span></a></li><!-- ENDIF -->
				</ul>
			<!-- ENDIF -->
		<!-- ENDIF -->
Код вывода иконок сообщения, если они назначены....
Вот этих -
308b2180f4a7.jpg
308b2180f4a7.jpg (4.24 КБ) 23 просмотра

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

			<h3 <!-- IF postrow.S_FIRST_ROW -->class="first"<!-- ENDIF -->><!-- IF postrow.POST_ICON_IMG --><img src="{T_ICONS_PATH}{postrow.POST_ICON_IMG}" width="{postrow.POST_ICON_IMG_WIDTH}" height="{postrow.POST_ICON_IMG_HEIGHT}" alt="" /> <!-- ENDIF --><a href="#p{postrow.POST_ID}">{postrow.POST_SUBJECT}</a></h3>
Код вывода значка "смотрено -не смотрено", информации об авторе сообщения и времени его создания...

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

			<p class="author"><!-- IF S_IS_BOT -->{postrow.MINI_POST_IMG}<!-- ELSE --><a href="{postrow.U_MINI_POST}">{postrow.MINI_POST_IMG}</a><!-- ENDIF -->{L_POST_BY_AUTHOR} <strong>{postrow.POST_AUTHOR_FULL}</strong> &raquo; {postrow.POST_DATE} </p>
Код вывода информации о том, что на сообщение отправлена жалоба, о том, что сообщение нуждается в премодерации модераторами форума...

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

			<!-- IF postrow.S_POST_UNAPPROVED or postrow.S_POST_REPORTED -->
				<p class="rules">
					<!-- IF postrow.S_POST_UNAPPROVED -->{UNAPPROVED_IMG} <a href="{postrow.U_MCP_APPROVE}"><strong>{L_POST_UNAPPROVED}</strong></a><br /><!-- ENDIF -->
					<!-- IF postrow.S_POST_REPORTED -->{REPORTED_IMG} <a href="{postrow.U_MCP_REPORT}"><strong>{L_POST_REPORTED}</strong></a><!-- ENDIF -->
				</p>
			<!-- ENDIF -->
2. Блок самого сообщения с содержимым сообщения, различной специнформации, с подписью автора данного сообщения, информацией о правке, информацией о вложениях.

Это самое главное и самое интересное - код выборки из базы данных самих текстов сообщений...

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

			<div class="content">{postrow.MESSAGE}</div>
Код вывода информации о вложениях в сообщение...
Здесь выводится все - и название файла, и его просмотр, если это ИЗО, и добавочное описание к вложению автором...
Ну и это сообщение тоже здесь - У вас нет необходимых прав для просмотра вложений в этом сообщении

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

			<!-- IF postrow.S_HAS_ATTACHMENTS -->
				<dl class="attachbox">
					<dt>{L_ATTACHMENTS}</dt>
					<!-- BEGIN attachment -->
						<dd>{postrow.attachment.DISPLAY_ATTACHMENT}</dd>
					<!-- END attachment -->
				</dl>
			<!-- ENDIF -->

			<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
Код вывода информации о причине правки сообщения: кем, когда и сколько раз...

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

			<!-- IF postrow.S_DISPLAY_NOTICE --><div class="rules">{L_DOWNLOAD_NOTICE}</div><!-- ENDIF -->
			<!-- IF postrow.EDITED_MESSAGE or postrow.EDIT_REASON -->
				<div class="notice">{postrow.EDITED_MESSAGE}
					<!-- IF postrow.EDIT_REASON --><br /><strong>{L_REASON}:</strong> <em>{postrow.EDIT_REASON}</em><!-- ENDIF -->
				</div>
			<!-- ENDIF -->

			<!-- IF postrow.BUMPED_MESSAGE --><div class="notice"><br /><br />{postrow.BUMPED_MESSAGE}</div><!-- ENDIF -->
Код вывода подписей авторов сообщений, если подпись заполнена автором сообщения в его Личном центре....

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

			<!-- IF postrow.SIGNATURE --><div id="sig{postrow.POST_ID}" class="signature">{postrow.SIGNATURE}</div><!-- ENDIF -->
Часть первая и вторая может выглядеть у всех по разному.
Возможности управлять ее видом - не ограничены. Все зависит от желания и навыка.


Несколько примеров вывода самих сообщений
Вложение snap1082.jpg больше недоступно
Вложение snap1083.jpg больше недоступно
Вложение snap1084.jpg больше недоступно
Вложение snap1085.jpg больше недоступно
3. Блок минипрофиля автора данного сообщения.

Код вывода аватарок, никнейма и звания автора сообщения...

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

				<!-- IF postrow.POSTER_AVATAR -->
					<!-- IF postrow.U_POST_AUTHOR --><a href="{postrow.U_POST_AUTHOR}">{postrow.POSTER_AVATAR}</a><!-- ELSE -->{postrow.POSTER_AVATAR}<!-- ENDIF --><br />
				<!-- ENDIF -->
				<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->
			</dt>

			<!-- IF postrow.RANK_TITLE or postrow.RANK_IMG --><dd>{postrow.RANK_TITLE}<!-- IF postrow.RANK_TITLE and postrow.RANK_IMG --><br /><!-- ENDIF -->{postrow.RANK_IMG}</dd><!-- ENDIF -->
Код вывода различной статистической информации об авторе сообщения...тут каждый изгаляется как может...
Возможности не ограничены...

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

		<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
		<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Код вывода кнопок на личные сообщения, веб странички, джаббер, емейл, скайп и прочее...
Значки выводятся только в том случае, если соответствующие поля включены администрацией в админке и заполнены пользователем...
Каждая кнопка тоже находится под своим индивидуальным условием...

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

		<!-- IF not S_IS_BOT -->
		<!-- IF postrow.U_PM or postrow.U_EMAIL or postrow.U_WWW or postrow.U_MSN or postrow.U_ICQ or postrow.U_YIM or postrow.U_AIM or postrow.U_JABBER -->
			<dd>
				<ul class="profile-icons">
					<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}"><span>{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
				</ul>
			</dd>
		<!-- ENDIF -->
		<!-- ENDIF -->
Код кнопки возврата на самый верх темы....

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

		<div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div>
На этом часть кода стандартного минипрофиля заканчивается...
Смотрятся минипрофили у всех по разному...есть правосторонние...есть левосторонние...

Несколько примеров минипрофилей -
Вложение snap1086.jpg больше недоступно
Вложение snap1087.jpg больше недоступно
Вложение snap1088.jpg больше недоступно
Вложение snap1089.jpg больше недоступно
Поехали дальше гулять по файлу viewtopic_body.html Осталось немного....

Код вывода формы быстрого ответа...

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

<!-- IF S_QUICK_REPLY -->
	<!-- INCLUDE quickreply_editor.html -->
<!-- ENDIF -->
Код блока вывода ссылок на "следующая" и "предыдущая" страницы темы и кнопочек выбора сортировки сообщений в теме...

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

<!-- IF S_NUM_POSTS > 1 or PREVIOUS_PAGE -->
	<form id="viewtopic" method="post" action="{S_TOPIC_ACTION}">

	<fieldset class="display-options" style="margin-top: 0; ">
		<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left-box {S_CONTENT_FLOW_BEGIN}">{L_PREVIOUS}</a><!-- ENDIF -->
		<!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right-box {S_CONTENT_FLOW_END}">{L_NEXT}</a><!-- ENDIF -->
		<!-- IF not S_IS_BOT -->
		<label>{L_DISPLAY_POSTS}: {S_SELECT_SORT_DAYS}</label>
		<label>{L_SORT_BY} {S_SELECT_SORT_KEY}</label> <label>{S_SELECT_SORT_DIR} <input type="submit" name="sort" value="{L_GO}" class="button2" /></label>
		<!-- ENDIF -->
	</fieldset>
	</form>
	<hr />
<!-- ENDIF -->


А выглядит весь блок так...
Вложение 95d7b713e93e[1].jpg больше недоступно
Код вывода кнопки "Ответить" и соответственно кнопки "Тема закрыта"...

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

	<div class="buttons">
	<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
		<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
	<!-- ENDIF -->
	</div>
Код вывода кнопок пагинации...

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

	<!-- IF PAGINATION or TOTAL_POSTS -->
		<div class="pagination">
			{TOTAL_POSTS}
			<!-- IF PAGE_NUMBER --><!-- IF PAGINATION --> &bull; <a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> &bull; <span>{PAGINATION}</span><!-- ELSE --> &bull; {PAGE_NUMBER}<!-- ENDIF --><!-- ENDIF -->
		</div>
	<!-- ENDIF -->
Вместе последние два куста кода выглядят так...
Вложение snap1092.jpg больше недоступно
Очень интересная часть файла...пример как один файл вмурован в другой...

В файл viewtopic_body.html вставлен другой исполняемый файл jumpbox.html со своими особыми правами и настройкой из админки. Файл jumpbox.html отвечает за быстрый переход в другие форумы или подфорумы с вплывающими менюшками выбора для перехода...

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

<!-- INCLUDE jumpbox.html -->


Выглядит это так -
308b2180f4a7.jpg
308b2180f4a7.jpg (4.24 КБ) 23 просмотра
Код блока быстрых действий с сообщениями или темой, так называемые "Быстрые операции".
В основном виден только модераторам и пользователям с особыми правами на форуме.

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

<!-- IF S_TOPIC_MOD -->
	<form method="post" action="{S_MOD_ACTION}">
	<fieldset class="quickmod">
		<label for="quick-mod-select">{L_QUICK_MOD}:</label> {S_TOPIC_MOD} <input type="submit" value="{L_GO}" class="button2" />
		{S_FORM_TOKEN}
	</fieldset>
	</form>
<!-- ENDIF -->
Вот она -
Вложение snap1090.jpg больше недоступно
Код блока вывода информации о том, кто на форуме, а конкретно в этой, просматриваемой теме..

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

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<h3><!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF --></h3>
	<p>{LOGGED_IN_USER_LIST}</p>
<!-- ENDIF -->
Так все это выглядит -
Вложение snap1091.jpg больше недоступно
И в самом конце файла viewtopic_body.html вывод подвала форума, о чем уже писалось выше...

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

<!-- INCLUDE overall_footer.html -->
На этом все. Спасибо за внимание...

С уважением Пчелкин....
Закрыто

Вернуться в «Анонсы и поддержка модов для phpBB 3.0.x»