Перейти к публикации
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.

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

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

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

 

Есть таблица БД - 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, тогда только в локальных переменных шаблона.

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

Сейчас на странице 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.