Категории - Свернуто по умолчанию?

Вопросы без привязки к версии. Установлена авточистка (2 года).

Категории - Свернуто по умолчанию?

Сообщение D71 10.11.2007 13:48

Хочу слегка изменить вид главной страницы своего форума....не нравится, что он слишком длинный ввысоту...Можно поставить мод подфорумов, но я этого не хочу, так как не нужна лишняя нагрузка...
Возможно ли переписать index.php таким образом, чтобы был следующий алгоритм:
- по умолчанию все категории свернуты
- при клике на категорию - она разворачивается как в стандарте, но при клике на следующую - они обе остаются развернутыми, а предидущая, как в стандарте - не сворачивается
- при новой перезагрузке страницы - все категории - вновь сворачиваются

Далее...так как если такое получится и возможно это сделать - планирую расширить список тем (колличество отображаемое) в "Глянсе" ...вопрос - если там будет крутиться скажем 15 тем.. - сильно ли это подгрузит форум вцелом?...вообще, какова доля нагрузки от "Глянса"?

По данному вопросу я нашел эту темуССЫЛКА....но во-первых она закрыта...во-вторых - не дает ответа на мой вопрос...Так что пришлось новую начать... - извините если что
Заранее спасибо :)...буду признателен, если в ответе выложите код модификации...так как я всему еще только учусь...

Добавлено спустя 1 час 13 минут 12 секунд:

А еще лучше было бы сделать как в ИПБ реализованно..То есть в панели названия категории имеется кнопка "+ -" которой категории сворачиваются и разворачиваются...и пока пользователь не разлогинился - остаются в выбранном им состоянии, только в моем случае надо, чтоб по умолчанию всеже свернутыми были категории, и данные кнопки больше как "развернуть" работали.....

Может мод такой есть?
D71
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 02.08.2007 9:57


Сообщение mEx 10.11.2007 14:47

как найдешь - отпишись)
mEx
phpBB 2.0.1
 
Сообщения: 138
Зарегистрирован: 01.04.2007 0:39

Сообщение Alek$ 10.11.2007 16:15

D71
мод делать не стану - лениво - а наводку дам.
Попробуйте в шаблоне index_body.tpl заюзать JavaScript и свойство display для скрытия/отображения частей страницы.
Useful links: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.

Изображение
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB 3.0.2 с предустановленной русификацией
Аватара пользователя
Alek$
Модератор
Модератор
 
Сообщения: 1680
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск

Сообщение D71 10.11.2007 18:05

Alek$ спасибо за наводку :) ...я тут что-то написал...но так как не особо еще в этом разбираюсь, а ставить буду на работающий форум - прошу проверить мое "творчество"

Код: Выделить всё
<!-- BEGIN catrow -->
  <tr>
   <td class="catLeft" colspan="2" height="28"><span class="cattitle"><a href="{catrow.U_VIEWCAT}" class="cattitle">{catrow.CAT_DESC}</a></span></td>
   <td class="rowpic" colspan="3" align="right">&nbsp;</td>
  </tr>
<html>
<body>
  <a href="javascript:void()" onclick="if(document.getElementById('hid').style.display=='none') document.getElementById('hid').style.display='block';else document.getElementById('hid').style.display='none';"><strong>Показать/Спрятать</strong></a>
  <div style="display:none" id="hid">

<!-- BEGIN forumrow -->
  <tr>
   <td class="row2" align="center" valign="middle" height="50"><img src="{catrow.forumrow.FORUM_FOLDER_IMG}" width="46" height="25" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" /></td>
   <td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br />
     </span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
     </span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
   <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.TOPICS}</span></td>
   <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.POSTS}</span></td>
   <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td>
  </tr>
  <!-- END forumrow -->


</div>
</body>
</html>

<!-- END catrow -->


Ну вот..вроде так...
Если это - правильно - на сколько это нагрузит форум...или это вообще никак не нагрузит?
D71
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 02.08.2007 9:57

Сообщение Alek$ 10.11.2007 18:15

D71
ваш вариант будет сворачивать/разворачивать все категории разом.
Можно попробовать вот так:
Код: Выделить всё
<!-- BEGIN catrow -->
  <tr>
   <td class="catLeft" colspan="2" height="28"><span class="cattitle"><a href="{catrow.U_VIEWCAT}" class="cattitle">{catrow.CAT_DESC}</a></span></td>
   <td class="rowpic" colspan="3" align="right">&nbsp;</td>
  </tr>
  <a href="javascript:void()" onclick="if(document.getElementById('{catrow.CAT_DESC}').style.display=='none') document.getElementById('{catrow.CAT_DESC}').style.display='block';else document.getElementById('{catrow.CAT_DESC}').style.display='none';"><strong>Показать/Спрятать</strong></a>
  <div style="display:none" id="{catrow.CAT_DESC}">

<!-- BEGIN forumrow -->
  <tr>
   <td class="row2" align="center" valign="middle" height="50"><img src="{catrow.forumrow.FORUM_FOLDER_IMG}" width="46" height="25" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" /></td>
   <td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br />
     </span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
     </span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
   <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.TOPICS}</span></td>
   <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.POSTS}</span></td>
   <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td>
  </tr>
  <!-- END forumrow -->


</div>

<!-- END catrow -->

Идея: в качестве уникального id для слоя использовать название категории, к которой он относится.
Условия работы этого кода:
1) Нет категорий с одинаковым названием.
2) В названиях категорий нет кавычек.

По-хорошему, надо бы генерировать id как-нибудь по-нормальному, но тут без правки php кода не обойтись.

ЗЫ. Не проверял, хотя и должно работать.
Useful links: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.

Изображение
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB 3.0.2 с предустановленной русификацией
Аватара пользователя
Alek$
Модератор
Модератор
 
Сообщения: 1680
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск

Сообщение Kastaneda 10.11.2007 18:27

Может стоит посмотреть и немного видоизменить какой-нибудь стиль от CyberAlien'а? Например, Aeolus. Там сворачивание категорий организовано подобным образом, и, насколько я понимаю, завязано на кукисах.
Kastaneda
Модератор
Модератор
 
Сообщения: 703
Зарегистрирован: 06.10.2004 13:29

Сообщение D71 10.11.2007 18:41

Alek$Спасибо большое:)...Подскажите еще момент.., если нет форума на локалхосте...нет ни Денвера - ни всего такого...Есть ли какойто способ проверить работоспособность скрипта?...Или впринципе, если я сначала загружу этот модифицированный index_body.tpl и что то не понравится - то вернув исходный все встанет на свои места, без каких либо последствий? Я прав?
D71
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 02.08.2007 9:57

Сообщение RedNaxi 10.11.2007 18:43

ищите на форуме... у меня тема была 'юзер фриенд пост линкс и шов/хайд категориес' там у меня был выложен нужный мод и завязанный на кукисах...
только он в ие ошибку выдает, руки не доходят поправить:(
Программирую всякую чушь за еду.
Контакт
Над этим, и не только, я когда-то работал.
Аватара пользователя
RedNaxi
phpBB 2.0.16
 
Сообщения: 992
Зарегистрирован: 21.02.2007 2:05
Откуда: BMK :)

Сообщение Alek$ 10.11.2007 18:59

D71
D71 писал(а):то вернув исходный все встанет на свои места, без каких либо последствий? Я прав?

Да
Useful links: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.

Изображение
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB 3.0.2 с предустановленной русификацией
Аватара пользователя
Alek$
Модератор
Модератор
 
Сообщения: 1680
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск

Сообщение D71 10.11.2007 22:40

К сожалению - ни 1, ни 2 варианты - не работают...RedNaxi - буду пробовать Ваш мод...

Добавлено спустя 3 часа 15 минут:

Попробовал указанный мод...все встало как надо и Опера, Фаирфокс и Сафари (ИЕ - не трогаю принципиально) - ошибок не выдали. Однако, при всем уважении к разработчику, - мне не понравилось как он работает...То есть, если я кликаю по стандартной ссылке - раскрывающей одну категорию (при этом скрываются остальные) - дальше мод не работает для категорий скрытых стандартом...(кликай ни кликай по ссылке установленной модом - не работает)...Таким образом ИМХО - мод мешает стандартной функции раскрытия/скрытия категорий....
По сему возвращаюсь к своему вопросу - как сделать, чтобы хотя-бы категории были скрыты по умолчанию? и все...то есть при каждой перезагрузке страницы - они сами сворачивались...Ну неужели нет такого решения?

Добавлено спустя 2 минуты 1 секунду:

То есть - уточню...мне не надо функций открыть закрыть - это лишнее я подумал...просто надо чтоб они были свернуты....и все..
D71
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 02.08.2007 9:57

Сообщение Alek$ 11.11.2007 9:43

D71
если в течение недели проблема не решится, попробую сам написать мод.
Useful links: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.

Изображение
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB 3.0.2 с предустановленной русификацией
Аватара пользователя
Alek$
Модератор
Модератор
 
Сообщения: 1680
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск

Сообщение D71 11.11.2007 12:19

Спасибо....я вот тут подумал...я конечно - не волшебник..а только учусь...но поправьте меня, если я не прав... - это просто мое логическое размышление...А не в обход ли мы идем?...то есть не занимаемся ли тем, что ищем нелегкие пути....Вот логически - ведь есть определенный штатный алгоритм, предполагаю где то в index.php прописанный - согласно которому по умолчанию категории развернуты...Почему его просто не сменить на наоборот - то есть свернуто по умолчанию :?: ....Я сам смотрел index.php - но не нашел там этого...но что я не нашел - не удивительно.. :oops:
D71
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 02.08.2007 9:57

Сообщение Alek$ 11.11.2007 12:23

D71
Возможно. Но чтобы этими "путями истины" воспользоваться надо копаться в php. Возможно, я этим и займусь, если раньше никто не сделает. Но на DHTML это сделать проще. Только надо чуток поэксперементировать.
Useful links: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.

Изображение
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB 3.0.2 с предустановленной русификацией
Аватара пользователя
Alek$
Модератор
Модератор
 
Сообщения: 1680
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск

Сообщение D71 11.11.2007 14:08

Код: Выделить всё
//
   // Let's decide which categories we should display
   //
   $display_categories = array();

   for ($i = 0; $i < $total_forums; $i++ )
   {
      if ($is_auth_ary[$forum_data[$i]['forum_id']]['auth_view'])
      {
         $display_categories[$forum_data[$i]['cat_id']] = true;
      }
   }

   //
   // Okay, let's build the index
   //
   for($i = 0; $i < $total_categories; $i++)
   {
      $cat_id = $category_rows[$i]['cat_id'];

      //
      // Yes, we should, so first dump out the category
      // title, then, if appropriate the forum list
      //
      if (isset($display_categories[$cat_id]) && $display_categories[$cat_id])
      {
         $template->assign_block_vars('catrow', array(
            'CAT_ID' => $cat_id,
            'CAT_DESC' => $category_rows[$i]['cat_title'],
            'U_VIEWCAT' => append_sid("index.$phpEx?" . POST_CAT_URL . "=$cat_id"))
....я так понимаю - банально в этом куске кода index.php нужно что-то поменять...Ну что - никто из знающих больше не интересуется данным вопросом? :)
D71
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 02.08.2007 9:57

Сообщение Alek$ 11.11.2007 14:42

D71
не все так просто...

Можно, конечно, заменить строку
Код: Выделить всё
         if ( $viewcat == $cat_id || $viewcat == -1 )

на
Код: Выделить всё
         if ( $viewcat == $cat_id )

но это не даст эффекта
D71 писал(а):но при клике на следующую - они обе остаются развернутыми


Добавлено спустя 3 минуты 37 секунд:

Чтобы это обойти нужно придумывать новые пути передачи о развернутых категориях...
Useful links: phpBB2 и phpBB3 FAQ; Правила общения;
Все консультации в icq или личке - на платной основе.

Изображение
Самая страшная ошибка, это ошибка без видимых причин и конкретных последствий.
phpBB3 [db_update.php generator]
phpBB 3.0.2 с предустановленной русификацией
Аватара пользователя
Alek$
Модератор
Модератор
 
Сообщения: 1680
Зарегистрирован: 03.08.2005 12:46
Откуда: Новосибирск

След.

Вернуться в phpBB-пространство

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0