Условия на вывод данных в шаблонах - Дизайн и модификация Invision Power Board

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

 

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

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

Страница 1 из 1

Условия на вывод данных в шаблонах

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

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 261
  • Регистрация: 28-Январь 08
  • Репутация: 7
  • IPB version:3.4.x
 

Отправлено 01 Август 2019 - 13:24

Добрый день, есть несколько вопросов по условиям вывода данных(рекламных объявлений) в шаблонах
1. шаблон globalTemplate как составить условие, что бы при просмотре темы не показывались данные, а в других местах показывались, вот так почему то не работает
{{if (!\IPS\Request::i()->controller == 'topic')}}
реклама
{{endif}}

2. Как вывести данные перед последним сообщение темы, а так же после я так понимаю нужно это делать в шаблоне topic как выводить после определенного сообщения понятно это так {{if $postCount == 10}} а вот как перед последним? и после?

3. Как вывести данные после переделенного раздела на главной? например после третьего?
0

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

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

Отправлено 01 Август 2019 - 13:46

1.
{{if \IPS\Request::i()->controller != 'topic'}} 
реклама
{{endif}}

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

а вот как перед последним?
{{if $postCount == \count($comments) - 1}}

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

и после?
{{if $postCount == \count($comments)}}

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

Для \count($comments) лучше создать переменную, чтобы в цикле по n раз не вычислять.

3. Как вывести данные после переделенного раздела на главной? например после третьего?
Можно по id, чтобы лишние переменные не вводить.
В шаблоне index В цикле foreach использовать
			{{if $category->_id == 1}}
				Реклама после категории с ID 1
			{{endif}}

2

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

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 261
  • Регистрация: 28-Январь 08
  • Репутация: 7
  • IPB version:3.4.x
 

Отправлено 02 Август 2019 - 10:24

Спасибо.
Ещё такой вопрос хочу сделать вывод онлайн пользователь или нет около ника в сообщениях, ставил плагин(ы) все они создают лишние запросы в БД так как используют $comment->author()->isOnline() то есть по каждому отписавшемуся в теме идет запрос в таблицу сессий, что по мне дак как то не очень.
Решил попробовать сделать вот так прописав в шаблон это.
    {{if ($comment->author()->last_activity < time() - 1440) }}
<i style="font-size: 14px" class="fa fa-circle ipsOnlineStatus_offline" data-ipstooltip="" _title="Оффлайн"></i>
 {{else}}
 <i style="font-size: 14px" class="fa fa-circle ipsOnlineStatus_online" data-ipstooltip="" _title="Онлайн"></i>
{{endif}}

по сути в last_activity заносится последнее действие так же как и в сессии, но при этом не каких лишних запросов в БД нет т.к эти данные по сути и так запрашиваются.
Вроде все работает, только вопрос на сколько это правильно есть какие то минусы в таком решении?
Ещё данный код пришлось прописывать в два места в шаблоне что бы с мобильных тоже показывало, возникает прос может выполнять этот код один раз а в места вывода вставлять переменой? но что то не получается обозначить переменой то есть так
$olineuser = '<i style="font-size: 14px" class="fa fa-circle ipsOnlineStatus_offline" data-ipstooltip="" _title="Оффлайн"></i>' и дальнейший вывод в шаблоне {$olineuser} почему то не работает
0

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

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

Отправлено 02 Август 2019 - 12:08

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

Вроде все работает, только вопрос на сколько это правильно есть какие то минусы в таком решении?

Ваше решение похоже на то, что реализовано в методе isOnline, только без проверки на юзера/гостя и sql-запроса.

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

но что то не получается обозначить переменой то есть так
$olineuser = '<i style="font-size: 14px" class="fa fa-circle ipsOnlineStatus_offline" data-ipstooltip="" _title="Оффлайн"></i>' и дальнейший вывод в шаблоне {$olineuser} почему то не работает

{{$onOff = '';}}
{{if $comment->author()->member_id}}
	{{if $comment->author()->last_activity < time() - 1440}}
		{{$onOff = '<i style="font-size: 14px" class="fa fa-circle ipsOnlineStatus_offline" data-ipstooltip="" _title="Оффлайн"></i>';}}
	{{else}}
		{{$onOff = '<i style="font-size: 14px" class="fa fa-circle ipsOnlineStatus_online" data-ipstooltip="" _title="Онлайн"></i>';}}
	{{endif}}
{{endif}}
{$onOff|raw}

0

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


Страница 1 из 1


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

  

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-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна