[Помощь] Сворачиваемые блоки

Статус
В этой теме нельзя размещать новые ответы.

Monkeyman

Профессор
Регистрация
26 Ноя 2008
Сообщения
210
Реакции
47
Нет ли кого поопытнее, кто мог бы взглянуть, как правильно создавать в IPB 3.0 сворачиваемые блоки?

Я допер только до обязательного куска, который и убирается:

<div class='category_block block_wrap'>
<h3 id='someID' class='maintitle'><a class='right toggle' href='#' title='{$this->lang->words['click_toggle']}'>{$this->lang->words['click_toggle']}</a>Заголовок блока</h3>
<table class="ipb_table">
<tr>
<th>Шапка таблицы</th>
</tr>
<tr>
<td>Тело таблицы</td>
</tr>
</table>
</div>

За само сворачивание отвечает функция toggle в файле board.js. На этом все, мое понимание заканчивается - стопорит уже то, что функция вызывается через класс стиля. При этом я смог добавить работающие блоки только на главной странице - на странице списка тем, к примеру, уже не получается. И к тому же не сохраняется состояние блоков (только у стандартных блоков со списком форумов).

Вопросы простые:
1. Как сделать так, чтобы и в списке тем любого раздела блоки сворачивались/разворачивались?
2. Как сохранять состояние блоков в куках?

Сразу скажу, что общался уже и со службой поддержки IPS и на форуме официальном спрашивал - так и не добился внятного ответа. Буду крайне признателен, если кто-нибудь с опытом в программировании заглянет в темплаты и board.js и поделится секретом сворачивания блоков.
 
  • Заблокирован
  • #2
Вот такие классы сворачивают категории.
<div class='category_block block_wrap'>
<h3 id='category_{$_data['cat_data']['id']}' class='maintitle'><a class='toggle right' href='#' title='{$this->lang->words['toggle_cat']}'>{$this->lang->words['toggle_cat']}</a> <a href="{parse url="showforum={$_data['cat_data']['id']}" seotitle="{$_data['cat_data']['name_seo']}" template="showforum" base="public"}" title='{$this->lang->words['view_cat']}'>{$_data['cat_data']['name']}</a></h3>
<table class="ipb_table">
<tr>
<th>Шапка таблицы</th>
</tr>
<tr>
<td>Тело таблицы</td>
</tr>
</table>
</div>
Но косяк в том что если зменить классы менюха перестает работать.

Вот к примеру как работает сайдбар правый - вернее как куки хавает и по ним определяет что свернули ее ил нет.
<div id='categories' class='<if test="nosidebar:|:IPSCookie::get('hide_sidebar') == '1' || !$this->templateVars['sidebar_enabled']">no_sidebar</if> clearfix'>

Ответ на твой вопрос лежит в шаблоне boardIndexTemplate
Ищи там как делается.
 
А что вместо cat_data подставляется-то? И каким образом это связано с куками? Там как-то парсится по названию?

В темплатах я уже устал копаться и пока смог сделать блоки ТОЛЬКО для главной страницы и БЕЗ сохранения в куках. О чем, собственно и спрашиваю - КАК сделать и то, и другое?
 
Так, вроде, с блоками на главной странице разобрался. Шаблон для сворачиваемого блока такой:

<div class='category_block block_wrap'>
<h3 id='category_catName' class='maintitle'><a class='toggle right' href='#' title='{$this->lang->words['toggle_cat']}'>{$this->lang->words['toggle_cat']}</a>{$this->lang->words['catTitle']}</h3>
<div class='table_wrap'>
<table class="ipb_table" summary="{$this->lang->words['catTitle']}">
<tr>
<th>Шапка таблицы</th>
</tr>
<tr>
<td>Тело таблицы</td>
</tr>
</table>
</div>
</div>

catName - уникальное имя блока
catTitle - заголовок блока

Если не работает - стереть куку для вашего сайта под название toggleCats. После этого все состояния блоков обнулятся, и должно заработать.

Но вот что никак не получается, это сделать сворачиваемые блоки в странице форума, где список тем.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху