Расширения - это просто!

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9550
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 170 раз
Поблагодарили: 2650 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Татьяна5 » 02.02.2019 14:24

Siava, проверила - всё срабатывает, время есть
Там ли ошибка?
И не мешает ли что-то из расширений?

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4097
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 105 раз
Поблагодарили: 423 раза
Контактная информация:

Re: Расширения - это просто!

Сообщение Siava » 02.02.2019 14:25

Татьяна5, а значение меняется, если обновить страницу или перейти на другую?
Среди моих расширений, которые этим пользуются, не нашёл ни одного. Буду ещё ковыряться тогда.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9550
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 170 раз
Поблагодарили: 2650 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Татьяна5 » 02.02.2019 14:27

Siava, проверяла с обновлением страницы

Отправлено спустя 1 минуту 22 секунды:
Если перейти на другую тоже значение меняется

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11404
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2533 раза
Контактная информация:

Re: Расширения - это просто!

Сообщение Sheer » 03.02.2019 21:33

Siava писал(а):
02.02.2019 13:33
Но нифига из этого события не берутся данные
А зачем их оттуда брать, когда можно из $user -- $user->data['session_time']
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
Pazh
Former team member
Сообщения: 2192
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 41 раз
Поблагодарили: 451 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Pazh » 04.02.2019 9:36

Sheer, через $user получишь время сессии текущего пользователя, а через событие - всех пользователей.
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4097
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 105 раз
Поблагодарили: 423 раза
Контактная информация:

Re: Расширения - это просто!

Сообщение Siava » 04.02.2019 11:02

Pazh, да мне как раз текущего и надо брать.
Sheer, спасибо:) что-то даже не догадался сразу.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Pazh
Former team member
Сообщения: 2192
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 41 раз
Поблагодарили: 451 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Pazh » 04.06.2019 22:23

Или лыжи не едут, или я чет туплю...
Как сделать кашерную ссылку на модуль в личном разделе своего же расширения (например из helper-а)? 100% я где-то видел, но не могу вспомнить где. $this->u_action не предлагать, вызов из другого места

append_sid("{$this->root_path}ucp.{$this->php_ext}",'i=-vendor-ext_name-ucp-main_module'); - это работает, но коряво до ужаса выглядит
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11404
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 52 раза
Поблагодарили: 2533 раза
Контактная информация:

Re: Расширения - это просто!

Сообщение Sheer » 04.06.2019 22:43

Модуль сделать контроллером, а ссылку уже на контроллер. Очень кОшерно будет.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
Pazh
Former team member
Сообщения: 2192
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 41 раз
Поблагодарили: 451 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Pazh » 05.06.2019 16:46

Sheer, у меня от слова кАша - это более подходит к состоянию (ну и ночью спать иногда надо)
Короче твой вариант тоже не айс, т.к. в этом случаем моя часть модуля из личного раздела отображается, а вот остальные нет (либо я не так что-то сделал - если есть пример кода - скинь). Ищем дальше...
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14311
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 343 раза
Поблагодарили: 1487 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение rxu » 05.06.2019 16:57

Pazh писал(а):
04.06.2019 22:23
вызов из другого места
Это не беда. Можно посмотреть, как реализовано в официальном расширении, https://github.com/phpbb-extensions/ad-management
Изображение

Аватара пользователя
Pazh
Former team member
Сообщения: 2192
Зарегистрирован: 09.11.2009 17:46
Благодарил (а): 41 раз
Поблагодарили: 451 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Pazh » 05.06.2019 17:17

rxu, меня не поняли наверное... мне нужно получить именно саму ссылку на модуль расширения в личном разделе. Ладно, вопрос снимается пока
форум ЖК Вестердам Помощь в ЛС/email только за WM или ЯД

Аватара пользователя
Beer
phpBB 2.0.8
Сообщения: 652
Зарегистрирован: 07.07.2011 1:33
Благодарил (а): 170 раз
Поблагодарили: 62 раза

Re: Расширения - это просто!

Сообщение Beer » 30.06.2019 17:51

Окончания эвентов в шаблоне имеют отличия по действию, или же они просто для удобства названы так?

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

_append
_after
_before
_prepend

Напр.: <!-- EVENT forumlist_body_category_header_row_prepend -->

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4097
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 105 раз
Поблагодарили: 423 раза
Контактная информация:

Re: Расширения - это просто!

Сообщение Siava » 30.06.2019 18:07

Beer, названы для удобства, чтобы было понятно где находится данный event относительно какой-либо части шаблона.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
Beer
phpBB 2.0.8
Сообщения: 652
Зарегистрирован: 07.07.2011 1:33
Благодарил (а): 170 раз
Поблагодарили: 62 раза

Re: Расширения - это просто!

Сообщение Beer » 30.06.2019 19:21

Сенкс!

В forumlist_body.html есть событие шалона <!-- EVENT forumlist_body_category_header_after -->
Я создаю файл forumlist_body_category_header_after.html с содержимым, взятым из forumlist_body.html после эвента:
forumlist_body_category_header_after.html 

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

	<!-- IF not forumrow.S_IS_CAT -->
		<!-- EVENT forumlist_body_forum_row_before -->
		<li class="row">
			<!-- EVENT forumlist_body_forum_row_prepend -->
			<dl class="iconsprite row-item {forumrow.FORUM_IMG_STYLE}"><div class="board no_{forumrow.FORUM_ID}"></div>
				<dt title="{forumrow.FORUM_FOLDER_IMG_ALT}">
					<!-- IF forumrow.S_UNREAD_FORUM --><a href="{forumrow.U_VIEWFORUM}" class="row-item-link"><i class="fa fa-cog fa-spin fa-2x fa-fw margin-bottom red"></i></a><!-- ENDIF -->
					<div class="list-inner">
						<!-- IF S_ENABLE_FEEDS and forumrow.S_FEED_ENABLED -->
							<!--
								<a class="feed-icon-forum" title="{L_FEED} - {forumrow.FORUM_NAME}" href="{U_FEED}?f={forumrow.FORUM_ID}">
									<i class="icon fa-rss-square fa-fw icon-orange" aria-hidden="true"></i><span class="sr-only">{L_FEED} - {forumrow.FORUM_NAME}</span>
								</a>
							-->
						<!-- ENDIF -->
						<!-- IF forumrow.FORUM_IMAGE -->
							<!-- EVENT forumlist_body_forum_image_before -->
							<span class="forum-image"><!-- EVENT forumlist_body_forum_image_prepend -->{forumrow.FORUM_IMAGE}<!-- EVENT forumlist_body_forum_image_append --></span>
							<!-- EVENT forumlist_body_forum_image_after -->
						<!-- ENDIF -->
						<a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a>
						<!-- IF forumrow.FORUM_DESC --><br />{forumrow.FORUM_DESC}<!-- ENDIF -->
						<!-- IF forumrow.MODERATORS -->
							<br /><strong>{forumrow.L_MODERATOR_STR}{L_COLON}</strong> {forumrow.MODERATORS}
						<!-- ENDIF -->
						<!-- IF .forumrow.subforum and forumrow.S_LIST_SUBFORUMS -->
							<!-- EVENT forumlist_body_subforums_before -->
							<br /><strong>{forumrow.L_SUBFORUM_STR}{L_COLON}</strong>
							<!-- BEGIN subforum -->
								<!-- EVENT forumlist_body_subforum_link_prepend --><a href="{forumrow.subforum.U_SUBFORUM}" class="subforum<!-- IF forumrow.subforum.S_UNREAD --> unread<!-- ELSE --> read<!-- ENDIF -->" title="<!-- IF forumrow.subforum.S_UNREAD -->{L_UNREAD_POSTS}<!-- ELSE -->{L_NO_UNREAD_POSTS}<!-- ENDIF -->">
									<i class="icon <!-- IF forumrow.subforum.IS_LINK -->fa-external-link<!-- ELSE -->fa-file-o<!-- ENDIF --> fa-fw <!-- IF forumrow.subforum.S_UNREAD --> icon-red<!-- ELSE --> icon-blue<!-- ENDIF --> icon-md" aria-hidden="true"></i>{forumrow.subforum.SUBFORUM_NAME}</a><!-- IF not forumrow.subforum.S_LAST_ROW -->{L_COMMA_SEPARATOR}<!-- ENDIF --><!-- EVENT forumlist_body_subforum_link_append -->
							<!-- END subforum -->
							<!-- EVENT forumlist_body_subforums_after -->
						<!-- ENDIF -->

						<!-- IF not S_IS_BOT -->
						<div class="responsive-show" style="display: none;">
							<!-- IF forumrow.CLICKS -->
								{L_REDIRECTS}{L_COLON} <strong>{forumrow.CLICKS}</strong>
							<!-- ELSEIF not forumrow.S_IS_LINK and forumrow.TOPICS -->
								{L_TOPICS}{L_COLON} <strong>{forumrow.TOPICS}</strong>
							<!-- ENDIF -->
						</div>
						<!-- ENDIF -->
					</div>
				</dt>
				<!-- IF forumrow.CLICKS -->
					<dd class="redirect"><span>{L_REDIRECTS}{L_COLON} {forumrow.CLICKS}</span></dd>
				<!-- ELSEIF not forumrow.S_IS_LINK -->
					<dd class="topics">{forumrow.TOPICS} <dfn>{L_TOPICS}</dfn></dd>
					<dd class="posts">{forumrow.POSTS} <dfn>{L_POSTS}</dfn></dd>
					<dd class="lastpost">
						<span>
							<!-- IF forumrow.U_UNAPPROVED_TOPICS -->
								<a href="{forumrow.U_UNAPPROVED_TOPICS}" title="{L_TOPICS_UNAPPROVED}">
									<i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_TOPICS_UNAPPROVED}</span>
								</a>
							<!-- ELSEIF forumrow.U_UNAPPROVED_POSTS -->
								<a href="{forumrow.U_UNAPPROVED_POSTS}" title="{L_POSTS_UNAPPROVED_FORUM}">
									<i class="icon fa-question fa-fw icon-blue" aria-hidden="true"></i><span class="sr-only">{L_POSTS_UNAPPROVED_FORUM}</span>
								</a>
							<!-- ENDIF -->
							<!-- IF forumrow.LAST_POST_TIME -->
								<dfn>{L_LAST_POST}</dfn>
								<!-- IF forumrow.S_DISPLAY_SUBJECT -->
									<!-- EVENT forumlist_body_last_post_title_prepend -->
									<a href="{forumrow.U_LAST_POST}" title="{forumrow.LAST_POST_SUBJECT}" class="lastsubject">{forumrow.LAST_POST_SUBJECT_TRUNCATED}</a> <br />
								<!-- ENDIF -->
									{L_POST_BY_AUTHOR} {forumrow.LAST_POSTER_FULL}
								<!-- IF not S_IS_BOT -->
									<a href="{forumrow.U_LAST_POST}" title="{L_VIEW_LATEST_POST}">
										<i class="icon fa-external-link-square fa-fw icon-lightgray icon-md" aria-hidden="true"></i><span class="sr-only">{L_VIEW_LATEST_POST}</span>
									</a>
								<!-- ENDIF -->
								<br />{forumrow.LAST_POST_TIME}
							<!-- ELSE -->
								{L_NO_POSTS}<br />&nbsp;
							<!-- ENDIF -->
						</span>
					</dd>
				<!-- ELSE -->
					<dd>&nbsp;</dd>
				<!-- ENDIF -->
			</dl>
			<!-- EVENT forumlist_body_forum_row_append -->
		</li>
		<!-- EVENT forumlist_body_forum_row_after -->
	<!-- ENDIF -->
Чищу кышь, F5 - имею загруженный шаблон главной - список форумов, но получаю 1 строку из моего файла (расширения), а одну из шаблона форума. Т.е. отображается все форумыХ2 (дважды), но одна строка из созданного файла, а другая из шаблона.

Что делаю не так?
Сконвертировался с SMF2 в phpBB3.2

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9550
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 170 раз
Поблагодарили: 2650 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Татьяна5 » 30.06.2019 19:57

"Лишний" стандартный код никак не удаляете

Задача, как понимаю, состоит в том, чтобы скрыть значок rss? Его проще скрыть через css. Или, если лента не нужна вообще, отключить её в админке

Ответить

Вернуться в «Для авторов»