Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

BigShop категории


trussss
 Поделиться

Рекомендованные сообщения

Добрый вечер, 

Использую Шаблон bigshop. 

У него свой блок "Категории". смотрел как работает демо,  там когда выбрал категорию оно сохраняет позицию, 

Проблема в том что у меня оно не сохранчет выбранную каторю и просто сворачивает все категории. неудобно получается,  если у кого-то есть идею как это поправить? или возможно кто-то тоже пользуется этим шаблоном, и у него все ок, может ли скинуть мне свой вариант? копался в файле category_accordion.tpl  вот код оттуда:

<script type="text/javascript" src="catalog/view/theme/bigshop/js/jquery.dcjqaccordion.js"></script> 
<div class="box">
<div class="box-heading"><?php echo $heading_title; ?></div>


<div class="box-content box-category"><?php echo $category_accordion; ?></div>


</div>


<script type="text/javascript">
$(document).ready(function() {
$('#custom_accordion').customAccordion({
classExpand : 'cid<?php echo $category_accordion_cid; ?>',
menuClose: false,
autoClose: true,
saveState: false,
disableLink: false,
autoExpand: true
});
});
</script>
 

id "custom_accordion" генерируется в контроллере в конечном виде выглядит вот так: 

<ul id="custom_accordion">

настройки типа saveState: false, ставил true, даже в обеих скриптах. результат отрицательный, что я упускаю?

есть еще скрипты там но они все зашифрованы,  только вот этот можно читать. он похож на главный, 

 

 

//jquery.dcjqaccordion.js
(function($){


$.fn.customAccordion = function(options) {


//set default options 
var defaults = {
classParent  : 'custom-parent',
classActive  : 'active',
classArrow  : 'dcjq-icon',
classCount  : 'dcjq-count',
classExpand  : 'dcjq-current-parent',
classDisable : '',
eventType  : 'click',
hoverDelay  : 300,
menuClose     : true,
autoClose    : true,
autoExpand  : false,
speed        : 'slow',
saveState  : true,
disableLink  : true,
showCount : false,
cookie : 'dcjq-accordion'
};


//call in the default otions
var options = $.extend(defaults, options);


this.each(function(options){


var obj = this;
$objLinks = $('li > span',obj);
$objSub = $('li > ul',obj);
if(defaults.classDisable){
$objLinks = $('li:not(.'+defaults.classDisable+') > a',obj);
$objSub = $('li:not(.'+defaults.classDisable+') > ul',obj);
}


classActive = defaults.classActive;


setUpAccordion();
if(defaults.saveState == true){
checkCookie(defaults.cookie, obj, classActive);
}
if(defaults.autoExpand == true){
$('li.'+defaults.classExpand+' > a').addClass(classActive);
}
resetAccordion();


if(defaults.eventType == 'hover'){


var config = {
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
interval: defaults.hoverDelay, // number = milliseconds for onMouseOver polling interval
over: linkOver, // function = onMouseOver callback (REQUIRED)
timeout: defaults.hoverDelay, // number = milliseconds delay before onMouseOut
out: linkOut // function = onMouseOut callback (REQUIRED)
};


$objLinks.hoverIntent(config);
var configMenu = {
sensitivity: 2, // number = sensitivity threshold (must be 1 or higher)
interval: 1000, // number = milliseconds for onMouseOver polling interval
over: menuOver, // function = onMouseOver callback (REQUIRED)
timeout: 1000, // number = milliseconds delay before onMouseOut
out: menuOut // function = onMouseOut callback (REQUIRED)
};


$(obj).hoverIntent(configMenu);


// Disable parent links
if(defaults.disableLink == true){


$objLinks.click(function(e){
if($(this).siblings('ul').length >0){
e.preventDefault();
}
});
}


} else {


$objLinks.click(function(e){


$activeLi = $(this).parent('li');
$parentsLi = $activeLi.parents('li');
$parentsUl = $activeLi.parents('ul');


// Prevent browsing to link if has child links
if(defaults.disableLink == true){
if($(this).siblings('ul').length >0){
e.preventDefault();
}
}


// Auto close sibling menus
if(defaults.autoClose == true){
autoCloseAccordion($parentsLi, $parentsUl);
}


if ($('> ul',$activeLi).is(':visible')){
$('ul',$activeLi).slideUp(defaults.speed);
$('a',$activeLi).removeClass(classActive);
} else {
$(this).siblings('ul').slideToggle(defaults.speed);
$('> a',$activeLi).addClass(classActive);
}


// Write cookie if save state is on
if(defaults.saveState == true){
createCookie(defaults.cookie, obj, classActive);
}
});
}


// Set up accordion
function setUpAccordion(){


$arrow = '<span class="'+defaults.classArrow+'"></span>';
var classParentLi = defaults.classParent+'-li';
$objSub.show();
$('li',obj).each(function(){
if($('> ul',this).length > 0){
$(this).addClass(classParentLi);
$('> a',this).addClass(defaults.classParent).append($arrow);
}
});
$objSub.hide();
if(defaults.classDisable){
$('li.'+defaults.classDisable+' > ul').show();
}
if(defaults.showCount == true){
$('li.'+classParentLi,obj).each(function(){
if(defaults.disableLink == true){
var getCount = parseInt($('ul a:not(.'+defaults.classParent+')',this).length);
} else {
var getCount = parseInt($('ul a',this).length);
}
$('> a',this).append(' <span class="'+defaults.classCount+'">('+getCount+')</span>');
});
}
}


function linkOver(){


$activeLi = $(this).parent('li');
$parentsLi = $activeLi.parents('li');
$parentsUl = $activeLi.parents('ul');


// Auto close sibling menus
if(defaults.autoClose == true){
autoCloseAccordion($parentsLi, $parentsUl);


}


if ($('> ul',$activeLi).is(':visible')){
$('ul',$activeLi).slideUp(defaults.speed);
$('a',$activeLi).removeClass(classActive);
} else {
$(this).siblings('ul').slideToggle(defaults.speed);
$('> a',$activeLi).addClass(classActive);
}


// Write cookie if save state is on
if(defaults.saveState == true){
createCookie(defaults.cookie, obj, classActive);
}
}


function linkOut(){
}


function menuOver(){
}


function menuOut(){


if(defaults.menuClose == true){
$objSub.slideUp(defaults.speed);
// Reset active links
$('a',obj).removeClass(classActive);
createCookie(defaults.cookie, obj, classActive);
}
}


// Auto-Close Open Menu Items
function autoCloseAccordion($parentsLi, $parentsUl){
$('ul',obj).not($parentsUl).slideUp(defaults.speed);
// Reset active links
$('a',obj).removeClass(classActive);
$('> a',$parentsLi).addClass(classActive);
}
// Reset accordion using active links
function resetAccordion(){
$objSub.hide();
var $parentsLi = $('a.'+classActive,obj).parents('li');
$('> a',$parentsLi).addClass(classActive);
$allActiveLi = $('a.'+classActive,obj);
$($allActiveLi).siblings('ul').show();
}
});


// Retrieve cookie value and set active items
function checkCookie(cookieId, obj, classActive){
var cookieVal = $.cookie(cookieId);
if(cookieVal != null){
// create array from cookie string
var activeArray = cookieVal.split(',');
$.each(activeArray, function(index,value){
var $cookieLi = $('li:eq('+value+')',obj);
$('> a',$cookieLi).addClass(classActive);
var $parentsLi = $cookieLi.parents('li');
$('> a',$parentsLi).addClass(classActive);
});
}
}


// Write cookie
function createCookie(cookieId, obj, classActive){
var activeIndex = [];
// Create array of active items index value
$('li a.'+classActive,obj).each(function(i){
var $arrayItem = $(this).parent('li');
var itemIndex = $('li',obj).index($arrayItem);
activeIndex.push(itemIndex);
});
// Store in cookie
$.cookie(cookieId, activeIndex, { path: '/' });
}
};
})(jQuery);

post-29532-0-56121200-1403296586_thumb.png

Ссылка на комментарий
Поделиться на других сайтах


невнимательно

смотрите в код

 

classExpand : 'cid69',

 

classExpand : 'category69',

 

classExpand : 'category<?php echo $category_accordion_cid; ?>',

Ссылка на комментарий
Поделиться на других сайтах

сейчас поправлю, Вы правы,  невнимательно. я просто сижу с 8 утра за этим сайтом, устал немного. Большущее Спасибо что помогли разобраться! как-то репутацию повышать можно здесь на форуме? хотя бы в знак благодарности?

Ссылка на комментарий
Поделиться на других сайтах


:) Оставлю за собой право воспользоваться помощью... А вдруг?

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.