[3.3.] Вложеность форума - Дизайн и модификация Invision Power Board

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

 

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

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

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

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

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

[3.3.] Вложеность форума

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

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 7
  • Регистрация: 23-Июль 12
  • Репутация: 0
  • IPB version:3.3.x
 

Отправлено 02 Август 2012 - 15:52

Здравствуйте, я хочу выводить блок на форуме только при определенном уровне вложенности, подскажите как мне это сделать?
Например
мир (1 ур.)
-африка (2 ур.)
-америка
-евразия
--европа (3 ур.)
---германия (4 ур.)
---дания
--азия
Так вот, блок необходимо отображать только в форумах уровня германии и дании (то есть только на 4 уровне вложенности)
0

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

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

Отправлено 02 Август 2012 - 18:07

Используйте условие принадлежности к конкретному форуму. Уровень вложенности не знаю если можно определить.

<if test="in_array( $this->request['f'], array(1,2,3) )">
 <div>HTML блок для форумов с id 1,2 или 3</div>
</if>


1,2,3 - ид нужных форумов.
0

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

 
 
  • Newbie
  • *
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 7
  • Регистрация: 23-Июль 12
  • Репутация: 0
  • IPB version:3.3.x
 

Отправлено 03 Август 2012 - 11:33

Просто у меня больше 1000 форумов, в массиве не очень удобно работать будет...
0

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

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

Отправлено 03 Август 2012 - 18:53

Просмотреть сообщениеПозолото 03 Август 2012 - 11:33 сказал(а):

Просто у меня больше 1000 форумов, в массиве не очень удобно работать будет...


Речь о дополнительном информационном блоке с правой стороны?
0

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

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

Отправлено 04 Август 2012 - 15:15

У форумов нет такого понятия, как "глубина". Есть только непосредственная отсылка на вышестоящий форум. Следовательно:

<php>
$parent = $forum_data['parent_id']; $level = 0;
while($parent > 0) {
  $level += 1;
  $_parent = $this->DB->buildAndFetch( array( 'select' => '*','from' => 'forums', 'where' => 'id = '.$parent ));
  $parent = !empty($_parent['parent_id']) ? $_parent['parent_id'] : 0;
}
</php>

<if test="$level == 3">
  Текущй форум на третьем уровне вложенности.
</if>


Для оптимизации скорости работы и снижения числа SQL-запросов хорошо бы подключиться к кэшу форумов и использовать его данные.
0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 87
  • Регистрация: 23-Октябрь 07
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 22 Сентябрь 2012 - 15:29

<if test="$level == 3">

так ведь вывод будет на всех форумах третьего уровня по всему форуму?
А нужно в конкретном - "европа" и все что ниже: германия, дания и пр. (если применительно к ТС).
0

#7 Пользователь не на сайте   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
 

Отправлено 22 Сентябрь 2012 - 16:05

wcp, Я Вам ссылку на конкретный пост давал, а Вы пошли дальше. Используйте ф-ю in_array.

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

в globaltemplate в нужное место воткнуть
<if test="adForum:|:$this->request['f']==ID">контент-блока</if> 


Воткните так:
<if test="in_array( $this->request['f'], array(1,2,3) )">
 <div>HTML блок для форумов с id 1,2 или 3</div>
</if>


П.С. Писать, думаю, стоило в своей теме.
0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 87
  • Регистрация: 23-Октябрь 07
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 22 Сентябрь 2012 - 16:40

В посте #4 как раз об этом и сказано: никогда не знаешь, сколько уровней будет завтра, что ж каждый раз ID-шники руками прописывать?
0

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

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

Отправлено 22 Сентябрь 2012 - 22:12

Цитата

что ж каждый раз ID-шники руками прописывать?

Лень - безусловно, двигатель прогресса. Напишите/закажите хук, что будет выводить рекламу с учетом текущего форума и/или его родителей.
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-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна