Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 1084 Просмотров
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Здравствуйте, уважаемые форумчане! Может кто из вас подскажет, что делаю не так..
На главной странице сайта выводится категории товаров. Между категориями я вставил разделители, чтобы выделить различные направления товаров. Для этого пришлось немного переделать maincategory.php. Но, ввиду того, что категорий достаточно много, требуется спрятать их под спойлеры. Чтобы по клику на разделитель можно было открыть или скрыть соответствующий раздел. Использовал небольшой скрипт:
Спойлер
[свернуть]
ну и соответственно сам код страницы:
Спойлер
[свернуть]
И все бы хорошо, но получается так, что разделы вложены друг в друга, как матрешки. Собственно саму страничку, и как она работает можно посмотреть здесь - mambo.com.ua
« Последнее редактирование: 08.06.2015, 20:28:00 от angry_ded_mazay »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Спойлеры в главной категории
« Ответ #1 : 07.06.2015, 17:56:15 »
по идее вот тут не хватает дива

Цитировать
             <div>
              <p class = "category_short_description"><?php echo $category->short_description?></p>
           </div>

           </div>
        </div>
    </div>  
 <?php } ?>    
  
</div>


<?php } ?>
<?php print $this->category->description?>
</div>
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #2 : 07.06.2015, 18:01:11 »
почти... но прячется только первый товар в разделе.. и верстка едет..
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #3 : 07.06.2015, 23:00:36 »
похоже, что одним циклом foreach не обойдется... он упорно вкладывает разделы один в другой.. может быть несколько циклов помогут..
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Спойлеры в главной категории
« Ответ #4 : 07.06.2015, 23:09:19 »
Не
Код: javascript
$(this).parent().children('div.spoiler_body').toggle('normal');
, а
Код: javascript
$(this).siblings('div.spoiler_body').toggle('normal');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #5 : 08.06.2015, 07:07:59 »
К сожалению, нет.. структура категорий так и остается вложеной.. соответственно, на работе спойлеров это никак не отражается.. видимо придется делать на каждый раздел свой цикл. вот только не соображу, как сделать, чтобы последующий цикл начинался с места, где закончился предыдущий. может использовать for вместо foreach?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Спойлеры в главной категории
« Ответ #6 : 08.06.2015, 09:05:36 »
циклы абсолютно не при чем. у вас банально не хватает закрытых дивов. добавьте после того закрытого дива, который добавили, еще вот это:

<?php if ($k%$this->count_category_to_row==0) echo '</div>'; ?>
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #7 : 08.06.2015, 17:20:07 »
циклы абсолютно не при чем. у вас банально не хватает закрытых дивов. добавьте после того закрытого дива, который добавили, еще вот это:

<?php if ($k%$this->count_category_to_row==0) echo '</div>'; ?>
добавил.. прячется только первый товар в разделе, и верстка вся летит.. специально оставил, чтобы можно было посмотреть, как оно выглядит
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #8 : 08.06.2015, 20:25:31 »
Получилось!! ^-^
Дивов действительно не хватало, но немного не там. И за подсказку отдельное спасибо, dmitry_stas. Опять немного покурочил шаблон главной категории. Получилась вот такая песня:
Спойлер
[свернуть]
Может кому-то и пригодится идея ;)
Кстати, скрипт немного поменялся. Чтобы при открытии следующего спойлера предыдущий открывался нужно сделать так:
Спойлер
[свернуть]
Теперь попробую улучшить, то что получилось. Хочется сделать так, чтобы по клику на основной пункт меню слева раскрывался соответствующий спойлер... Если у кого-то будут идеи - от помощи не откажусь))
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #9 : 13.06.2015, 17:06:29 »
Возвращаемся к теме... Немного исправил скрипт.
Код
<script type="text/javascript">
jQuery(document).ready(function(){
 jQuery('.spoiler_links').click(function(){
jQuery("div[class^='spoiler_body']").hide('normal');
  if (jQuery(this).parent().children('div.spoiler_body').css("display")=="none") {
jQuery("div[class^='spoiler_body']").hide('normal');
jQuery(this).parent().children('div.spoiler_body').toggle('normal');
}
else jQuery("div[class^='spoiler_body']").hide('normal');
  return false;
 });
});
jQuery(document).on('click', 'a', function () {
     if (this.hash) {
jQuery("div[class^='spoiler_body']").hide();
         jQuery(this.hash).show(1000);
     }
});
</script>
Теперь по клику на ссылку с якорем открывается соответствующий спойлер. НО... Вся эта история работает только в пределах одной страницы. А как теперь сделать, чтобы и при переходе с других страниц это работало??
*

angry_ded_mazay

  • Осваиваюсь на форуме
  • 43
  • 1 / 0
Re: Спойлеры в главной категории
« Ответ #10 : 14.06.2015, 20:06:10 »
Попробовал переделать код из другого моего проекта, который активирует табы по анкорной ссылке с другой страницы.
Код
jQuery(function() {

jQuery('ul.ma-vmenu').on('click', 'li:not(.active)', function() {
jQuery(this)
.addClass('active').siblings().removeClass('active')
.closest('div.ma-content-layout').find('div.spoiler_body').removeClass('spoiler_open').eq(jQuery(this).index()).addClass('spoiler_open');
});

var tabIndex = window.location.hash.replace('#tab','')-1;
if (tabIndex != -1) jQuery('ul.ma-vmenu li').eq(tabIndex).click();

jQuery('a[href*=#tab]').click(function() {
var tabIndex = jQuery(this).attr('href').replace(/(.*)#tab/, '')-1;
jQuery('ul.ma-vmenu li').eq(tabIndex).click();
});

});
Увы, результат тот-же. Спойлеры открываются только в пределах главной страницы. С другой страницы происходит только переход на главную с открытым по умолчанию первым спойлером((
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 13
Просмотров: 2071
Последний ответ 03.04.2024, 14:24:38
от sergeytolkachyov
Вывести название категории в списке товаров

Автор ataman

Ответов: 9
Просмотров: 3525
Последний ответ 15.09.2023, 20:31:11
от Alex_gs
Отображения описании категории только на первой странице

Автор graf

Ответов: 5
Просмотров: 1182
Последний ответ 04.05.2023, 18:52:08
от kit2m2
JoomShopping - категории и товары

Автор Adm1nspb

Ответов: 48
Просмотров: 13207
Последний ответ 24.03.2023, 12:12:32
от kibervolk
Товары с меткой шли первыми в списке товаров категории

Автор rudoy24

Ответов: 20
Просмотров: 2536
Последний ответ 20.03.2023, 14:44:22
от goga_pgasovav