Trotor Posted February 4, 2015 Share Posted February 4, 2015 Нужно составить универсальную переменную для любого шаблона. Привожу пример того что нужно (составлен примерно и не правильно, чисто для примера): <if test="$member['avatar_type'] = upload">Здесь помещается информация у кого в таблице profile_portal в поле avatar_type выставлено значение upload<else />Здесь помещается информация у кого в таблице profile_portal в поле avatar_type нет значения upload или попросту пусто</if> Похожую переменную также и для таблицы membersИ что бы не было лишних запросов к базе, что бы её лишний раз не нагружать. Как гриться, плиз помогите составить правильно переменную, очень на вас надеюсь. Плизззз. Link to comment Share on other sites More sharing options...
siv1987 Posted February 4, 2015 Share Posted February 4, 2015 Я так понимая вам этой переменной нужно вывести определенный код, который уже будет отформатирован, вместо того, чтобы писать каждый раз составлять условия? Если вам просто нужны какие-то значения, то их можно получить из регистра (или свойств класса) в зависимости от того какие это данные:$this->memberData - тут вся информация о пользователе ( или ipsRegistry::member()->getProperty('свойство') )$this->settings - настройки форума (ipsRegistry::$settings)$this->caches - все загруженные кеши. Link to comment Share on other sites More sharing options...
Trotor Posted February 4, 2015 Author Share Posted February 4, 2015 Я так понимая вам этой переменной нужно вывести определенный код, который уже будет отформатирован, вместо того, чтобы писать каждый составлять условия?Да да, именно так. Если вам просто нужны какие-то значения, то их можно получить из регистра (или свойств класс) в зависимости от того какие это данные.$this->memberData - тут все информация о пользователе ( или ipsRegistry::member()->getProperty('свойство') )$this->settings - настройки форума (ipsRegistry::$settings)$this->caches - все загруженные кеши.Да но я не знаю как из этого составить нужный мне код, пример которого я показал выше :( Link to comment Share on other sites More sharing options...
siv1987 Posted February 4, 2015 Share Posted February 4, 2015 Вариантов много. Создать метод, который будет возвращать нужный код. Создать свойство которое при инициализации будет получать некое значение по условию. Мне, например, по примеру здесь больше видится шаблон, который будет вызываться в нужном месте шаблона тегом {parse template="имя_шаблона" group="группа" params="$data"}. В этом шаблоне можете передать данные через переменную $data, можете использовать глобальные данные, как данные текущего пользователя и тд. Link to comment Share on other sites More sharing options...
Trotor Posted February 4, 2015 Author Share Posted February 4, 2015 Вариантов много. Создать метод, который будет возвращать нужный код. Создать свойство которое при инициализации будет получать некое значение по условию. Мне, например, по примеру здесь больше видится шаблон, который будет вызываться в нужным месте шаблона тегом {parse template="имя_шаблона" group="группа" params="$data"}. В этом шаблоне можете передать данные через переменную $data, можете использовать глобальные данные, как данные текущего пользователя и тд.В таких делах я не особо. Какой наиболее лучший вариант? Link to comment Share on other sites More sharing options...
Trotor Posted February 4, 2015 Author Share Posted February 4, 2015 Плизз, очень нужен такой код.Именно сейчас, для шаблона boardIndexTemplate Link to comment Share on other sites More sharing options...
siv1987 Posted February 4, 2015 Share Posted February 4, 2015 Лучше приведите более конкретный пример того что вы хотите сделать, а то лично мне пока не очень понятно. Расписывать что-то не понимая зачем это нужно как-то не хочется. Что мешает тупо использовать одно условие в boardIndexTemplate? Link to comment Share on other sites More sharing options...
Trotor Posted February 4, 2015 Author Share Posted February 4, 2015 Лучше приведите более конкретный пример того что вы хотите сделать, а то лично мне пока не очень понятно. Расписывать что-то не понимая зачем это нужно как-то не хочется. Что мешает тупо использовать одно условие в boardIndexTemplate? Решил поставить аватарки на главной странице форума. Однако если обращаться к коду, то это даёт лишнюю нагрузку на форум в виде множества запросов от каждого пользователя.Решил просто и примитивно - <img src='путь к директории аватар/av-{$forum_data['last_poster_id']}.jpg' class='tencolor' style='height: 20px;width: 20px;margin-top: 2px'/>Всё отлично, и аватары отображаются, и нет лишних запросов к базе данных. jpg единственный формат который разрешён к загрузке аватар. Однако есть одно но - если нет аватары у пользователя, пустая картинка, или же пользователь авторизировался через соцсеть - так же нет картинки. Link to comment Share on other sites More sharing options...
siv1987 Posted February 4, 2015 Share Posted February 4, 2015 Проблема в том, что получить данные которых нет, без sql запроса не так то просто. Даже если вывести код в отдельный шаблон/функцию/метод это ничего не изменит, все равно необходимых данных нет, а чтобы их получить нужно делать sql запрос. Аватар пользователя рядом с названием темыАналогично, только вместо foumIndexTemplate будет boardIndexTemplate - главная страница форума. Link to comment Share on other sites More sharing options...
Trotor Posted February 4, 2015 Author Share Posted February 4, 2015 Аватар пользователя рядом с названием темыАналогично, только вместо foumIndexTemplate будет boardIndexTemplate - главная страница форума.А это не будет лишних запросов к базе данных требовать? Link to comment Share on other sites More sharing options...
siv1987 Posted February 4, 2015 Share Posted February 4, 2015 А это не будет лишних запросов к базе данных требовать?Будет. Там, если не ошибаюсь, один запрос. Link to comment Share on other sites More sharing options...
Trotor Posted February 4, 2015 Author Share Posted February 4, 2015 Аналогично, только вместо foumIndexTemplate будет boardIndexTemplate - главная страница форума.Не понял, в смысле использовать ваш хук (кстати я его использую для аватар в разделах), только сделать в нём правку, foumIndexTemplate заменить на boardIndexTemplate? Будет. Там, если не ошибаюсь, один запрос.Это нормально. Link to comment Share on other sites More sharing options...
Trotor Posted February 5, 2015 Author Share Posted February 5, 2015 Кое что изменил в этом хуке, не пашет. Link to comment Share on other sites More sharing options...
newbie Posted February 5, 2015 Share Posted February 5, 2015 Кое что изменил в этом хуке, не пашет. Вместо кое-что нужно писать конкретно. Link to comment Share on other sites More sharing options...
Trotor Posted February 5, 2015 Author Share Posted February 5, 2015 Вместо кое-что нужно писать конкретно.Вот мой изменённый хукАватары на главной.xml Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now