Skip to content

Переменные для шаблона globalTemplate. IPB 3.3.4

Добрый день. Прошу помощи в следующей задаче. Мне нужно на всех страницах форума в самом конце (перед закрывающим тегом body) выводить некий js код. Скрипту требуется знать пол и возраст авторизированного в данный момент пользователя. Собственно, для реализации этого я хочу найти место, где формирются переменные для этого шаблона и определить их там. Подскажите, пожалуйста, где это происходит?

 

Если есть какие-лобо другие варианты (более правильные) реализации этой задачи, буду признателен.

Featured Replies

$this->memberData

 

$this->memberData['field_%ид_доплнительного_поле%']

  • Author

$this->memberData

 

$this->memberData['field_%ид_доплнительного_поле%']

 

Этот вариант хорош, правда есть пара НО. Если я не ошибаюсь, то в базе хранится только дата рождения. То есть сначала на её основе мне требуется вычислить возраст, а потом уже выводить в шаблоне. Что же касается пола, то мне то же теребуется осуществить с ним некоторые манипуляции, а не передавать напрямую значение из базы.

то в базе хранится только дата рождения

Что (число | месяц | год) пользователь укажет, то и хранится.

Число

$this->memberData['bday_day']

Месяц

$this->memberData['bday_month']

Год

$this->memberData['bday_year']

Все необходимые манипуляции можно сделать на джава-скрипте. Если нужен php -

  • Author

Что (число | месяц | год) пользователь укажет, то и хранится.

Число

$this->memberData['bday_day']

Месяц

$this->memberData['bday_month']

Год

$this->memberData['bday_year']

Да, я это знаю. По этим данным я и собираюсь посчитать возраст.

 

Все необходимые манипуляции можно сделать на джава-скрипте. Если нужен php - <php></php>

Джава скрипт сторонний, мне в него нужно лишь передать готовые переменные.

<php></php> как вариант подходит, просто это противоречит концепции MVC

Джава скрипт сторонний, мне в него нужно лишь передать готовые переменные.

Готовые переменные ничем не отличаются от готовых переменных предварительно обработанных. Это можно сделать как на php так и на javascripte.

 

как вариант подходит, просто это противоречит концепции MVC

Концепции MVC не противоречит пару php строчек в шаблоне. Вы же не приложение пишите с выводом из бд и данными от пользователя?

  • Author

Всем спасибо. Сделал через <php></php>.

Но на будущее, всё таки можете подсказать где готовятся переменные для шаблона?

В файлах приложении где компилируется шаблон.

Но на будущее, всё таки можете подсказать где готовятся переменные для шаблона?

/admin/applications(?_addon)/имя_приложения/modules_public

 

Но вам там править ничего не советую. Как вы потом обновляться будете? Такую простую операцию действительно проще в шаблоне выполнить. Я для чего посложнее - составить hook.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.