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

Как проверить главную страницу сайта в шаблоне?

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 7 раз

Как проверить главную страницу сайта в шаблоне?

Сообщение mike2003 »

Как проверить главную страницу сайта?
Я добавил условие

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

<!-- IF SCRIPT_NAME == "index" -->...<!-- ENDIF -->
но оно работает и на /forum/adm/index.php что уже излишне
нужен просто /forum/index.php и только
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение rxu »

<!-- IF S_INDEX -->...<!-- ENDIF -->
Изображение
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 7 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение mike2003 »

А откуда это? Тут таких нет
Global Template Variables - phpBB Development Wiki
Global Template Variables
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение rxu »

mike2003 писал(а): А откуда это?
Оттуда https://github.com/phpbb/phpbb/blob/3.1 ... x.php#L215
mike2003 писал(а): Тут таких нет
И не должно быть.
Изображение
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение LavIgor »

mike2003, Global Template Variables доступны везде.
S_INDEX доступна только на главной странице (по умолчанию).
Как-то так.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 7 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение mike2003 »

а как проверить тоже самое в коде PHP? мне нужно что бы разные данные обрабатывались на главной и на остальных страницах. Что то вроде $this->template['S_INDEX'] ?
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение LavIgor »

mike2003, опишите, что нужно, конкретнее.
В серверной части для таких целей создаётся listener - слушатель событий.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 7 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение mike2003 »

Да я пытаюсь Recent topics for JS под себя подделать немного.
На главной одни темы, на других страницах другой список. Но там все еще сложнее оказалось - идет ajax запрос.

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

	<script type="text/javascript">
	$(document).ready(function() {
		$.ajax({
			url: "{U_RECENT_TOPICS}",
			type: "GET",
			cache: true,
			success: function(data) {
				$("#recent_topics").html(data);
			}
		});
	});
	</script>
Я могу как то передать в этот обработчик данные? И тогда бы в php я бы по условию проверил страницу.
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение LavIgor »

mike2003 писал(а): Я могу как то передать в этот обработчик данные?
Какие данные?
В jQuery можно задать свойство data у указанного Вами объекта и передать в нём требуемые параметры.

Отправлено спустя 2 минуты 7 секунд:
Пример:

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

   <script type="text/javascript">
   $(document).ready(function() {
      $.ajax({
         url: "{U_RECENT_TOPICS}",
         type: "GET",
         data: {myparameter: "значение Вашего параметра"},
         cache: true,
         success: function(data) {
            $("#recent_topics").html(data);
         }
      });
   });
   </script>
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 7 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение mike2003 »

да, но вот какая засада, добавил переменную
data: {zzz: "1"},
в интернете, кстати, несколько примеров записи: и как "zzz": "1" и как 'zzz' => '1'
все попробовал, не сработало. а именно:
в скрипте при обработке

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

if(isset($_GET['zzz']))		{
	$this->template->assign_vars(array(	'L_RECENT_POSTS_NAME'	=> $_GET['zzz'],));
}
само isset($_GET['zzz']) работает, но значение $_GET['zzz'] получить не могу! я не знаю, что случается, но данные просто не возвращаются (окна не появляются) без $_GET['zzz'] все ок, с ней же нет ничего
будто работа прекращается на этом шаге
ну почему?? :cry:
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение LavIgor »

mike2003, всё правильно, в phpBB суперглобальные массивы выключены.
Вместо них нужно в Вашем случае использовать $request->variable('zzz', '');.
По поводу объекта JavaScript - кавычки в данном случае необязательны, но иногда без них не обойтись.
Аватара пользователя
mike2003
phpBB 2.0.5
Сообщения: 452
Стаж: 8 лет 1 месяц
Благодарил (а): 25 раз
Поблагодарили: 7 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение mike2003 »

фух

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

$this->template->assign_vars(array(	'L_RECENT_POSTS_NAME'	=> $this->request->variable('zzz',''),));
вот так заработало! спасибо :!:

а нужно тогда тестировать
mike2003 писал(а): isset($_GET['zzz'])
как во всех примерах в инете? если
LavIgor писал(а): суперглобальные массивы выключены
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 830 раз

Re: Как проверить главную страницу сайта в шаблоне?

Сообщение LavIgor »

mike2003 писал(а): а нужно тогда тестировать
В Вашем примере это опять-таки необязательно.
Но иногда это может пригодиться.
Более правильный вариант тестирования, кстати, $this->request->is_set('zzz'), но тут уже вариантов много.

Вернуться в «Для разработчиков»