Перейти к содержимому


Сделать Второй Каталог


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 28 Ноябрь 2014 - 07:49

Как сделать второй скрытый каталог? Как на картинке.

Пробовал так:

<!-- Каталог сайта -->
        <div class="block">
          <div class="blocktitle bluesmall"><a href="{CATALOG_URL}">Каталог сайта</a></div>
          <div class="blockmain navigation fnt12n">
                <ul>
                {% IFNOT catalog_empty %}
                  {% FOR catalog %}
                        {% IF catalog.HIDE %}
                          <li class="{% IF catalog.LEVEL>0%}incat{% ENDIF %} {% IF catalog.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog.URL}" {% IF catalog.LEVEL>0%}style="padding-left:{catalog.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog.NAME}</a></li>
                        {% ENDIF %}
                  {% ENDFOR %}
                {% ENDIF %}
                </ul>
          </div>
          <div class="blockbottom"></div>
        </div>
        <!-- END Каталог сайта -->

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

Прикрепленные изображения

  • 111111111111111111.jpg


#2 Dars

Dars

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 410 сообщений

Отправлено 28 Ноябрь 2014 - 17:33

Просмотр сообщенияSgray (28 Ноябрь 2014 - 07:49) писал:

Как сделать второй скрытый каталог? Как на картинке.

Пробовал так:

<!-- Каталог сайта -->
<div class="block">
  <div class="blocktitle bluesmall"><a href="{CATALOG_URL}">Каталог сайта</a></div>
  <div class="blockmain navigation fnt12n">
<ul>
{% IFNOT catalog_empty %}
  {% FOR catalog %}
{% IF catalog.HIDE %}
  <li class="{% IF catalog.LEVEL>0%}incat{% ENDIF %} {% IF catalog.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog.URL}" {% IF catalog.LEVEL>0%}style="padding-left:{catalog.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog.NAME}</a></li>
{% ENDIF %}
  {% ENDFOR %}
{% ENDIF %}
</ul>
  </div>
  <div class="blockbottom"></div>
</div>
<!-- END Каталог сайта -->

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

<!-- Каталог сайта -->
		<div class="block">
<div class="blocktitle bluesmall"><a href="{CATALOG_URL}">Что подарить?</a></div>
		 <div class="blockmain navigation fnt12n">
		 <ul>
		 {% IFNOT catalog_full_empty %}
				 {% FOR catalog_full %}
				 {% IF catalog_full.HIDE %}
						 <li class="{% IF catalog_full.LEVEL>0%}incat{% ENDIF %} {% IF catalog_full.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog_full.URL}" {% IF catalog_full.LEVEL>0%}style="padding-left:{catalog_full.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog_full.NAME}</a></li>
				 {% ENDIF %}
				 {% ENDFOR %}
		 {% ENDIF %}
		 </ul>
		 </div>
		 <div class="blockbottom"></div>
	  </div>
		<!-- END Каталог сайта -->


#3 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 28 Ноябрь 2014 - 18:29

Просмотр сообщенияDars (28 Ноябрь 2014 - 17:33) писал:

Замените написанный вам код на:

<!-- Каталог сайта -->
		<div class="block">
<div class="blocktitle bluesmall"><a href="{CATALOG_URL}">Что подарить?</a></div>
		 <div class="blockmain navigation fnt12n">
		 <ul>
		 {% IFNOT catalog_full_empty %}
				 {% FOR catalog_full %}
				 {% IF catalog_full.HIDE %}
						 <li class="{% IF catalog_full.LEVEL>0%}incat{% ENDIF %} {% IF catalog_full.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog_full.URL}" {% IF catalog_full.LEVEL>0%}style="padding-left:{catalog_full.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog_full.NAME}</a></li>
				 {% ENDIF %}
				 {% ENDFOR %}
		 {% ENDIF %}
		 </ul>
		 </div>
		 <div class="blockbottom"></div>
</div>
		<!-- END Каталог сайта -->

Спасибо!

При нажатии шапки второго каталога открывается весь товар главного каталога. Как убрать ссылку на главный каталог, чтобы отображались только товары скрытых разделов второго каталога?

#4 Danil

Danil

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 4 645 сообщений

Отправлено 28 Ноябрь 2014 - 18:40

Просмотр сообщенияSgray (28 Ноябрь 2014 - 18:29) писал:

Спасибо!

При нажатии шапки второго каталога открывается весь товар главного каталога. Как убрать ссылку на главный каталог, чтобы отображались только товары скрытых разделов второго каталога?
К сожалению, у "скрытого каталога", нет отдельного адреса.

#5 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 28 Ноябрь 2014 - 18:43

Просмотр сообщенияDanil (28 Ноябрь 2014 - 18:40) писал:

К сожалению, у "скрытого каталога", нет отдельного адреса.

А ссылку на главный каталог с шапки скрытого каталога можно убрать или сделать её не активной?

#6 Danil

Danil

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 4 645 сообщений

Отправлено 28 Ноябрь 2014 - 18:46

Просмотр сообщенияSgray (28 Ноябрь 2014 - 18:43) писал:

А ссылку на главный каталог с шапки скрытого каталога можно убрать или сделать её не активной?
В шаблоне html найдите
<div class="blocktitle bluesmall"><a href="{CATALOG_URL}">Что подарить?</a></div>
и замените на
<div class="blocktitle bluesmall"><a href="#">Что подарить?</a></div>


#7 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 28 Ноябрь 2014 - 19:00

Просмотр сообщенияDanil (28 Ноябрь 2014 - 18:46) писал:

В шаблоне html найдите
<div class="blocktitle bluesmall"><a href="{CATALOG_URL}">Что подарить?</a></div>
и замените на
<div class="blocktitle bluesmall"><a href="#">Что подарить?</a></div>

При нажатии, перемещает на верх сайта, что не очень.
В строке
<div class="blocktitle bluesmall"><a href="#">Что подарить?</a></div>
удалил ссылку <ahref="#">  и шапка скрытого каталога стала не активной. Повлияет ли это на работу каталогов и сайта?

#8 Dars

Dars

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 1 410 сообщений

Отправлено 28 Ноябрь 2014 - 19:25

Просмотр сообщенияSgray (28 Ноябрь 2014 - 19:00) писал:

При нажатии, перемещает на верх сайта, что не очень.
В строке
<div class="blocktitle bluesmall"><a href="#">Что подарить?</a></div>
удалил ссылку <ahref="#">  и шапка скрытого каталога стала не активной. Повлияет ли это на работу каталогов и сайта?
Нет, не повлияет. Вполне можете оставить так.

#9 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 28 Ноябрь 2014 - 19:26

Просмотр сообщенияDars (28 Ноябрь 2014 - 19:25) писал:

Нет, не повлияет. Вполне можете оставить так.

ОК

#10 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 30 Ноябрь 2014 - 17:46

1. Как сделать в скрытом каталоге так, чтобы открытые подкатегории закрывались как в основном каталоге?
2. Убрать стрелочки у подразделов каталога (скрытого и основного) если нет подкатегорий?

Прикрепленные изображения

  • 33333333.jpg


#11 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 02 Декабрь 2014 - 02:38

Вы можете использовать следующий код javascript

$(function() {
  $('#left .block:eq(1) .navigation li').click(function() {
	var next = $(this).next('li');
	if(next && next.hasClass('incat')) {
	  while(true) {
		 next = $(next).toggle().next('li.incat');
		 if (!next.length) break;
	  }
	  return (false);
	}
  }).filter('.incat').hide().end().filter(':not(.incat)').each(function() {
	var next = $(this).next('li');
	if(next && !next.hasClass('incat')) {
	  $(this).css('background', 'none');
	}
  });
});

данный код вам необходимо добавить в конец файла main.js, а перед проверкой очистить кэш в вашем браузере.

#12 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 02 Декабрь 2014 - 07:49

Просмотр сообщенияVaccina (02 Декабрь 2014 - 02:38) писал:

Вы можете использовать следующий код javascript

$(function() {
$('#left .block:eq(1) .navigation li').click(function() {
var next = $(this).next('li');
if(next && next.hasClass('incat')) {
	 while(true) {
		 next = $(next).toggle().next('li.incat');
		 if (!next.length) break;
	 }
	 return (false);
}
}).filter('.incat').hide().end().filter(':not(.incat)').each(function() {
var next = $(this).next('li');
if(next && !next.hasClass('incat')) {
	 $(this).css('background', 'none');
}
});
});

данный код вам необходимо добавить в конец файла main.js, а перед проверкой очистить кэш в вашем браузере.

Работает.
1. Стрелочки убрались только в скрытом каталоге, нужно убрать и в основном.
2. При нажатии на подраздел основного каталога открывались подкатегории без перемещения на верх страницы (как в скрытом каталоге), но закрывались при нажатии на другой подраздел.

#13 RayLi

RayLi

    Активный участник

  • Модераторы
  • 2 864 сообщений

Отправлено 02 Декабрь 2014 - 10:42

Просмотр сообщенияSgray (02 Декабрь 2014 - 07:49) писал:

Работает.
1. Стрелочки убрались только в скрытом каталоге, нужно убрать и в основном.
2. При нажатии на подраздел основного каталога открывались подкатегории без перемещения на верх страницы (как в скрытом каталоге), но закрывались при нажатии на другой подраздел.
Здравствуйте.
Попробуйте сделать следующее:
В шаблоне main.css найдите код:
		#left .block .navigation ul li, #right .block .navigation ul li { background:url({ASSETS_IMAGES_PATH}block-main-nav-bg.jpg) no-repeat; width:223px; border-top:1px solid #FFF; border-bottom:1px solid #e2e2e2; overflow:hidden; }
И замените его этим кодом:
		#left .block .navigation ul li, #right .block .navigation ul li { background:url({ASSETS_IMAGES_PATH}block-main-nav-bg.jpg) 0 -69px no-repeat; width:223px; border-top:1px solid #FFF; border-bottom:1px solid #e2e2e2; overflow:hidden; }


#14 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 02 Декабрь 2014 - 14:15

Просмотр сообщенияRayLi (02 Декабрь 2014 - 10:42) писал:

Здравствуйте.
Попробуйте сделать следующее:
В шаблоне main.css найдите код:
	 #left .block .navigation ul li, #right .block .navigation ul li { background:url({ASSETS_IMAGES_PATH}block-main-nav-bg.jpg) no-repeat; width:223px; border-top:1px solid #FFF; border-bottom:1px solid #e2e2e2; overflow:hidden; }
И замените его этим кодом:
	 #left .block .navigation ul li, #right .block .navigation ul li { background:url({ASSETS_IMAGES_PATH}block-main-nav-bg.jpg) 0 -69px no-repeat; width:223px; border-top:1px solid #FFF; border-bottom:1px solid #e2e2e2; overflow:hidden; }

Не вышло.
Стрелки вообще исчезли везде в обои каталогах.
Некорректно стал работать скрытый каталог.

Заметил ошибку в предыдущем коде для скрытого каталога:
$(function() {
$('#left .block:eq(1) .navigation li').click(function() {
var next = $(this).next('li');
if(next && next.hasClass('incat')) {
while(true) {
next = $(next).toggle().next('li.incat');
if (!next.length) break;
}
return (false);
}
}).filter('.incat').hide().end().filter(':not(.incat)').each(function() {
var next = $(this).next('li');
if(next && !next.hasClass('incat')) {
$(this).css('background', 'none');
}
});
});

Нажимаю подраздел каталога - появляется все подкатегории  - нажимаю на 1 подкатегорию - скрываются или появляются остальные подкатегории без перехода на страницу товаров - нажимаю на 2 подкатегорию - открываются или закрываются нижние подкатегории и т.д.

#15 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 02 Декабрь 2014 - 18:14

Жду ответа

#16 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 03 Декабрь 2014 - 01:14

Цитата

Нажимаю подраздел каталога - появляется все подкатегории  - нажимаю на 1 подкатегорию - скрываются или появляются остальные подкатегории без перехода на страницу товаров - нажимаю на 2 подкатегорию - открываются или закрываются нижние подкатегории и т.д.

Попробуйте строку (в ранее добавленном коде)

$('#left .block:eq(1) .navigation li').click

заменить на

$('#left .block:eq(1) .navigation li:not(.incat)').click

а строку

}).filter('.incat').hide().end().filter(':not(.incat)').each(function() {

заменить на

});
$('#left .block:eq(1) .navigation li').filter('.incat').hide().end().filter(':not(.incat)').each(function() {

Просмотр сообщенияSgray (02 Декабрь 2014 - 07:49) писал:

Работает.
1. Стрелочки убрались только в скрытом каталоге, нужно убрать и в основном.
2. При нажатии на подраздел основного каталога открывались подкатегории без перемещения на верх страницы (как в скрытом каталоге), но закрывались при нажатии на другой подраздел.

Основной каталог у вас выполнен в виде краткого списка (в шаблоне "HTML")

{% IFNOT catalog_empty %}
		 {% FOR catalog %}
		 {% IFNOT catalog.HIDE %}
			 <li class="{% IF catalog.LEVEL>0%}incat{% ENDIF %} {% IF catalog.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog.URL}" {% IF catalog.LEVEL>0%}style="padding-left:{catalog.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog.NAME}</a></li>
		 {% ENDIF %}
		 {% ENDFOR %}
	 {% ENDIF %}

Вы можете использовать код (js выше) и для основного каталога, но только если в каталоге не будет вложенность более одного уровня. Вам понадобиться заменить код каталога (в шаблоне "HTML") на код

{% IFNOT catalog_full_empty %}
{% FOR catalog_full %}
	 {% IFNOT catalog_full.HIDE %}
		 <li class="{% IF catalog_full.LEVEL>0%}incat{% ENDIF %} {% IF catalog_full.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog_full.URL}" {% IF catalog_full.LEVEL>0%}style="padding-left:{catalog_full.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog_full.NAME}</a></li>
	 {% ENDIF %}
	 {% ENDFOR %}
{% ENDIF %}

а строку js (уже измененную)

$('#left .block:eq(1) .navigation li:not(.incat)').click

заменить на

$('#left .block .navigation li:not(.incat)').click

и строку

$('#left .block:eq(1) .navigation li').filter('.incat').hide().end().filter(':not(.incat)').each(function() {

заменить на

$('#left .block .navigation li').filter('.incat').hide().end().filter(':not(.incat)').each(function() {


#17 Sgray

Sgray

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 456 сообщений

Отправлено 03 Декабрь 2014 - 08:07

Просмотр сообщенияVaccina (03 Декабрь 2014 - 01:14) писал:

Попробуйте строку (в ранее добавленном коде)

$('#left .block:eq(1) .navigation li').click

заменить на

$('#left .block:eq(1) .navigation li:not(.incat)').click

а строку

}).filter('.incat').hide().end().filter(':not(.incat)').each(function() {

заменить на

});
$('#left .block:eq(1) .navigation li').filter('.incat').hide().end().filter(':not(.incat)').each(function() {



Основной каталог у вас выполнен в виде краткого списка (в шаблоне "HTML")

{% IFNOT catalog_empty %}
		 {% FOR catalog %}
		 {% IFNOT catalog.HIDE %}
			 <li class="{% IF catalog.LEVEL>0%}incat{% ENDIF %} {% IF catalog.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog.URL}" {% IF catalog.LEVEL>0%}style="padding-left:{catalog.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog.NAME}</a></li>
		 {% ENDIF %}
		 {% ENDFOR %}
	 {% ENDIF %}

Вы можете использовать код (js выше) и для основного каталога, но только если в каталоге не будет вложенность более одного уровня. Вам понадобиться заменить код каталога (в шаблоне "HTML") на код

{% IFNOT catalog_full_empty %}
{% FOR catalog_full %}
	 {% IFNOT catalog_full.HIDE %}
		 <li class="{% IF catalog_full.LEVEL>0%}incat{% ENDIF %} {% IF catalog_full.CURRENT %}fnt12b{% ENDIF %}"><a href="{catalog_full.URL}" {% IF catalog_full.LEVEL>0%}style="padding-left:{catalog_full.LEVEL | multiply("30")}px"{% ENDIF %}>{catalog_full.NAME}</a></li>
	 {% ENDIF %}
	 {% ENDFOR %}
{% ENDIF %}

а строку js (уже измененную)

$('#left .block:eq(1) .navigation li:not(.incat)').click

заменить на

$('#left .block .navigation li:not(.incat)').click

и строку

$('#left .block:eq(1) .navigation li').filter('.incat').hide().end().filter(':not(.incat)').each(function() {

заменить на

$('#left .block .navigation li').filter('.incat').hide().end().filter(':not(.incat)').each(function() {

Отлично, так и надо было!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных