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

[3.2] Как разместить внешнюю ссылку в строке меню?

Есть любые вопросы, связанные со стилями/темами для phpBB 3.2.x или 3.3.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
КИВлад
phpBB 1.2.1
Сообщения: 27
Стаж: 1 год 6 месяцев
Откуда: Краснодар
Благодарил (а): 4 раза
Поблагодарили: 2 раза

[3.2] Как разместить внешнюю ссылку в строке меню?

Сообщение КИВлад »

Здравствуйте! У меня phpBB 3.2.9, стиль prosilver. Пытаюсь разместить внешнюю ссылку в строке меню, но не получается. Пробовал сделать по аналогии с объяснением rxu для версии 3.0, описанную здесь.
rxu 
Открываете includes/functions.php и добавляете ссылку по аналогии

'U_MY_LINK' => append_sid("{$phpbb_root_path}my_link.$phpEx"),

Открываете языковой файл common.php (language/ru/ и language/en) и добавляете переменные для описания вашей ссылки аналогично

'MY_LINK' => 'MY_LINK',
'MY_LINK_EXPLAIN' => 'Это моя ссылка',

Открываете overall_header.html вашего стиля (в папке template вашего стиля) и добавляете рядом с FAQ

<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>

вашу ссылку, например для стиля prosilver:

<li><a href="{U_MY_LINK}" title="{L_MY_LINK_EXPLAIN}">{L_MY_LINK}</a></li>

Для subsilver2 всё то же самое, но без тегов <li></li> в последнем случае.
Но там не понятно, где должна быть размещена сама ссылка и у меня в phpBB 3.2.9 в файле overall_header.html нет строчки
<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
overall_header.html 

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

<!DOCTYPE html>
<html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1" />
{META}
<title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title>

<!-- IF S_ENABLE_FEEDS -->
	<!-- IF S_ENABLE_FEEDS_OVERALL --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {SITENAME}" href="{{ path('phpbb_feed_index') }}"><!-- ENDIF -->
	<!-- IF S_ENABLE_FEEDS_NEWS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_NEWS}" href="{{ path('phpbb_feed_news') }}"><!-- ENDIF -->
	<!-- IF S_ENABLE_FEEDS_FORUMS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_ALL_FORUMS}" href="{{ path('phpbb_feed_forums') }}"><!-- ENDIF -->
	<!-- IF S_ENABLE_FEEDS_TOPICS --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_NEW}" href="{{ path('phpbb_feed_topics') }}"><!-- ENDIF -->
	<!-- IF S_ENABLE_FEEDS_TOPICS_ACTIVE --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FEED_TOPICS_ACTIVE}" href="{{ path('phpbb_feed_topics_active') }}"><!-- ENDIF -->
	<!-- IF S_ENABLE_FEEDS_FORUM and S_FORUM_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_FORUM} - {FORUM_NAME}" href="{{ path('phpbb_feed_forum', { forum_id : S_FORUM_ID } ) }}"><!-- ENDIF -->
	<!-- IF S_ENABLE_FEEDS_TOPIC and S_TOPIC_ID --><link rel="alternate" type="application/atom+xml" title="{L_FEED} - {L_TOPIC} - {TOPIC_TITLE}" href="{{ path('phpbb_feed_topic', { topic_id : S_TOPIC_ID } ) }}"><!-- ENDIF -->
	<!-- EVENT overall_header_feeds -->
<!-- ENDIF -->

<!-- IF U_CANONICAL -->
	<link rel="canonical" href="{U_CANONICAL}">
<!-- ENDIF -->

<!--
	phpBB style name: prosilver
	Based on style:   prosilver (this is the default phpBB3 style)
	Original author:  Tom Beddard ( http://www.subBlue.com/ )
	Modified by:
-->

<!-- IF S_ALLOW_CDN -->
<script>
	WebFontConfig = {
		google: {
			families: ['Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&subset=cyrillic,cyrillic-ext,greek,greek-ext,latin-ext,vietnamese']
		}
	};

	(function(d) {
		var wf = d.createElement('script'), s = d.scripts[0];
		wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js';
		wf.async = true;
		s.parentNode.insertBefore(wf, s);
	})(document);
</script>
<!-- ENDIF -->
<link href="{T_FONT_AWESOME_LINK}" rel="stylesheet">
<link href="{T_STYLESHEET_LINK}" rel="stylesheet">
<link href="{T_STYLESHEET_LANG_LINK}" rel="stylesheet">

<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
	<link href="{T_THEME_PATH}/bidi.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<!-- ENDIF -->

<!-- IF S_PLUPLOAD -->
	<link href="{T_THEME_PATH}/plupload.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<!-- ENDIF -->

<!-- IF S_COOKIE_NOTICE -->
	<link href="{T_ASSETS_PATH}/cookieconsent/cookieconsent.min.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<!-- ENDIF -->

<!--[if lte IE 9]>
	<link href="{T_THEME_PATH}/tweaks.css?assets_version={T_ASSETS_VERSION}" rel="stylesheet">
<![endif]-->

<!-- EVENT overall_header_head_append -->

{$STYLESHEETS}

<!-- EVENT overall_header_stylesheets_after -->

</head>
<body id="phpbb" class="nojs notouch section-{SCRIPT_NAME} {S_CONTENT_DIRECTION} {BODY_CLASS}">

<!-- EVENT overall_header_body_before -->

<div id="wrap" class="wrap">
	<a id="top" class="top-anchor" accesskey="t"></a>
	<div id="page-header">
		<div class="headerbar" role="banner">
		<!-- EVENT overall_header_headerbar_before -->
			<div class="inner">

            <div style="height: 160px;">
			<div id="site-description" class="site-description">

				<h1>{SITENAME}</h1>
				<p>{SITE_DESCRIPTION}</p>
				<p class="skiplink"><a href="#start_here">{L_SKIP}</a></p>
			</div>

			<!-- EVENT overall_header_searchbox_before -->
			<!-- IF S_DISPLAY_SEARCH and not S_IN_SEARCH -->
			<div id="search-box" class="search-box search-header" role="search">
				<form action="{U_SEARCH}" method="get" id="search">
				<fieldset>
					<input name="keywords" id="keywords" type="search" maxlength="128" title="{L_SEARCH_KEYWORDS}" class="inputbox search tiny" size="20" value="{SEARCH_WORDS}" placeholder="{L_SEARCH_MINI}" />
					<button class="button button-search" type="submit" title="{L_SEARCH}">
						<i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH}</span>
					</button>
					<a href="{U_SEARCH}" class="button button-search-end" title="{L_SEARCH_ADV}">
						<i class="icon fa-cog fa-fw" aria-hidden="true"></i><span class="sr-only">{L_SEARCH_ADV}</span>
					</a>
					<a href="{U_MY_LINK}" title="{L_MY_LINK_EXPLAIN}">{L_MY_LINK}</a>
					<a href="https://t.me/nudism_and_naturism">
<img src="https://i.ibb.co/D8h66rY/telegram.png" style="position: absolute; top: 420px; left: 4px; width:50px; height:50px; target="_blank" rel="nofollow">
					{S_SEARCH_HIDDEN_FIELDS}
				</fieldset>
				</form>
			</div>
			<!-- ENDIF -->
			<!-- EVENT overall_header_searchbox_after -->

			</div>
			<!-- EVENT overall_header_headerbar_after -->
		</div>
		<!-- EVENT overall_header_navbar_before -->
		<!-- INCLUDE navbar_header.html -->
	</div>

	<!-- EVENT overall_header_page_body_before -->

	<a id="start_here" class="anchor"></a>
	<div id="page-body" class="page-body" role="main">
		<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
		<div id="information" class="rules">
			<div class="inner">
				<strong>{L_INFORMATION}{L_COLON}</strong> {L_BOARD_DISABLED}
			</div>
		</div>
		<!-- ENDIF -->

		<!-- EVENT overall_header_content_before -->
и не понятен смысл и назначение строчки
'MY_LINK' => 'MY_LINK',
Ссылку хочу оформить в виде значка (иконки) и текста.
Прошу помощи.
Последний раз редактировалось Татьяна5 11.01.2021 20:50, всего редактировалось 1 раз.
Причина: [code]
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10301
Стаж: 9 лет 5 месяцев
Благодарил (а): 181 раз
Поблагодарили: 2888 раз

Re: [3.2] Как разместить внешнюю ссылку в строке меню?

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

Инструкции для 3.0 устарели. Во-первых, они могут привести к проблемам с расширениями, а во-вторых все изменения при первом же обновлении форума исчезнут

Для 3.2-3.3 пишут расширения
Создание страниц в стиле конференции - там про ссылку есть. Сама отдельная страница в данном случае не нужна
Аватара пользователя
КИВлад
phpBB 1.2.1
Сообщения: 27
Стаж: 1 год 6 месяцев
Откуда: Краснодар
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: [3.2] Как разместить внешнюю ссылку в строке меню?

Сообщение КИВлад »

Это чтобы вставить ссылку я должен научиться писать расширения!? А попроще никак нельзя? Боюсь, что у меня на это уйдёт не менее полгода, с учётом постоянной нехватки времени.
Татьяна5 писал(а): 11.01.2021 20:47 Сама отдельная страница в данном случае не нужна
Да, но вот эти фразы ставят в тупик
Sheer писал(а): 06.11.2014 22:27 Добавим в listener.php после...
Если учесть путь к файлу ext/Sheer/myteststyles/prosilver/template/event/listener.php
или вот ещё
Sheer писал(а): 06.11.2014 22:27 и в папке ext/Sheer/mytest/styles/prosilver/template/event создадим файл overall_header_navigation_prepend.html
Видел я эту тему, пока искал ответ на мой вопрос, только ясности она мне не добавила.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10301
Стаж: 9 лет 5 месяцев
Благодарил (а): 181 раз
Поблагодарили: 2888 раз

Re: [3.2] Как разместить внешнюю ссылку в строке меню?

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

Где-то полный путь написали, где-то нет

Если кратко что оттуда надо: composer.json, config/services.yml (можно в урезанном варианте, но некритично если будет прямо как там), event/listener.php (где подключить языковой файл, задать ссылку, и, собственно, хватит; это помимо обязательного конструктора и подписки на события), language/ru/mytest_lng.php и language/en/mytest_lng.php (языковые файлы для текста ссылки, английский нужен обязательно) и styles/prosilver/template/event/overall_header_navigation_prepend.html (там html-код ссылки; или другое событие, которое зависит от названия файла, подключить, "на вкус и цвет"). Всё в папке расширения

Лайт-версия: composer.json и styles/prosilver/template/event/overall_header_navigation_prepend.html. Снова всё в папке расширения. Работать будет. Чревато проблемами с кодировкой (кракозябры вместо текста ссылки), невозможностью переключить ссылку на другой язык. Если чисто для себя, на форуме с одним языком, с внешней ссылкой (что важно), и т.д., то, что называется, "сойдёт"
Аватара пользователя
КИВлад
phpBB 1.2.1
Сообщения: 27
Стаж: 1 год 6 месяцев
Откуда: Краснодар
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: [3.2] Как разместить внешнюю ссылку в строке меню?

Сообщение КИВлад »

Спасибо! Попробую в меру своей бестолковости. Как-то в 58 лет менять профессию электрика на программиста уже поздновато, но попытаюсь. )))
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 10301
Стаж: 9 лет 5 месяцев
Благодарил (а): 181 раз
Поблагодарили: 2888 раз

Re: [3.2] Как разместить внешнюю ссылку в строке меню?

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

Возможно, ещё вот это подойдёт https://www.phpbb.com/customise/db/exte ... ultilinks/ (не знаю как насчёт работоспособности)
Аватара пользователя
КИВлад
phpBB 1.2.1
Сообщения: 27
Стаж: 1 год 6 месяцев
Откуда: Краснодар
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: [3.2] Как разместить внешнюю ссылку в строке меню?

Сообщение КИВлад »

Ещё раз большое спасибо! Установил приложение. Скачал с инета иконку Телеграмма. Изменил размер и цвет и ссылка встала как родная.
.
Телеграмм.PNG

Вернуться в «Стили для phpBB 3.2.x / 3.3.x»