Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

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

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Вынос данных с БД в шаблон стиля

Собственно нужно создать вот такую конструкцию.

 

Есть таблица БД - ibf_awards

Строка с полем - awards_id (скажем под номером 10)

 

Как мне прописать в шаблоне стиля, инфа показываться будет только при наличии этой строки с полем.

 

Вот как здесь, только заменить.

<if test="memberbox:|:$this->memberData['member_id']">инфа<else /></if>

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

А вы уверены что там этих данных нет? Или они где то не имеются в свойства пользователя

  • Автор

Я имел в виду как создать подобную конструкцию на примере <if test="memberbox:|:$this->memberData['member_id']">

  • Автор

Хорошо, а как тогда вывести данные с БД в шаблон стиля?

Хорошо, а как тогда вывести данные с БД в шаблон стиля?

Вы для начала ответьте на вопрос

А вы уверены что там этих данных нет? Или они где то не имеются в свойства пользователя

Если данные есть, то нет смысла тянуть их из БД.

  • Автор

@newbie,

Просто видимо я толково не мог объяснить что я хочу, вот поэтому меня и не понимают :D

 

Сейчас попробую объяснить.

 

Есть модуль наград. Скажем один из пользователей награждён её. Теперь нужно сделать так, что бы у кого есть эта награда, могли просматривать информацию вот в подобной структуре:

<if test="memberbox:|:$this->memberData['member_id']">Здесь текст тем у кого есть награда<else />здесь тем у кого её нет</if>

Но сама информация награды с базы не должна отображаться.

 

Вот так как то :)

Просто видимо я толково не мог объяснить что я хочу, вот поэтому меня и не понимают

Все мы поняли.

Если есть нужные данные в шаблоне, то нет смысла получать их еще раз.

Если нет данных, то http://ipbskins.ru/forum/topic11279.html

 

В любом случае, нужна еще информация о юзере. Поэтому, думается мне, нужна другая таблица - таблица награжденных, а не списка медалей.

  • Автор

Если есть нужные данные в шаблоне, то нет смысла получать их еще раз.

Данные есть, в своих шаблонах, относящихся к приложению. А как мне их подключить что бы они были читаемые и в остальных шаблонах форума.

 

Вот к примеру:

<td style='width: 12.5%;text-align: center;'><a href='{parse url="showuser=$awarerid" template="showuser" seotitle="" base="public"}'>{$awarername}</a> {parse template="user_popup" group="global" params="$awarerid"}</td>

Переменные у шаблона:

$id,$name,$date,$reason,$awarerid,$awarername

А как мне их подключить что бы они были читаемые и в остальных шаблонах форума.

Определенные шаблоны отрабатывают в определенный момент времени. Например шаблон просмотра тем отрабатывает при просмотре темы, но не работает при просмотре профиля. Следовательно у одного будут одни данные, а у другого другие. И между собой эти данные не передаются, так как это разные события. Если вам например нужные данные которые есть у профиля в шаблоне просмотра тем, значит при компиляции последнего нужно их собрать. Если эти же данные нужны в другом шаблоне тоже их собираем, до тех пор пока не проще их инициализировать глобально на каждой странице.

  • Автор

до тех пор пока не проще их инициализировать глобально на каждой странице.

А как это сделать? Да, хотелось бы создать единный универсальный код для всех шаблонов, наподобие <if test="memberbox:|:$this->memberData['member_id']">

Изменено пользователем Haktar

  • Автор

Дайте какую то зацепку, а дальше я уже сам :)

<php>
print_r($this->memberData);
</php>

Возможно тут уже есть ваши данные

  • Автор

Возможно тут уже есть ваши данные

А куда это поместить?

Можно в глобальном шаблоне. А обычно добавляют в том шаблоне чьи переменные нужно продебажить

  • Автор

Пробовал такое, но не пошло:

<if test="$this->awardsData['awards_id'] == 15">Текст у кого есть награда под идом 15<else />текст у кого её нет</if>

 

Где - awards название таблицы, awards_id - название поля, 15 ид

 

Не пошло конечно...

Вряд ли, потому что у контроллера нет такого свойства. Если нет в $this->memberData, тогда только в локальных переменных шаблона.

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.