Jump to content
Дизайн и модификация Invision Power Board IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Haktar

Условие при обновление того или иного раздела или темы

Recommended Posts

Я так понял что это блок можно использовать и для остальных шаблонов для проверки переменных?

Можете.

 

Вот такое выдало:

А мне оно зачем? Я же написал, берите 2 вывода и сравнивайте.

 

Хотя я еще раз перечитал пост, и, думаю, что это не то.

В шаблоне hookWatchedItems выводятся подписки, а нужно

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

 

Смотрите в сторону класса classItemMarking

Share this post


Link to post
Share on other sites

Смотрите в сторону класса classItemMarking

А переменные как определить этого класса? Смотрел переменные в шаблоне boardIndexTemplate, но я не заметил там переменных отвечающих за обновления разделов/тем

$lastvisit='", $stats=array(), $calendar_events=FALSE, $birthdays=FALSE, $chat_html='', $news_data=array(), $cat_data=array(), $show_side_blocks=true, $side_blocks=array()

 

Хотя в forumIndexTemplate есть похожие:

$forum_data, $announce_data, $topic_data, $other_data, $multi_mod_data, $sub_forum_data, $footer_filter, $active_user_data, $mod_data, $inforum=1

Вот так сделал:

<php>

print_r($forum_data);

print_r($topic_data);

</php>

Share this post


Link to post
Share on other sites

Честно говоря, я до конца так и не понял что автору нужно и причем тут шаблон hookWatchedItems с обновлениями на форуме. Если в этом шаблоне выводятся данные которые вам нужно, тогда смотрите входящие переменные. Если нет - тогда вообще нужно капать в другую сторону, а условие обычным способом не составить.

Share this post


Link to post
Share on other sites

Честно говоря, я до конца так и не понял что автору нужно и причем тут шаблон hookWatchedItems с обновлениями на форуме. Если в этом шаблоне выводятся данные которые вам нужно, тогда смотрите входящие переменные. Если нет - тогда вообще нужно капать в другую сторону, а условие обычным способом не составить.

Да, видимо hookWatchedItems вообще здесь не причём.

 

Попробую показать на примере что именно мне нужно реализовать.

 

Вставляю в какой то шаблон такое:

 

<if test="УСЛОВИЕ КОТОРОЕ ВЫВОДИТ ССЫЛКУ ЧТО НИЖЕ ЕСЛИ ЕСТЬ ОБНОВЛЕНИЯ В ТЕМЕ С IDом ТАКИМ ТО">

<a href='ССЫЛКА НА ТЕМУ'>НАЗВАНИЕ ТЕМЫ</a>

</if>

Share this post


Link to post
Share on other sites

Допустим у Вас есть тема с нужными данными, тогда

 

<if test="!$this->registry->classItemMarking->isRead(array('forumID' => $topic['forum_id'], 'itemID' => $topic['tid'], 'itemLastUpdate' => $topic['last_post'] ), 'forums');">
<a href='{parse url="showtopic={$topic['tid']}" base="public" template="showtopic" seotitle="{$topic['title_seo']}"}'>{$topic['title']}</a> 
</if>

  • Upvote 2

Share this post


Link to post
Share on other sites

Допустим у Вас есть тема с нужными данными, тогда

Вроде то. Вот только всё равно не понял - где в этом условие указать ид раздела (или темы) в котором есть обновления?

 

Собственно вот моя конструкция:

<div style='position: absolute;left: 1%'>

<div style='position: fixed;margin-top: -2px;margin-left: -3px'>

<if test="!$this->registry->classItemMarking->isRead(array('forumID' => $topic['forum_id'], 'itemID' => $topic['tid'], 'itemLastUpdate' => $topic['last_post'] ), 'forums')">

<div class='banners' style='margin-top: 5px'>

<a href='/forum/1298-total-war-saga-thrones-of-britannia/'>

<img src='/public/forumicons/br(08).png' class='turn' style='width: 30px'/>

</a>

</div>

</if>

</div>

</div>

 

То есть при наличие обновлений в разделе под ИДом 1298, этот блок появлялся.

Share this post


Link to post
Share on other sites

Приплыли.

Пишите про тему, а в коде нужен форум.

 

<div style='position: absolute;left: 1%'>
<div style='position: fixed;margin-top: -2px;margin-left: -3px'>
<php>
	$forum = $this->registry->getClass('class_forums')->forum_by_id[1298];
	$forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);
</php>
<if test="$forumData['_has_unread']">
	<div class='banners' style='margin-top: 5px'>
		<a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}">
			<img src='{$this->settings['public_dir']}forumicons/br(08).png' class='turn' style='width: 30px'/>
		</a>
	</div>
</if>
</div>
</div>

  • Upvote 1

Share this post


Link to post
Share on other sites

Пишите про тему, а в коде нужен форум.

Спасибо, то что надо!

 

А если мне нужно что бы по такой же схеме несколько таких блоков но с разными разделами? Пробовал добавить такой же блок и для другого раздела - всё нормально.

 

Однако если добавляю блок раздела где нет обновлений, тогда вообще всё пропадает.

Вот так:

 

 

 

<div style='position: absolute;left: 1%'><div style='position: fixed;margin-top: -2px;margin-left: -3px'><if test="$forumData['_has_unread']">

 

<php>$forum = $this->registry->getClass('class_forums')->forum_by_id[1298];$forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);</php>

<div class='banners' style='margin-top: 5px'><a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}"><img src='/public/forumicons/br(08).png' class='turn' style='width: 30px'/></a></div>

 

<php>$forum = $this->registry->getClass('class_forums')->forum_by_id[809];$forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);</php>

<div class='banners' style='margin-top: 5px'><a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}"><img src='/public/forumicons/br(124).png' class='turn' style='width: 30px'/></a></div>

 

<php>$forum = $this->registry->getClass('class_forums')->forum_by_id[200];$forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);</php>

<div class='banners' style='margin-top: 5px'><a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}"><img src='/public/forumicons/br(244).png' class='turn' style='width: 30px'/></a></div>

 

</if></div></div>

 

 

 

Третий блок это раздел в котором нет обновлений, после его добавления пропало всё.

Share this post


Link to post
Share on other sites

Что это за каша?

Используйте бибикод code для кодов

 

 

<div style='position: absolute;left: 1%'>
   <div style='position: fixed;margin-top: -2px;margin-left: -3px'>
   <php>
       $forum = $this->registry->getClass('class_forums')->forum_by_id[1298];
       $forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);
   </php>
   <if test="$forumData['_has_unread']">
       <div class='banners' style='margin-top: 5px'>
           <a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}">
               <img src='{$this->settings['public_dir']}forumicons/br(08).png' class='turn' style='width: 30px'/>
           </a>
       </div>
   </if>
   <php>
       $forum = $this->registry->getClass('class_forums')->forum_by_id[809];
       $forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);
   </php>
   <if test="$forumData['_has_unread']">
       <div class='banners' style='margin-top: 5px'>
           <a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}">
               <img src='{$this->settings['public_dir']}forumicons/br(124).png' class='turn' style='width: 30px'/>
           </a>
       </div>
   </if>
   <php>
       $forum = $this->registry->getClass('class_forums')->forum_by_id[200];
       $forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);
   </php>
   <if test="$forumData['_has_unread']">
       <div class='banners' style='margin-top: 5px'>
           <a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}">
               <img src='{$this->settings['public_dir']}forumicons/br(244).png' class='turn' style='width: 30px'/>
           </a>
       </div>
   </if>
   </div>
</div>

 

 

Либо, т.к. изменяемыми частями являются только форумы и картинки, то

 

<div style='position: absolute;left: 1%'>
<div style='position: fixed;margin-top: -2px;margin-left: -3px'>
	<foreach loop="array(1298 => '08', 809 => '124', 200 => '244') as $forumId => $icon">
		<php>
			$forum = $this->registry->getClass('class_forums')->forum_by_id[$forumId];
			$forumData = $this->registry->getClass('class_forums')->forumsCalcChildren($forum['id'], $forum);
		</php>
		<if test="$forumData['_has_unread']">
			<div class='banners' style='margin-top: 5px'>
				<a href="{parse url="showforum={$forumData['id']}" seotitle="{$forumData['name_seo']}" template="showforum" base="public"}">
					<img src='{$this->settings['public_dir']}forumicons/br({$icon}).png' class='turn' style='width: 30px'/>
				</a>
			</div>
		</if>
	</foreach>
</div>
</div>

 

  • Upvote 2

Share this post


Link to post
Share on other sites

Используйте бибикод code для кодов

Вы правы, нужно использовать code.

 

Либо, т.к. изменяемыми частями являются только форумы и картинки, то

Ух ты! Второй вариант даже лучше того чего мне хотелось. Большое спасибо.

Share this post


Link to post
Share on other sites

Кстати вот ещё кое что хотел спросить - а этот код подходит и для тем?

Замена forum на topic не даёт результата.

Share this post


Link to post
Share on other sites

Для темы выше http://ipbskins.ru/forum/topic15879.html/page__st__15#entry106500

Но нужно знать параметры темы и, если такие статические данные как tid или forum_id можно явно указать, то last_post придется откуда-то брать.

Share this post


Link to post
Share on other sites

В смысле что

 

у Вас есть тема с нужными данными

Если нужных данных в месте где используется это условие нету, придется запросить их из БД.

foreach это конструкция для перебора массива в php.

Share this post


Link to post
Share on other sites

придется запросить их из БД.

То есть посредством <php>?

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...