Вывести сообщение в зависимости от языка

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Jons
phpBB 2.0.4
Сообщения: 418
Стаж: 18 лет
Благодарил (а): 65 раз
Поблагодарили: 2 раза

Re: Вывести сообщение в зависимости от языка

Сообщение Jons »

Garret_Dark писал(а):Jons, скорее всего потому что это PHP и не обрабатываются условия шаблона
Попробуйте так
$user->lang['NAME']
Не работает. Форум вообще перестаёт работать, - из-за кавычек. Как же быть?
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 16 лет 5 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз

Re: Вывести сообщение в зависимости от языка

Сообщение HAMMER663 »

Jons зачем тебе вообще так делать? если можно написать по-человечески: {L_NAME}
Jons
phpBB 2.0.4
Сообщения: 418
Стаж: 18 лет
Благодарил (а): 65 раз
Поблагодарили: 2 раза

Re: Вывести сообщение в зависимости от языка

Сообщение Jons »

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

<!-- PHP -->

if (  (($_GET['f'])==2) and (!isset($_GET['t'])))
{ 
   echo "<div style=\"padding-bottom: 1px;\" align=\"center\" class=\"logo\">Название 1</div>";
} else {
echo "<div style=\"padding-bottom: 1px;\" align=\"center\" class=\"logo\">Название 2</div>";

}

<!-- ENDPHP -->
Нужно в зависимости от форума выводить под логотипом разный текст. Для этого нужно как-то всунуть туда языковую переменную. Если возможна другая конструкция типа:

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

<!-- IF **** --> <!-- ENDIF -->


и если покажете, как мои условия, заменить данной кострукцией, с удовольствием воспользуюсь, и буду премного благодарен.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Garret_Dark »

Jons, PHP в шаблоне вообще не нужен.
Открыть
viewtopic.php
Найти

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

'TOPIC_ID' 		=> $topic_id,
Добавить перед

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

'FORUM_LOGO_TEXT' 		=> $user->lang['TEXT_FORUM'.$forum_id],
Аналогично для viewforum.php
Найти

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

'FOLDER_IMG'				=> $user->img('topic_read', 'NO_UNREAD_POSTS'),
Добавить перед

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

'FORUM_LOGO_TEXT' 		=> $user->lang['TEXT_FORUM'.$forum_id],
Далее под логотипом вставляем куда нужно

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

<!-- IF FORUM_LOGO_TEXT --><div style="padding-bottom: 1px;" align="center" class="logo">{FORUM_LOGO_TEXT}</div><!-- ENDIF -->
Обязательно нужно, чтобы существовали записи в языковых файлах TEXT_FORUM1 (Где 1 ID ВСЕХ И КАЖДОГО из существующих форумов) иначе в них вылезет ошибка.
Это грубый пример, можно сделать с условиями которые вы вставили в шаблон, главное результатирующую переменную подставить вместо $user->lang['TEXT_FORUM'.$forum_id],

Добавлено спустя 4 минуты 24 секунды:
А еще лучше загнать этот текст в БД, но нужно предусмотреть вывод разного текста для разных языков, если это важно.
Можно посмотреть на этот мод https://www.phpbb.com/customise/db/mod/forum_sponsor/
Jons
phpBB 2.0.4
Сообщения: 418
Стаж: 18 лет
Благодарил (а): 65 раз
Поблагодарили: 2 раза

Re: Вывести сообщение в зависимости от языка

Сообщение Jons »

Покажите пожалуйста мои условия через:

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

<!-- IF **** --> <!-- ENDIF -->
Под логотипом шапки, - это всего лишь одино из мест, где я использую конструкции PHP. Это облегчит мне дальнейшее использование языковых переменных в других местах.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Sheer »

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

<!-- IF FORUM_ID eq xyz -->
предварительно определив FORUM_ID, ну а что такое xyz сам должен знать.

ЗЫ.
Jons писал(а):

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

<!-- PHP -->

if (  (($_GET['f'])==2) and (!isset($_GET['t'])))
{ 
   echo "<div style=\"padding-bottom: 1px;\" align=\"center\" class=\"logo\">Название 1</div>";
} else {
echo "<div style=\"padding-bottom: 1px;\" align=\"center\" class=\"logo\">Название 2</div>";

}

<!-- ENDPHP -->
Кошмаррр!
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Jons
phpBB 2.0.4
Сообщения: 418
Стаж: 18 лет
Благодарил (а): 65 раз
Поблагодарили: 2 раза

Re: Вывести сообщение в зависимости от языка

Сообщение Jons »

Спасибо.

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

<!-- IF FORUM_ID eq '2' and not TOPIC_ID --><div style="padding-bottom: 1px;" align="center" class="logo">{L_F_NAME}</div><!-- ELSE --><div style="padding-bottom: 1px;" align="center" class="logo">{L_F_NAME_1}</div><!-- ENDIF --> 
 
Sheer, подскажите пожалуйста где почитать про все эти:
FORUM_ID
TOPIC_ID

какие ещё вообще существуют в phpbb3 (3.0.11) и что обозначают.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Garret_Dark »

Jons, смотрите http://www.phpbbguru.net/kb/styling/tem ... -tutorial/
а переменные FORUM_ID и т.п. на каждой странице могут быть разные. Доступные на всех страницах форума определяются в первую очередь в файле functions.php
Искать их можно начиная со строки $template->assign_vars(array(

А вообще в шаблон посмотрите, почти все они там прописаны.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Sheer »

Jons писал(а):что обозначают
Индекс глобального объекта $template
Это не переменные!
Прежде чем курочить шаблон, следует изучить матчасть.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Garret_Dark »

Sheer писал(а):Это не переменные!
По сути, в шаблоне они играют роль переменных.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Sheer »

Garret_Dark писал(а):они играют роль переменных.
Это подмена понятий. Давайте все же придерживаться истины.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Garret_Dark »

Sheer, давайте не будем грузить новичков длинными фразами :)
В шаблоне они выполняют функцию переменных, значит переменные. Более того почитайте руководство по синтаксису шаблона (ссылка парой постов выше и в шапке):
Переменные.


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


Переменные стиля.



Переменные, связанные со стилем, имеют префикс "T_". Они объявляются, как правило, в основном коде phpBB3.

Есть ряд переменных, установленных в includes/functions.php , которые являются общими для всех шаблонов и могут быть весьма полезны для авторских изменений стиля.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Sheer »

Garret_Dark писал(а):Более того почитайте руководство по синтаксису шаблона
Спасибо читал, и не раз. И с терминологией в этом руководстве не согласен.
Garret_Dark писал(а):давайте не будем грузить новичков длинными фразами
Давайте их вообще грузить не будем - пусть всю жизнь остаются новичками. Однако повторюсь:
Sheer писал(а):следует изучить матчасть.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1097
Стаж: 17 лет 8 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 206 раз

Re: Вывести сообщение в зависимости от языка

Сообщение Garret_Dark »

Sheer писал(а):И с терминологией в этом руководстве не согласен.
Ваше личное мнение - не более. О том, что это стилевые переменные пишут и у разработчиков.
Sheer писал(а):пусть всю жизнь остаются новичками.
Кому надо, тот дойдет. Название здесь абсолютно ни при чем.
Sheer писал(а):следует изучить матчасть.
Изучайте, я не против :)

Вернуться в «Запросы модов для phpBB 3.0.x»