Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

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

Рекомендованные сообщения

Опубликовано:

$this->memberData

 

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

Опубликовано:
  • Автор

$this->memberData

 

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

 

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

Опубликовано:

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

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

Число

$this->memberData['bday_day']

Месяц

$this->memberData['bday_month']

Год

$this->memberData['bday_year']

Опубликовано:

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

Опубликовано:
  • Автор

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

Число

$this->memberData['bday_day']

Месяц

$this->memberData['bday_month']

Год

$this->memberData['bday_year']

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

 

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

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

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

Опубликовано:

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

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

 

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

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

Опубликовано:
  • Автор

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

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

Опубликовано:

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

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

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

 

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

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

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.