Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery меню аккордеон 
:(
    Опции темы
XpoHuk
  Дата 21.3.2012, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Проблема в следующем:
Есть меню аккордеон в котором 3 раздела и на данный момент 2 из них пусты, нужно сделать так чтоб те разделы в которых пусто не выводились в меню.

Код одного из разделов меню:
Код

                <h3><a href="#">Новости</a></h3>
                <div>
                        <?$APPLICATION->IncludeComponent("news.list", "encicl", array(
                    "IBLOCK_TYPE" => "news",
                    "IBLOCK_ID" => "2",
                    "NEWS_COUNT" => "5",
                    "SORT_BY1" => "ACTIVE_FROM",
                    "SORT_ORDER1" => "DESC",
                    "SORT_BY2" => "SORT",
                    "SORT_ORDER2" => "ASC",
                    "FILTER_NAME" => "arrFilter",
                    "FIELD_CODE" => array(
                            0 => "",
                            1 => "",
                    ),
                    "PROPERTY_CODE" => array(
                            0 => "CATEGORIES",
                            1 => "",
                    ),
                    "CHECK_DATES" => "Y",
                    "DETAIL_URL" => "",
                    "AJAX_MODE" => "N",
                    "AJAX_OPTION_SHADOW" => "Y",
                    "AJAX_OPTION_JUMP" => "N",
                    "AJAX_OPTION_STYLE" => "Y",
                    "AJAX_OPTION_HISTORY" => "N",
                    "CACHE_TYPE" => "A",
                    "CACHE_TIME" => "300",
                    "CACHE_FILTER" => "N",
                    "CACHE_GROUPS" => "Y",
                    "PREVIEW_TRUNCATE_LEN" => "",
                    "ACTIVE_DATE_FORMAT" => "d.m.Y",
                    "SET_TITLE" => "N",
                    "SET_STATUS_404" => "N",
                    "INCLUDE_IBLOCK_INTO_CHAIN" => "N",
                    "ADD_SECTIONS_CHAIN" => "N",
                    "HIDE_LINK_WHEN_NO_DETAIL" => "N",
                    "PARENT_SECTION" => "",
                    "PARENT_SECTION_CODE" => "",
                    "DISPLAY_TOP_PAGER" => "N",
                    "DISPLAY_BOTTOM_PAGER" => "N",
                    "PAGER_TITLE" => "Новости",
                    "PAGER_SHOW_ALWAYS" => "Y",
                    "PAGER_TEMPLATE" => "",
                    "PAGER_DESC_NUMBERING" => "N",
                    "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
                    "PAGER_SHOW_ALL" => "Y",
                    "DISPLAY_DATE" => "N",
                    "DISPLAY_NAME" => "Y",
                    "DISPLAY_PICTURE" => "N",
                    "DISPLAY_PREVIEW_TEXT" => "N",
                    "AJAX_OPTION_ADDITIONAL" => ""
                    ),
                    $component
            );?> 
                </div>


PS: О том что можно временно закомментировать эти разделы я знаю но нужно именно скрыть, чтоб при создании в данном случае новостей раздел автоматически считался не пустым и появлялся в меню.
PM MAIL   Вверх
ksnk
Дата 21.3.2012, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386




Код

<?php 
$component_html=trim($APPLICATION->IncludeComponent("news.list", "encicl", array(
...

);
if(!empty($component_html)){
?>
<h3><a href="#">Новости</a></h3>
                <div><?=$component_html?>
</div>
<?php } ?>
                 


?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
XpoHuk
Дата 21.3.2012, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Цитата(ksnk @ 21.3.2012,  07:49)
Код

<?php 
$component_html=trim($APPLICATION->IncludeComponent("news.list", "encicl", array(
...

);
if(!empty($component_html)){
?>
<h3><a href="#">Новости</a></h3>
                <div><?=$component_html?>
</div>
<?php } ?>
                 


?

Этот код просто раскрывает меню и убирает название раздела меню, то есть когда наполняем меню оно всегда остаётся раскрытым.
А меню всё таки аккордеон. smile
PM MAIL   Вверх
ksnk
Дата 21.3.2012, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цитата(XpoHuk @  21.3.2012,  08:20 Найти цитируемый пост)
Этот код просто раскрывает меню и убирает название раздела меню

нет. этот код сначала получает содержимое будущего раздела аккордеона, и если это содержимое не пустое - выводит сам раздел вместе с названием и содержимым. А если пустой - не выводит.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
XpoHuk
  Дата 21.3.2012, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



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

в общем вот конечный результат:

Код

<?php 
$component_html=trim($APPLICATION->IncludeComponent("news.list", "encicl", array(
                    "IBLOCK_TYPE" => "news",
                    "IBLOCK_ID" => "2",
                    "NEWS_COUNT" => "5",
                    "SORT_BY1" => "ACTIVE_FROM",
                    "SORT_ORDER1" => "DESC",
                    "SORT_BY2" => "SORT",
                    "SORT_ORDER2" => "ASC",
                    "FILTER_NAME" => "arrFilter",
                    "FIELD_CODE" => array(
                            0 => "",
                            1 => "",
                    ),
                    "PROPERTY_CODE" => array(
                            0 => "CATEGORIES",
                            1 => "",
                    ),
                    "CHECK_DATES" => "Y",
                    "DETAIL_URL" => "",
                    "AJAX_MODE" => "N",
                    "AJAX_OPTION_SHADOW" => "Y",
                    "AJAX_OPTION_JUMP" => "N",
                    "AJAX_OPTION_STYLE" => "Y",
                    "AJAX_OPTION_HISTORY" => "N",
                    "CACHE_TYPE" => "A",
                    "CACHE_TIME" => "300",
                    "CACHE_FILTER" => "N",
                    "CACHE_GROUPS" => "Y",
                    "PREVIEW_TRUNCATE_LEN" => "",
                    "ACTIVE_DATE_FORMAT" => "d.m.Y",
                    "SET_TITLE" => "N",
                    "SET_STATUS_404" => "N",
                    "INCLUDE_IBLOCK_INTO_CHAIN" => "N",
                    "ADD_SECTIONS_CHAIN" => "N",
                    "HIDE_LINK_WHEN_NO_DETAIL" => "N",
                    "PARENT_SECTION" => "",
                    "PARENT_SECTION_CODE" => "",
                    "DISPLAY_TOP_PAGER" => "N",
                    "DISPLAY_BOTTOM_PAGER" => "N",
                    "PAGER_TITLE" => "Новости",
                    "PAGER_SHOW_ALWAYS" => "Y",
                    "PAGER_TEMPLATE" => "",
                    "PAGER_DESC_NUMBERING" => "N",
                    "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000",
                    "PAGER_SHOW_ALL" => "Y",
                    "DISPLAY_DATE" => "N",
                    "DISPLAY_NAME" => "Y",
                    "DISPLAY_PICTURE" => "N",
                    "DISPLAY_PREVIEW_TEXT" => "N",
                    "AJAX_OPTION_ADDITIONAL" => ""

)));?>
<?php if(!empty($component_html)){?>
<h3><a href="#">Новости</a></h3>
<div><?=$component_html?></div>
<?php } ?>


сам скрипт аккордеона:
Код

        <script>
    $(function() {
        $( "#accordion" ).accordion({
            collapsible: true,
                        autoHeight: false,
                        active: 1
        });
    });
    </script>


Это сообщение отредактировал(а) XpoHuk - 21.3.2012, 12:05
PM MAIL   Вверх
ksnk
Дата 21.3.2012, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Ээээ. Так "новости" - это не раздел аккордеона, а просто заголовок всего аккордеона? Тогда нужно ковырять сам компонент


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
XpoHuk
Дата 21.3.2012, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.3.2012

Репутация: нет
Всего: нет



Не не в общем так:

Меню:
       Статьи(Название раздела(раскрывается при нажатии))
            - Статья 1 (сами ссылки внутри раздела)
            - Статья 2 (сами ссылки внутри раздела)
            - Статья 3 (сами ссылки внутри раздела)
            - Статья 4 (сами ссылки внутри раздела)
       Новости(Название раздела(раскрывается при нажатии)Нужно скрыть)
            - ПУСТО
       Вакансии(Название раздела(раскрывается при нажатии))
            - Статья 1 (сами ссылки внутри раздела)
            - Статья 2 (сами ссылки внутри раздела)
            - Статья 3 (сами ссылки внутри раздела)
            - Статья 4 (сами ссылки внутри раздела)


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0575 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.