Как разместить блок в определенном месте в phpbb - секреты шаблонов

Как разместить блок (текст) только в определенном месте в phpbb. Например только в списке форумов, на странице со списком тем, после 1 сообщения и т.п. Маленькие хитрости.

Инструкции по установке и настройке phpBB, системные требования, как обновить форум и многое другое.
Ответить

Сообщение Admin »

Как разместить блок (текст) только в определенном месте в phpbb. Например только в списке форумов, на странице со списком тем, после 1 сообщения и т.п. Маленькие хитрости.

Языковые переменные:
  • {SITENAME} - выводит название форума, прописанное в админке
  • {SITE_DESCRIPTION} - описание форума, прописанное в админке
  • {PAGE_TITLE} - выводит заголовок страницы
Пути:
  • {T_TEMPLATE_PATH} - заменяет ./styles/ваш_стиль/template
  • {T_STYLESHEET_LINK} - заменяет ./styles/ваш_стиль/theme/stylesheet.css
  • {T_IMAGESET_PATH} - заменяет ./styles/ваш_стиль/imageset (только phpbb3.0)
  • {T_FONT_AWESOME_LINK} - заменяет ./assets/css/font-awesome.min.css
  • {T_STYLESHEET_LINK} - заменяет ./styles/ваш_стиль/theme/stylesheet.css
  • {T_STYLESHEET_LANG_LINK} - заменяет ./styles/ваш_стиль/theme/ru/stylesheet.css
  • {T_THEME_PATH} - заменяет ./styles/ваш_стиль/theme/
Условные конструкции (вставлять в overall_header.html и др.):

текст, который не увидят боты

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

<!-- IF not S_IS_BOT -->
текст, который не увидят боты
<!-- ENDIF -->
текст, который увидят только залогиненные пользователи

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

<!-- IF S_USER_LOGGED_IN -->
текст, который увидят только залогиненные пользователи
<!-- ENDIF -->
текст, который увидят только залогиненные пользователи

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

<!-- IF S_REGISTERED_USER -->
текст, который увидят только залогиненные пользователи
<!-- ENDIF -->
текст, который не видят залогиненные пользователи

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

<!-- IF not S_USER_LOGGED_IN -->
текст, который не видят залогиненные пользователи
<!-- ENDIF -->
текст, который увидят только модераторы и администраторы

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

<!-- IF U_MCP -->
текст, который увидят только модераторы и администраторы
<!-- ENDIF -->
текст, который увидят только администраторы

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

<!-- IF U_ACP -->
текст, который увидят только администраторы
<!-- ENDIF -->
Объединение условных конструкций:
текст, который не увидят боты, и увидят только залогиненные пользователи

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

<!-- IF not S_IS_BOT and S_USER_LOGGED_IN -->
текст, который не увидят боты, и увидят только залогиненные пользователи
<!-- ENDIF -->
блок только на главной странице - список форумов

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

<!-- IF SCRIPT_NAME eq 'index' -->
блок только на главной странице - список форумов
<!-- ENDIF -->
На главной одно, на всех остальных другое

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

<!-- IF SCRIPT_NAME eq 'index' -->
только на главной
<!-- ELSE -->
на всех остальных
<!-- ENDIF -->
На главной + на /viewforum.php

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

<!-- IF SCRIPT_NAME == "index" or SCRIPT_NAME == "viewforum" --><!-- ENDIF -->
На главной + на /viewforum.php
<!-- ENDIF -->
блок только на странице - faq

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

<!-- IF SCRIPT_NAME eq 'app/help/faq' -->
блок только на странице - faq
<!-- ENDIF -->
блок только на страницах личного раздела

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

<!-- IF SCRIPT_NAME eq 'ucp' -->
блок только на страницах личного раздела
<!-- ENDIF -->
блок только на страницах поиска

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

<!-- IF SCRIPT_NAME eq 'search' -->
блок только на страницах поиска
<!-- ENDIF -->
блок только на странице расширения портал

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

<!-- IF SCRIPT_NAME eq 'app/portal' -->
блок только на странице расширения портал
<!-- ENDIF -->

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

<!-- IF T_TEMPLATE_NAME eq 'prosilver' -->
ЛЮБОЙ КОД КОТОРЫЙ БУДЕТ ВЫВОДИТЬСЯ ТОЛЬКО В PROSILVER
<!-- ENDIF -->
во всех форумах

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

<!-- IF SCRIPT_NAME eq 'viewforum' -->
блок только на страницах вида ./viewforum.php?f=xxx
<!-- ENDIF -->
во всех темах

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

<!-- IF SCRIPT_NAME eq 'viewtopic' -->
блок только на страницах вида ./viewtopic.php?t=xxx
<!-- ENDIF -->
блок только на странице списка тем определенного форума

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

<!-- IF FORUM_ID eq '5' -->
блок только на странице списка тем определенного форума, например /viewforum.php?f=5
<!-- ENDIF -->
блок только на странице определенной темы

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

<!-- IF TOPIC_ID eq '5' -->
блок только на странице определенной темы, например /viewtopic.php?t=5
<!-- ENDIF -->
Только в viewforum.php В определенных форумах

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

<!-- IF SCRIPT_NAME eq 'viewforum' -->
<!-- IF FORUM_ID eq 5 or FORUM_ID eq 7 -->
в форумах  с id 5 и 7 только в viewforum.php
<!-- ENDIF -->
<!-- ENDIF -->
Только в viewforum.php В определенных форумах одно, в остальных другое

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

<!-- IF SCRIPT_NAME eq 'viewforum' -->
<!-- IF FORUM_ID eq 5 or FORUM_ID eq 7 -->
в форумах  с id 5 и 7 только в viewforum.php
<!-- ELSE -->
во всех остальных только в viewforum.php
<!-- ENDIF -->
<!-- ENDIF -->
В определенных форумах

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

<!-- IF FORUM_ID eq 5 or FORUM_ID eq 7 -->
в форумах  с id 5 и 7 только в viewforum.php и /viewtopic.php
<!-- END -->
В определенных форумах одно, в остальных другое

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

<!-- IF FORUM_ID eq 5 or FORUM_ID eq 7 -->
в форумах  с id 5 и 7 только в viewforum.php и /viewtopic.php
<!-- ELSE -->
во всех остальных только в viewforum.php и /viewtopic.php
<!-- ENDIF -->
В определенных темах

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

<!-- IF TOPIC_ID eq 5 or TOPIC_ID eq 7 -->
в темах с id 5 и 7
<!-- ENDIF -->
В определенных темах одно, в остальных другое

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

<!-- IF TOPIC_ID eq 5 or TOPIC_ID eq 7 -->
в темах с id 5 и 7
<!-- ELSE -->
во всех остальных темах
<!-- ENDIF -->
После первого сообщения на всех страницах /viewtopic.php

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

<!-- IF postrow.S_FIRST_ROW -->
После первого сообщения на всех страницах /viewtopic.php
<!-- ENDIF -->
После 5 сообщения на всех страницах /viewtopic.php

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

<!-- IF (postrow.S_ROW_COUNT eq 5) -->
После 5 сообщения на всех страницах /viewtopic.php
<!-- ENDIF -->
после 2-го, 5-го и 10-го сообщений на всех страницах /viewtopic.php

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

<!-- IF postrow.S_ROW_COUNT == 1 or postrow.S_ROW_COUNT == 5 or postrow.S_ROW_COUNT == 10 -->
после 2-го, 5-го и 10-го сообщений на всех страницах /viewtopic.php
<!-- ENDIF -->

Поделитесь ссылкой.

HTML код
BBCode
Link
Ответить

Вернуться в «FAQ по phpBB»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость