Акордеон модулів

+2
Голосів: 2
Опубліковано: 2012 / 09 / 21
Переглядів: 122
Редагувалося: 2 рази — останній 7 листопада 2012
Привіт, шановні!
Якось ми з вами приховували модулі для економії місця. Тепер з тією ж метою створимо з модулів акордеон. Демо (внизу сайтбара)
Завантажуємо архів. Вміст папки templates копіюємо на сервер.
Далі проведемо невеличкі маніпуляції з файлами сайту:
1.В positions.txt додамо позиції:
acc1
acc2
acc3
acc4

2.В template.php додамо:
$mod_count['acc1'] = cmsCountModules('acc1');
це дасть нам змогу керувати виводом всього блоку за допомогою тільки одного модуля

3.Піключимо стиль та скрипт в head:
<link href="/templates/_default_/css/blockacc.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(document).ready(function(){

//Set default open/close settings
$('.acc_container').hide(); //Hide/close all containers
$('.acc_trigger:first').addClass('active').next().show(); //Add "active" class to first trigger, then show/open the immediate next container

//On Click
$('.acc_trigger').click(function(){
if( $(this).next().is(':hidden') ) { //If immediate next container is closed...
$('.acc_trigger').removeClass('active').next().slideUp(); //Remove all .acc_trigger classes and slide up the immediate next container
$(this).toggleClass('active').next().slideDown(); //Add .acc_trigger class to clicked trigger and slide down the immediate next container
}
return false; //Prevent the browser jump to the link anchor
});

});
</script>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

4.В потрібному місці шаблону виведемо блок з акордеоном:
<?php if ($mod_count['acc1']) { ?>
<div class="containeracccom">
<div>
<?php cmsModule('acc1'); ?>
</div>
<div>
<?php cmsModule('acc2'); ?>
</div>
<div>
<?php cmsModule('acc3'); ?>
</div>
<div>
<?php cmsModule('acc4'); ?>
</div>
</div>
<div class="pad_1px"></div>
<?php } ?>

5.В адмінці вибираємо модулі для виводу в позиціях acc1 - acc4, та вкажемо шаблон для них - module_acc.tpl

Примітка: якщо не призначено вивід модулів на позицію acc1 акордеон не виводиться зовсім (див. п.2)

Про всяк випадок, в архів поклав приклади template.php та positions.txt для виводу акордеона вище сайтбару (дефолтний шаблон)

Успіхів!

Читайте також:

  • Модуль "Нові користувачі"
    Модуль "Нові користувачі"

    З Новим роком! Думаю багато хто вже помічав, що в дефолтному модулі "нові користувачі" відсутнє вирівнювання по горизонталі, тобто, аватари та логіни "стрибають" вверх-вниз. Спробував трішки підпра...

  • Приховуємо модулі для економії місця
    Приховуємо модулі для економії місця

    Привіт всім! Ось тут наш брат по зброї запитує як робляться модулі які за замовчуванням закриті, а їхній зміст відкривається при клацанні по назві. Думаю багатьом стане в нагоді така можливість. Вз...

  • Кожному модулю свій шаблон виводу
    Кожному модулю свій шаблон виводу

    Вітаю! Часто виникає необхідність клоновані модулі вивести так щоб вони істотно відрізнялися один від одного. Дефолтних можливостей системи (css префікс, обгортка - module.tpl) не завжди достатньо....

  • Шаблон для InstantCMS 1.10
    Шаблон для InstantCMS 1.10

    Динамічний: три колонки, дві (з лівим або правим сайтбарами), одна колонка (без сайтбарів). Схема позицій: Змінено вивід модулів та компонентів. В шаблон вже встановлено: додаткове вертикальне мен...

Коментарі (0)

Немає коментарів. Ваш буде першим!