Универсальная переменная для любого шаблона - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

Универсальная переменная для любого шаблона

#1 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2015 - 22:49

Нужно составить универсальную переменную для любого шаблона.

Привожу пример того что нужно (составлен примерно и не правильно, чисто для примера):

<if test="$member['avatar_type'] = upload">Здесь помещается информация у кого в таблице profile_portal в поле avatar_type выставлено значение upload<else />Здесь помещается информация у кого в таблице profile_portal в поле avatar_type нет значения upload или попросту пусто</if>

Похожую переменную также и для таблицы members
И что бы не было лишних запросов к базе, что бы её лишний раз не нагружать.

Как гриться, плиз помогите составить правильно переменную, очень на вас надеюсь. Плизззз.
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 276
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2015 - 23:08

Я так понимая вам этой переменной нужно вывести определенный код, который уже будет отформатирован, вместо того, чтобы писать каждый раз составлять условия? Если вам просто нужны какие-то значения, то их можно получить из регистра (или свойств класса) в зависимости от того какие это данные:
$this->memberData - тут вся информация о пользователе ( или ipsRegistry::member()->getProperty('свойство') )
$this->settings - настройки форума (ipsRegistry::$settings)
$this->caches - все загруженные кеши.
0

#3 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2015 - 23:22

Просмотреть сообщениеsiv1987 сказал(а):

Я так понимая вам этой переменной нужно вывести определенный код, который уже будет отформатирован, вместо того, чтобы писать каждый составлять условия?

Да да, именно так.

Просмотреть сообщениеsiv1987 сказал(а):

Если вам просто нужны какие-то значения, то их можно получить из регистра (или свойств класс) в зависимости от того какие это данные.
$this->memberData - тут все информация о пользователе ( или ipsRegistry::member()->getProperty('свойство') )
$this->settings - настройки форума (ipsRegistry::$settings)
$this->caches - все загруженные кеши.

Да но я не знаю как из этого составить нужный мне код, пример которого я показал выше :(
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 276
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2015 - 23:29

Вариантов много. Создать метод, который будет возвращать нужный код. Создать свойство которое при инициализации будет получать некое значение по условию. Мне, например, по примеру здесь больше видится шаблон, который будет вызываться в нужном месте шаблона тегом {parse template="имя_шаблона" group="группа" params="$data"}. В этом шаблоне можете передать данные через переменную $data, можете использовать глобальные данные, как данные текущего пользователя и тд.
0

#5 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 04 Февраль 2015 - 23:43

Просмотреть сообщениеsiv1987 сказал(а):

Вариантов много. Создать метод, который будет возвращать нужный код. Создать свойство которое при инициализации будет получать некое значение по условию. Мне, например, по примеру здесь больше видится шаблон, который будет вызываться в нужным месте шаблона тегом {parse template="имя_шаблона" group="группа" params="$data"}. В этом шаблоне можете передать данные через переменную $data, можете использовать глобальные данные, как данные текущего пользователя и тд.

В таких делах я не особо. Какой наиболее лучший вариант?
0

#6 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 00:22

Плизз, очень нужен такой код.
Именно сейчас, для шаблона boardIndexTemplate
0

#7 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 276
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 00:57

Лучше приведите более конкретный пример того что вы хотите сделать, а то лично мне пока не очень понятно. Расписывать что-то не понимая зачем это нужно как-то не хочется. Что мешает тупо использовать одно условие в boardIndexTemplate?
0

#8 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 01:06

Просмотреть сообщениеsiv1987 сказал(а):

Лучше приведите более конкретный пример того что вы хотите сделать, а то лично мне пока не очень понятно. Расписывать что-то не понимая зачем это нужно как-то не хочется. Что мешает тупо использовать одно условие в boardIndexTemplate?


Решил поставить аватарки на главной странице форума. Однако если обращаться к коду, то это даёт лишнюю нагрузку на форум в виде множества запросов от каждого пользователя.
Решил просто и примитивно - <img src='путь к директории аватар/av-{$forum_data['last_poster_id']}.jpg' class='tencolor' style='height: 20px;width: 20px;margin-top: 2px'/>
Всё отлично, и аватары отображаются, и нет лишних запросов к базе данных. jpg единственный формат который разрешён к загрузке аватар.

Однако есть одно но - если нет аватары у пользователя, пустая картинка, или же пользователь авторизировался через соцсеть - так же нет картинки.
0

#9 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 276
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 01:44

Проблема в том, что получить данные которых нет, без sql запроса не так то просто. Даже если вывести код в отдельный шаблон/функцию/метод это ничего не изменит, все равно необходимых данных нет, а чтобы их получить нужно делать sql запрос.

Аватар пользователя рядом с названием темы
Аналогично, только вместо foumIndexTemplate будет boardIndexTemplate - главная страница форума.
0

#10 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 01:56

Просмотреть сообщениеsiv1987 сказал(а):

Аватар пользователя рядом с названием темы
Аналогично, только вместо foumIndexTemplate будет boardIndexTemplate - главная страница форума.

А это не будет лишних запросов к базе данных требовать?
0

#11 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 276
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 02:36

Просмотреть сообщениеHaktar сказал(а):

А это не будет лишних запросов к базе данных требовать?

Будет. Там, если не ошибаюсь, один запрос.
0

#12 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 02:51

Просмотреть сообщениеsiv1987 сказал(а):

Аналогично, только вместо foumIndexTemplate будет boardIndexTemplate - главная страница форума.

Не понял, в смысле использовать ваш хук (кстати я его использую для аватар в разделах), только сделать в нём правку, foumIndexTemplate заменить на boardIndexTemplate?


Просмотреть сообщениеsiv1987 сказал(а):

Будет. Там, если не ошибаюсь, один запрос.

Это нормально.
0

#13 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 03:10

Кое что изменил в этом хуке, не пашет.
0

#14 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 166
  • Регистрация: 26-Октябрь 11
  • Репутация: 814
  • IPB version:I have no IPB
 

Отправлено 05 Февраль 2015 - 10:18

Просмотреть сообщениеHaktar сказал(а):

Кое что изменил в этом хуке, не пашет.
Вместо кое-что нужно писать конкретно.
0

#15 Пользователь на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 639
  • Регистрация: 14-Июнь 09
  • Репутация: 15
  • IPB version:3.1.x
 

Отправлено 05 Февраль 2015 - 18:43

Просмотреть сообщениеnewbie 05 Февраль 2015 - 10:18 сказал(а):

Вместо кое-что нужно писать конкретно.

Вот мой изменённый хук

Вложений


0

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна