Страница 52 из 55

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

Добавлено: 30.06.2019 20:06
Beer
Я хочу загрузить свой шаблон - содержимое блока <ul class="topiclist forums"> (списк форумов на главной). Из расширения.

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

Добавлено: 30.06.2019 20:18
Татьяна5
Заменить весь шаблон? Добавить данные в стандартный шаблон из расширения?
Что должно выйти в итоге?

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

Добавлено: 30.06.2019 20:32
Beer
У меня сейчас свой исправленный стиль - все картинки форумов (40) сделаны 1 спрайтом. Я хочу сделать расширение для этого, дабы не править шаблон.
Т.е. мне надо загрузить свой шаблон из расширения - список форумов на главной.
Кусок с этого форума 

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

<ul class="topiclist forums">
					<li class="row">
						<dl class="row-item forum_unread">
				<dt title="Непрочитанные сообщения">
					<a href="./viewforum.php?f=66" class="row-item-link"></a>					<div class="list-inner">
													<!--
								<a class="feed-icon-forum" title="Канал - FAQ" href="/community/feed?f=66">
									<i class="icon fa-rss-square fa-fw icon-orange" aria-hidden="true"></i><span class="sr-only">Канал - FAQ</span>
								</a>
							-->
																		<a href="./viewforum.php?f=66" class="forumtitle">FAQ</a>
						<br>Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!												
												<div class="responsive-show" style="display: none;">
															Темы: <strong>36</strong>
													</div>
											</div>
				</dt>
									<dd class="topics">36 <dfn>Темы</dfn></dd>
					<dd class="posts">9235 <dfn>Сообщения</dfn></dd>
					<dd class="lastpost">
						<span>
																						<dfn>Последнее сообщение</dfn>
																										<a href="./viewtopic.php?f=66&amp;p=537907#p537907" title="Re: [FAQ] Пользовательские BBCode" class="lastsubject">Re: [FAQ] Пользовательские BB…</a> <br>
																	 <a href="./memberlist.php?mode=viewprofile&amp;u=5696" style="color: #AA0000;" class="username-coloured">rxu</a>																	<a href="./viewtopic.php?f=66&amp;p=537907#p537907" title="">
										<i class="icon fa-arrow-right fa-fw icon-blue icon-md" aria-hidden="true"></i><span class="sr-only"></span>
									</a>
																<br>28.06.2019 13:44
													</span>
					</dd>
							</dl>
			
		</li>
			
	
	
			
					<li class="row">
						<dl class="row-item forum_unread">
				<dt title="Непрочитанные сообщения">
					<a href="./viewforum.php?f=42" class="row-item-link"></a>					<div class="list-inner">
													<!--
								<a class="feed-icon-forum" title="Канал - Поддержка phpBB 3.2.x" href="/community/feed?f=42">
									<i class="icon fa-rss-square fa-fw icon-orange" aria-hidden="true"></i><span class="sr-only">Канал - Поддержка phpBB 3.2.x</span>
								</a>
							-->
																		<a href="./viewforum.php?f=42" class="forumtitle">Поддержка phpBB 3.2.x</a>
						<br>Проблемы с установкой или работой phpBB 3.2.x? Получите помощь здесь!												
												<div class="responsive-show" style="display: none;">
															Темы: <strong>613</strong>
													</div>
											</div>
				</dt>
									<dd class="topics">613 <dfn>Темы</dfn></dd>
					<dd class="posts">8435 <dfn>Сообщения</dfn></dd>
					<dd class="lastpost">
						<span>
																						<dfn>Последнее сообщение</dfn>
																										<a href="./viewtopic.php?f=42&amp;p=538000#p538000" title="Re: Миграция 3.08 -> 3.2* через тему" class="lastsubject">Re: Миграция 3.08 -&gt; 3.2* чер…</a> <br>
																	 <a href="./memberlist.php?mode=viewprofile&amp;u=10369" class="username">mtl</a>																	<a href="./viewtopic.php?f=42&amp;p=538000#p538000" title="">
										<i class="icon fa-arrow-right fa-fw icon-blue icon-md" aria-hidden="true"></i><span class="sr-only"></span>
									</a>
																<br>2 минуты назад
													</span>
					</dd>
							</dl>
			
		</li>
			
	
				</ul>

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

Добавлено: 30.06.2019 20:51
Татьяна5
Это можно на месте, где нужна картинка, вывести какой-нибудь тег со вспомогательным id форума, а дальше работать через css
К примеру:

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

<span class="my_forum_image" data-forum-id="{forumrow.FORUM_ID"}></span>

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

span.my_forum_image {
/*Общие стили*/
}

span.my_forum_image[data-forum-id=1] {
/*тут смещение картинки относительно спрайта для форума под id 1*/
}
Из событий можно использовать forumlist_body_forum_image_before или forumlist_body_forum_image_after, а на форумы, чтобы картинки отображались, залить одну и ту же прозрачную картинку, можно размера 1 на 1 px чтобы не мешалась

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

Добавлено: 30.06.2019 23:00
Beer
У меня все готово, но я не могу понять, как мне загрузить свой отредактированный forumlist_body.html
Т.е. после <!-- EVENT forumlist_body_forum_row_prepend -->

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

Добавлено: 30.06.2019 23:02
Татьяна5
Загрузить вы его уже загрузили, но старый код при этом никуда исчез и исчезать не будет. Будет дубль кода

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

Добавлено: 30.06.2019 23:29
Beer
Вот в чем дело то.... Я то по своей малограмотности думал, что можно заменить, а получается - только ДОБАВИТЬ. Так что ли?

Можно конечно добавить со своим классом, а оригинал скрыть через css, но как-то коряво будет....

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

Добавлено: 30.06.2019 23:57
Татьяна5
Да, только добавить
Один из некорявых вариантов я расписала, а так их можно придумать намного больше

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

Добавлено: 01.07.2019 0:07
Beer
Я делал так:

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

<!-- EVENT forumlist_body_forum_row_prepend -->
			<dl class="iconsprite row-item {forumrow.FORUM_IMG_STYLE}"><div class="board no_{forumrow.FORUM_ID}"></div>
Т.е. добавлял элемент <div class="board no_{forumrow.FORUM_ID}"></div>

В сложившейся обстановке я пока не понимаю как сделать штатно...

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

Добавлено: 01.07.2019 0:39
Татьяна5
Именно там события нет, так что без переделки блок, скорей всего, не перенести
Ближайшие события внутри блока - forumlist_body_forum_image_before/after, как их можно использовать уже писала

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

Добавлено: 01.07.2019 1:11
Beer
Я понял - сенкс за ликбез!

Но тогда для установки расширения нужен запуск SQL запроса, чтобы прописать заглушку на все форумы, а при деинсталяции - очистить поле.
И надо при первом включении - копировать заглушку из каталога расширения в категорию форума, а при очистке данных расширения - удалять ее.
Дабы все было гламурно - так ведь?

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

Добавлено: 01.07.2019 1:19
Татьяна5
Чтобы совсем всё красиво было надо придумать как генерировать css по данным, введённым для форумов в админке. ID форумов ведь у всех разные, универсального кода не написать
А если писать код вручную, то и заглушку можно поставить вручную

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

Добавлено: 01.07.2019 9:46
Beer
Спрайт делается руками по количеству разделов, css один на количество разделов. Конечно можно и на сервере сгенерировать и спрайт и css, но это уже такие дебри ....
Кому-то будут нужны разные размеры иконок - надо пересчитывать css на калькуляторе...

Получается, что самое простое и оптимальное все же - исправить шаблон и css (еще в content.css можно убрать загрузку 6 img).
И запомнить для след. обновления.

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

Добавлено: 01.07.2019 10:25
Sheer
Beer писал(а): 01.07.2019 9:46 И запомнить для след. обновления
Это неправильно. Нужно создать свой стиль на основе prosilver (Создание дочернего стиля для чайников), и не нужно ничего запоминать.
Просто при обновлении нужно будет сравнить файлы кастомного стиля со стандартными внести в них изменения, если таковые потребуются, например добавление событий.
Излишне напоминать, что в кастомном стиле не нужны все html-шаблоны и css, наличествующие в стандартном.

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

Добавлено: 01.07.2019 10:56
Siava
Beer, А что вы вообще делаете там? Может подойдёт готовый вариант? :)