Доброе утро.
Установлено два расширения
SEO URLs - https://github.com/tas2580/seourls
Перезаписывает адреса
и
Quick Ads - https://github.com/o0johntam0o/phpBB-Ex ... -Quick-Ads
Реклама.
Так вот, заметил что расширение Quick Ads не работает там где SEO URLs переписал URL страницы.
Удаление расширения SEO URLs не очень желательно потому что поисковики просканировали куеву кучу страниц и сейчас, при его отключении выдают ошибку 404. Quick Ads архиважное. Как подружить эти два расширения ?
Комментарии: 10

CabinetAdmin 23 мар 2021, 18:48 Сообщение

Хм. Интересный вопрос...

Попробовал пару идей, не получается пока подружить...
  • 0
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

romaamor 23 мар 2021, 19:34 Сообщение

Тогда пойдём другим путём. Есть расширение Advertisement Management. ( https://www.phpbb.com/customise/db/extension/ads/ )В нём присутствует функция слайдер common. Можно изменить как то что бы этот слайдер показывал вертикальный блок, слева или справа с заданной ширеной и высотой ? Не обязательно что бы в админке указывать параметры. Я могу и в коде сменить. Знать бы где и как.
  • 0

romaamor 23 мар 2021, 20:02 Сообщение

На сколько я понял там за этот блок отвечает код css
.phpbbad-slide-up {
position: fixed;
bottom: 0;
width: 100%;
transition: transform .3s;
transform: translateY(100%);


Сменить ширину и высоту не проблема. К примеру -
width: 190px;
height: 600px;


Но этот блок появляется только при прокрутки страницы в самый низ. А надо что бы всегда был, скользящим. Как сделать ?
  • 0

CabinetAdmin 23 мар 2021, 20:55 Сообщение

Ну вот, допустим что структура выводится примерно такая:

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

<div class="ads_block-1">
	<div class="ads_block-2">
		Дальше какой нибудь код или реклама
	</div>
</div>
то чтобы его зафиксировать с правой, допустим, стороны надо написать что-то вроде:

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

.ads_block-1 {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
}

.ads_block-2 {
	width: 190px;
	height: 600px;
	/* плюс остальные стили: цвет, обводка и тп. */
}
Для левой стороны вместо right: 0; нужен left: 0;.

Вот в таком виде блок будет справа сверху. Допустим, надо чтобы блок был не сверху, а посередине, значит первая часть кода будет выглядеть так:

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

.ads_block-1 {
	display: flex;
	align-items: center;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
}
Классы понятное дело чисто для примера. Если в том расширении уже есть свои классы, можно просто к ним применить эти стили. Если второго блока нет, т.е. нет фона или обводки, а сразу идёт реклама, то используем только первую часть кода.
  • 1
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

romaamor 23 мар 2021, 21:40 Сообщение

Спасибо. Блоки появились. Но что то я упускаю. Блоки появляются только когда я прокручиваю страницу в самый низ.
Тестовій форум - https://iptvvip.ru/index.php
Код css всего расширения такой:

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

.phpbb-ads-center {
	text-align: center;
	box-shadow: 0 0 5px #03518a;
    border: 2px solid;
    border-color: #56a3db;
}

.phpbb-ads-center > :first-child:not(script) {
	display: inline-block;
	max-width: 100%;
}

.phpbbad-slide-up {
position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: 190px;
	height: 1200px;
}



.phpbb-ads-visual-demo {
	font-size: 12px;
	font-weight: bold;
	line-height: 44px;
	text-align: center;
	background-color: #ecd5d8;
	border: #ff0000 dashed 3px;
	color: #bc2a4d;
	box-sizing: border-box;
	width: 100%;
	height: 50px;
}

.phpbb-ads-button {
	font-family: system-ui, sans-serif;
	font-size: 13px;
	vertical-align: middle;
	background: #e3e3e3;
	background: linear-gradient(to bottom, #e3e3e3 0%, #f7f7f7 100%);
	border: solid 1px #afafaf;
	box-shadow: inset 1px 1px 2px #ffffff;
	margin: 2px 0;
	padding: 3px 8px;
}

.phpbb-ads-button:link {
	color: #000000;
}

.phpbb-ads-button:link:hover {
	text-decoration: none;
}

.phpbb-ads-button:hover {
	border-color: #bc2a4d;
	color: #bc2a4d;
	cursor: pointer;
}

.phpbb-ads-button:active {
	background: #c3c3c3;
}
  • 0

romaamor 23 мар 2021, 21:57 Сообщение

Ага, нашёл. Надо было скрипт удалить с файла phpbb_ads_slide_up.html. А как сделать что бы перед футером блоки останавливались и уходили в верх ?
  • 0

romaamor 23 мар 2021, 22:07 Сообщение

И кстати. Забыл написать в первом посту темы, что для расширения SEO URLs в файле .htaccess надо прописать -

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

RewriteBase /
RewriteRule ^(.*)-f([0-9]*)/mcp.php(.*) mcp.php?%{QUERY_STRING} [L,R=301]
RewriteRule ^(.*)-f([0-9]*)/(.*)-t([0-9]*)-s([0-9]*).html viewtopic.php?f=$2&t=$4&start=$5&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*)/(.*)-t([0-9]*).html viewtopic.php?f=$2&t=$4&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*)/index-s([0-9]*).html viewforum.php?f=$2&start=$3&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*)/ viewforum.php?f=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*) viewforum.php?f=$2&%{QUERY_STRING} [L]
Могла из-за этого возникнуть бяка ?
  • 0

CabinetAdmin 24 мар 2021, 17:48 Сообщение

romaamor писал(а): 23 мар 2021, 21:40 Код css всего расширения такой
Вот это height: 1200px; не нужно.
romaamor писал(а): 23 мар 2021, 21:57 А как сделать что бы перед футером блоки останавливались и уходили в верх ?
При той структуре что сейчас - никак.
romaamor писал(а): 23 мар 2021, 22:07И кстати.
Это-то конечно добавлено, но если это почистить, то блок всё равно не появляется. Не срабатывает в шаблоне условие для показа блока :scratch:
  • 1
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

romaamor 24 мар 2021, 18:01 Сообщение

CabinetAdmin писал(а): 24 мар 2021, 17:48 Вот это height: 1200px; не нужно
Убрал.
CabinetAdmin писал(а): 24 мар 2021, 17:48 При той структуре что сейчас - никак.
А много нужно переделывать ?
  • 0

CabinetAdmin 25 мар 2021, 20:37 Сообщение

Ну как сказать... Вот на твоём тестовом форуме есть колонка справа, структура с ней там такая:

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

<div class="middle">

	<div class="sidebarContainer">
		<div class="sidebarCenter">
			...
		</div>
	</div>
	<div class="right-sidebar">
		...
	</div>

</div>
Чтобы не делать строго прописанный блок для рекламы, потому что если у человека адблок, то будет просто пустое место. Можно добавить перед <div class="sidebarContainer">:

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

{% EVENT sidebar_ads_block_before %}
можно как нибудь по своему обозвать.

Потом в расширении рекламы добавить файл с таким именем и скопировать туда содержимое из основного файла. Либо сразу переименовать, если реклама будет выводиться только в этом месте.

Ну и стили:

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

.ads_block-1 {
	position: sticky;
	top: 0;
	width: 300px;
}

.ads_block-1 + .sidebarContainer .sidebarCenter {
	padding-left: 300px;
}
Плюс ещё надо для мобильных экранов стили писать...

Это так, вкратце.
  • 1
Хочешь поблагодарить? Есть способы: заходи на форум, создавай темы, делись опытом и наработками, общайся!

Похожие темы