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


Бесконечный скроллинг товаров


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

#1 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 25 Март 2013 - 19:33

1) Подскажите пожалуйста как сделать что бы не листать товар по страницам, а сделать колесиком прокручиваешь вниз и товары открываются дальше автоматически? (не знаю понятно написано, нет)


2) Как поменять фон на сайте? (вставить какое то свое изображение на фон)

#2 миша86

миша86

    Продвинутый пользователь

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

Отправлено 25 Март 2013 - 20:37

По поводу фона,вот сюда
http://forum.storela...topic/3618-фон/

#3 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 25 Март 2013 - 20:53

Спасибо

#4 Vaccina

Vaccina

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

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

Отправлено 26 Март 2013 - 05:12

1) По идее это реализовать можно, но необходимо переделать отображение товаров с табличного вида на блочный. Пожалуйста, сообщите ваш адрес магазина или номер вашего аккаунта.

#5 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 26 Март 2013 - 07:58

Просмотр сообщенияVaccina (26 Март 2013 - 05:12) писал:

1) По идее это реализовать можно, но необходимо переделать отображение товаров с табличного вида на блочный. Пожалуйста, сообщите ваш адрес магазина или номер вашего аккаунта.

http://azic.storeland.ru/

#6 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 27 Март 2013 - 03:15

Для скроллинга отображения товара списком можно использовать следующий код

$(function() {
var nav = '.navigation';
var last_prd = '.ulproduct:last-of-type';
var cnavig = '.navigation .current';
var prd = '.ulproduct';
var current = 'current';
var scroll_prod = false;
var parent_url = '';

$(nav).hide();

$(window).scroll(function() {
	 if(!scroll_prod) {
	 var offset = $(last_prd).offset().top;
	 var height = $(last_prd).height();
	 if($(this).scrollTop() > (offset - height)) {
		 scroll_prod = true;
		 if($(cnavig).next().length) {
			 var url = $(cnavig).next().attr('href') + '&only_body=1';
			 if(parent_url != url) {
				 $.get(url, function(html) {
				 $(last_prd).after($(html).find(prd));
				 $(cnavig).removeClass(current).next().addClass(current);
				 scroll_prod = false;
				 });
			 }
		 }
	 }
	 }
});
});

данный код необходимо разместить в файле main.js
Если необходимо сделать подобное для отображения таблицы, то необходимо изменить отображение с табличного вида на блочный т.е сменить структуру <table> на <div> отображения товара.
Если необходимо реализовать данное поведение для другого шаблона отличного от "Пластик", то необходимо изменить правила поиска элементов по классам, которые заданы как

var nav = '.navigation';
var last_prd = '.ulproduct:last-of-type';
var cnavig = '.navigation .current';
var prd = '.ulproduct';
var current = 'current';


#7 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 27 Март 2013 - 11:49

Просмотр сообщенияСake (27 Март 2013 - 03:15) писал:

Для скроллинга отображения товара списком можно использовать следующий код

$(function() {
var nav = '.navigation';
var last_prd = '.ulproduct:last-of-type';
var cnavig = '.navigation .current';
var prd = '.ulproduct';
var current = 'current';
var scroll_prod = false;
var parent_url = '';

$(nav).hide();

$(window).scroll(function() {
	 if(!scroll_prod) {
	 var offset = $(last_prd).offset().top;
	 var height = $(last_prd).height();
	 if($(this).scrollTop() > (offset - height)) {
		 scroll_prod = true;
		 if($(cnavig).next().length) {
			 var url = $(cnavig).next().attr('href') + '&only_body=1';
			 if(parent_url != url) {
				 $.get(url, function(html) {
				 $(last_prd).after($(html).find(prd));
				 $(cnavig).removeClass(current).next().addClass(current);
				 scroll_prod = false;
				 });
			 }
		 }
	 }
	 }
});
});

данный код необходимо разместить в файле main.js
Если необходимо сделать подобное для отображения таблицы, то необходимо изменить отображение с табличного вида на блочный т.е сменить структуру <table> на <div> отображения товара.
Если необходимо реализовать данное поведение для другого шаблона отличного от "Пластик", то необходимо изменить правила поиска элементов по классам, которые заданы как

var nav = '.navigation';
var last_prd = '.ulproduct:last-of-type';
var cnavig = '.navigation .current';
var prd = '.ulproduct';
var current = 'current';

А первый код куда вставлять, прям в конец main.js можно?

Вставил в самый конец на сайте пишет ошибку...

#8 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 28 Март 2013 - 04:48

Да, заметил небольшую проблему при выполнении кода. Поэтому лучше поступить так:

Использовать следующий код

$(function() {
var nav = '#content .navigation';
var last_prd = '.u-lproducts .ulproducts:last-child';
var wrap_prd = '.u-lproducts';
var cnavig = '.navigation .current';
var prd = '.u-lproducts .ulproducts';
var current = 'current';
var scroll_prod = false;
var parent_url = '';
$(nav).hide();
$(window).scroll(function() {
		 if(!scroll_prod) {
		 var offset = $(last_prd).offset().top;
		 var height = $(last_prd).height();
		 if($(this).scrollTop() > (offset - height)) {
				 scroll_prod = true;
				 if($(cnavig).next().length) {
						 var url = $(cnavig).next().attr('href') + '&amp;only_body=1';
						 if(parent_url != url) {
								 $.get(url, function(html) {
								 var data = $(html).map(function() {
									if($(this).hasClass(wrap_prd.replace('.', ''))) {
									   return($(this).children());
									}
								 }).get(0);
								 $(wrap_prd).append(data);
								 $(cnavig).removeClass(current).next().addClass(current);
								 scroll_prod = false;
								 }, 'text');
						 }
				 }
		 }
		 }
});
});

Так же необходимо будет изменить немного структуру в шаблоне "Товары". Необходимо найти


<!-- Вывод каталога таблицей -->
  {% IF GOODS_VIEW_TYPE=1 %}
	<!-- Вывод каталога списком -->
	{% FOR goods %}
	  <div class="hr"></div>
	  <div class="box padd">
		<div class="titlebox txtalgnlft">
		  <ul>
			<li class="blue fnt11b">
			  <h2><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">
			  {% IF goods.MAX_REST_VALUE=0 %}Товара нет{% ENDIF %}
			  {% IF goods.MAX_REST_VALUE>0 %}В наличии{% ENDIF %}
			  </a></h2>
			</li>
			<li class="default fnt12b "><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a></li>
		  </ul>
		</div>
		<div class="ulproduct">
		  <div class="img txtalgncnt">
			<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
		  </div>
		  <div class="infoproduct">
			<div class="name fnt14b">
			  <a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a>
			</div>
			<div class="info fnt11n txtalgnlft">
			  {goods.DESCRIPTION_SHORT}
			</div>
			<div class="buttons">
			  {% IF goods.MAX_REST_VALUE>0 %}
				<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
				  <div>
					<input type="hidden" name="hash" value="{HASH}" />
					<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
					<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
					<a class="whtgray" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить &amp;laquo;{goods.NAME}&amp;raquo; в корзину">Купить сейчас</a>
					<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>
				  </div>
				</form>
			  {% ENDIF %}
			  {% IF goods.MAX_REST_VALUE=0 %}<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>{% ENDIF %}
			</div>
			<div class="price fnt12b txtalgnlft">
			  Цена:
			  {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
				<span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
			  {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
				<span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
			  {% ENDIF %}
			  <em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em>
			</div>
		  </div>
		  <div class="clear"></div>
		</div>
	  </div>
	{% ENDFOR goods %}
  <!-- Вывод каталога списком-Конец -->

и заменить на

<!-- Вывод каталога таблицей -->
  {% IF GOODS_VIEW_TYPE=1 %}
   <div class="u-lproducts">
	<!-- Вывод каталога списком -->
	{% FOR goods %}
	 <div class="ulproducts">
	  <div class="hr"></div>
	  <div class="box padd">
		<div class="titlebox txtalgnlft">
		  <ul>
			<li class="blue fnt11b">
			  <h2><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">
			  {% IF goods.MAX_REST_VALUE=0 %}Товара нет{% ENDIF %}
			  {% IF goods.MAX_REST_VALUE>0 %}В наличии{% ENDIF %}
			  </a></h2>
			</li>
			<li class="default fnt12b "><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a></li>
		  </ul>
		</div>
		<div class="ulproduct">
		  <div class="img txtalgncnt">
			<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
		  </div>
		  <div class="infoproduct">
			<div class="name fnt14b">
			  <a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a>
			</div>
			<div class="info fnt11n txtalgnlft">
			  {goods.DESCRIPTION_SHORT}
			</div>
			<div class="buttons">
			  {% IF goods.MAX_REST_VALUE>0 %}
				<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
				  <div>
					<input type="hidden" name="hash" value="{HASH}" />
					<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
					<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
					<a class="whtgray" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить &amp;laquo;{goods.NAME}&amp;raquo; в корзину">Купить сейчас</a>
					<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>
				  </div>
				</form>
			  {% ENDIF %}
			  {% IF goods.MAX_REST_VALUE=0 %}<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>{% ENDIF %}
			</div>
			<div class="price fnt12b txtalgnlft">
			  Цена:
			  {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
				<span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
			  {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
				<span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
			  {% ENDIF %}
			  <em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em>
			</div>
		  </div>
		  <div class="clear"></div>
		</div>
	  </div>
	 </div>
	{% ENDFOR goods %}
   </div>
  <!-- Вывод каталога списком-Конец -->


#9 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 28 Март 2013 - 06:59

Просмотр сообщенияСake (28 Март 2013 - 04:48) писал:

Да, заметил небольшую проблему при выполнении кода. Поэтому лучше поступить так:

Использовать следующий код

$(function() {
var nav = '#content .navigation';
var last_prd = '.u-lproducts .ulproducts:last-child';
var wrap_prd = '.u-lproducts';
var cnavig = '.navigation .current';
var prd = '.u-lproducts .ulproducts';
var current = 'current';
var scroll_prod = false;
var parent_url = '';
$(nav).hide();
$(window).scroll(function() {
if(!scroll_prod) {
var offset = $(last_prd).offset().top;
var height = $(last_prd).height();
if($(this).scrollTop() > (offset - height)) {
scroll_prod = true;
if($(cnavig).next().length) {
var url = $(cnavig).next().attr('href') + '&amp;only_body=1';
if(parent_url != url) {
$.get(url, function(html) {
var data = $(html).map(function() {
if($(this).hasClass(wrap_prd.replace('.', ''))) {
return($(this).children());
}
}).get(0);
$(wrap_prd).append(data);
$(cnavig).removeClass(current).next().addClass(current);
scroll_prod = false;
}, 'text');
}
}
}
}
});
});

Так же необходимо будет изменить немного структуру в шаблоне "Товары". Необходимо найти


<!-- Вывод каталога таблицей -->
{% IF GOODS_VIEW_TYPE=1 %}
<!-- Вывод каталога списком -->
{% FOR goods %}
<div class="hr"></div>
<div class="box padd">
<div class="titlebox txtalgnlft">
<ul>
<li class="blue fnt11b">
<h2><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">
{% IF goods.MAX_REST_VALUE=0 %}Товара нет{% ENDIF %}
{% IF goods.MAX_REST_VALUE>0 %}В наличии{% ENDIF %}
</a></h2>
</li>
<li class="default fnt12b "><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a></li>
</ul>
</div>
<div class="ulproduct">
<div class="img txtalgncnt">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
</div>
<div class="infoproduct">
<div class="name fnt14b">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a>
</div>
<div class="info fnt11n txtalgnlft">
{goods.DESCRIPTION_SHORT}
</div>
<div class="buttons">
{% IF goods.MAX_REST_VALUE>0 %}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<a class="whtgray" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить &amp;laquo;{goods.NAME}&amp;raquo; в корзину">Купить сейчас</a>
<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>
</div>
</form>
{% ENDIF %}
{% IF goods.MAX_REST_VALUE=0 %}<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>{% ENDIF %}
</div>
<div class="price fnt12b txtalgnlft">
Цена:
{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
{% ENDIF %}
<em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em>
</div>
</div>
<div class="clear"></div>
</div>
</div>
{% ENDFOR goods %}
<!-- Вывод каталога списком-Конец -->

и заменить на

<!-- Вывод каталога таблицей -->
{% IF GOODS_VIEW_TYPE=1 %}
<div class="u-lproducts">
<!-- Вывод каталога списком -->
{% FOR goods %}
<div class="ulproducts">
<div class="hr"></div>
<div class="box padd">
<div class="titlebox txtalgnlft">
<ul>
<li class="blue fnt11b">
<h2><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">
{% IF goods.MAX_REST_VALUE=0 %}Товара нет{% ENDIF %}
{% IF goods.MAX_REST_VALUE>0 %}В наличии{% ENDIF %}
</a></h2>
</li>
<li class="default fnt12b "><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a></li>
</ul>
</div>
<div class="ulproduct">
<div class="img txtalgncnt">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
</div>
<div class="infoproduct">
<div class="name fnt14b">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a>
</div>
<div class="info fnt11n txtalgnlft">
{goods.DESCRIPTION_SHORT}
</div>
<div class="buttons">
{% IF goods.MAX_REST_VALUE>0 %}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<a class="whtgray" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить &amp;laquo;{goods.NAME}&amp;raquo; в корзину">Купить сейчас</a>
<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>
</div>
</form>
{% ENDIF %}
{% IF goods.MAX_REST_VALUE=0 %}<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>{% ENDIF %}
</div>
<div class="price fnt12b txtalgnlft">
Цена:
{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
{% ENDIF %}
<em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
{% ENDFOR goods %}
</div>
<!-- Вывод каталога списком-Конец -->

Все равно ничего не выходить пишет "Ошибка компиляции шаблона. Не закрытый тег «IF» строка 149"

#10 Stasya

Stasya

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

  • Модератоpы
  • 4 007 сообщений

Отправлено 28 Март 2013 - 10:25

Попробуйте в шаблоне HTML после строки
<!-- Вывод каталога списком-Конец -->
вставьте строку
{% ENDIF %}


#11 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 28 Март 2013 - 12:55

Просмотр сообщенияStasya (28 Март 2013 - 10:25) писал:

Попробуйте в шаблоне HTML после строки
<!-- Вывод каталога списком-Конец -->
вставьте строку
{% ENDIF %}

Ошибку теперь не выдает, но и ничего не работает, что делать?
Помогите!

#12 Koderhan

Koderhan

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

  • Модератоpы
  • 6 227 сообщений

Отправлено 28 Март 2013 - 13:50

Просмотр сообщенияkostiano12 (28 Март 2013 - 12:55) писал:

Ошибку теперь не выдает, но и ничего не работает, что делать?
Помогите!
У вас отсутсвует js код в файле main.js.
$(function() {
var nav = '#content .navigation';
var last_prd = '.u-lproducts .ulproducts:last-child';
var wrap_prd = '.u-lproducts';
var cnavig = '.navigation .current';
var prd = '.u-lproducts .ulproducts';
var current = 'current';
var scroll_prod = false;
var parent_url = '';
$(nav).hide();
$(window).scroll(function() {
				 if(!scroll_prod) {
				 var offset = $(last_prd).offset().top;
				 var height = $(last_prd).height();
				 if($(this).scrollTop() > (offset - height)) {
								 scroll_prod = true;
								 if($(cnavig).next().length) {
												 var url = $(cnavig).next().attr('href') + '&amp;only_body=1';
												 if(parent_url != url) {
																 $.get(url, function(html) {
																 var data = $(html).map(function() {
																		if($(this).hasClass(wrap_prd.replace('.', ''))) {
																		   return($(this).children());
																		}
																 }).get(0);
																 $(wrap_prd).append(data);
																 $(cnavig).removeClass(current).next().addClass(current);
																 scroll_prod = false;
																 }, 'text');
												 }
								 }
				 }
				 }
});
});
Для работы скрипта нужно вставить данный код прямо в конец файла main.js как было предложено ранее.

#13 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 28 Март 2013 - 18:00

Просмотр сообщенияKoderhan (28 Март 2013 - 13:50) писал:

У вас отсутсвует js код в файле main.js.
$(function() {
var nav = '#content .navigation';
var last_prd = '.u-lproducts .ulproducts:last-child';
var wrap_prd = '.u-lproducts';
var cnavig = '.navigation .current';
var prd = '.u-lproducts .ulproducts';
var current = 'current';
var scroll_prod = false;
var parent_url = '';
$(nav).hide();
$(window).scroll(function() {
				 if(!scroll_prod) {
				 var offset = $(last_prd).offset().top;
				 var height = $(last_prd).height();
				 if($(this).scrollTop() > (offset - height)) {
								 scroll_prod = true;
								 if($(cnavig).next().length) {
												 var url = $(cnavig).next().attr('href') + '&amp;only_body=1';
												 if(parent_url != url) {
																 $.get(url, function(html) {
																 var data = $(html).map(function() {
																	 if($(this).hasClass(wrap_prd.replace('.', ''))) {
																		 return($(this).children());
																	 }
																 }).get(0);
																 $(wrap_prd).append(data);
																 $(cnavig).removeClass(current).next().addClass(current);
																 scroll_prod = false;
																 }, 'text');
												 }
								 }
				 }
				 }
});
});
Для работы скрипта нужно вставить данный код прямо в конец файла main.js как было предложено ранее.

Теперь на сайте пишет:

На сайте есть

34 J(S ошибки

.



#14 mikola

mikola

    Good soo good

  • Модератоpы
  • 1 550 сообщений
  • Городгород Нижний Новгород

Отправлено 28 Март 2013 - 18:19

Цитата

34 J(S ошибки[/font]

.

на какой именно странице у вас возникает у вас ошибка??

#15 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 28 Март 2013 - 19:05

Просмотр сообщенияMikola (28 Март 2013 - 18:19) писал:

на какой именно странице у вас возникает у вас ошибка??

на всех где есть товар

#16 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 29 Март 2013 - 01:35

Цитата

Все равно ничего не выходить пишет "Ошибка компиляции шаблона. Не закрытый тег «IF» строка 149"

Если у вас возникла подобная ошибка, то вы не верно произвели замену кода, а именно случайно удалили или заменили лишний тег. Попробуйте еще раз произвести необходимую заменю внимательнее. В коде который необходимо заменить ошибок таких нет.

Ошибки javascript могли возникнуть если отсутствует необходимая разметка на странице. Вероятно вы вставили javascript до изменения шаблона "Товары". В данном случае лучше будет вставить дополнительное условие, чтобы подобной ошибки не появлялось. Чтобы поставить условие - необходимо в коде javascript найти

if(!scroll_prod)

и заменить на

if(!scroll_prod && $(wrap_prd).length && $(last_prd).length)


#17 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 29 Март 2013 - 07:00

Просмотр сообщенияСake (29 Март 2013 - 01:35) писал:

Если у вас возникла подобная ошибка, то вы не верно произвели замену кода, а именно случайно удалили или заменили лишний тег. Попробуйте еще раз произвести необходимую заменю внимательнее. В коде который необходимо заменить ошибок таких нет.

Ошибки javascript могли возникнуть если отсутствует необходимая разметка на странице. Вероятно вы вставили javascript до изменения шаблона "Товары". В данном случае лучше будет вставить дополнительное условие, чтобы подобной ошибки не появлялось. Чтобы поставить условие - необходимо в коде javascript найти

if(!scroll_prod)

и заменить на

if(!scroll_prod && $(wrap_prd).length && $(last_prd).length)


Этот код вставляем в main.js.


$(function() {
var nav = '#content .navigation';
var last_prd = '.u-lproducts .ulproducts:last-child';
var wrap_prd = '.u-lproducts';
var cnavig = '.navigation .current';
var prd = '.u-lproducts .ulproducts';
var current = 'current';
var scroll_prod = false;
var parent_url = '';
$(nav).hide();
$(window).scroll(function() {
if(!scroll_prod) {
var offset = $(last_prd).offset().top;
var height = $(last_prd).height();
if($(this).scrollTop() > (offset - height)) {
scroll_prod = true;
if($(cnavig).next().length) {
var url = $(cnavig).next().attr('href') + '&amp;only_body=1';
if(parent_url != url) {
$.get(url, function(html) {
var data = $(html).map(function() {
if($(this).hasClass(wrap_prd.replace('.', ''))) {
return($(this).children());
}
}).get(0);
$(wrap_prd).append(data);
$(cnavig).removeClass(current).next().addClass(current);
scroll_prod = false;
}, 'text');
}
}
}
}
});
});


Идем дальше

Вот этот код в HTML


<!-- Вывод каталога таблицей -->
{% IF GOODS_VIEW_TYPE=1 %}
<!-- Вывод каталога списком -->
{% FOR goods %}
<div class="hr"></div>
<div class="box padd">
<div class="titlebox txtalgnlft">
<ul>
<li class="blue fnt11b">
<h2><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">
{% IF goods.MAX_REST_VALUE=0 %}Товара нет{% ENDIF %}
{% IF goods.MAX_REST_VALUE>0 %}В наличии{% ENDIF %}
</a></h2>
</li>
<li class="default fnt12b "><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a></li>
</ul>
</div>
<div class="ulproduct">
<div class="img txtalgncnt">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
</div>
<div class="infoproduct">
<div class="name fnt14b">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a>
</div>
<div class="info fnt11n txtalgnlft">
{goods.DESCRIPTION_SHORT}
</div>
<div class="buttons">
{% IF goods.MAX_REST_VALUE>0 %}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<a class="whtgray" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить &amp;laquo;{goods.NAME}&amp;raquo; в корзину">Купить сейчас</a>
<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>
</div>
</form>
{% ENDIF %}
{% IF goods.MAX_REST_VALUE=0 %}<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>{% ENDIF %}
</div>
<div class="price fnt12b txtalgnlft">
Цена:
{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
{% ENDIF %}
<em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em>
</div>
</div>
<div class="clear"></div>
</div>
</div>
{% ENDFOR goods %}
<!-- Вывод каталога списком-Конец -->

ЗАМЕНЯЕМ НА ЭТОТ


<!-- Вывод каталога таблицей -->
{% IF GOODS_VIEW_TYPE=1 %}
<div class="u-lproducts">
<!-- Вывод каталога списком -->
{% FOR goods %}
<div class="ulproducts">
<div class="hr"></div>
<div class="box padd">
<div class="titlebox txtalgnlft">
<ul>
<li class="blue fnt11b">
<h2><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">
{% IF goods.MAX_REST_VALUE=0 %}Товара нет{% ENDIF %}
{% IF goods.MAX_REST_VALUE>0 %}В наличии{% ENDIF %}
</a></h2>
</li>
<li class="default fnt12b "><a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a></li>
</ul>
</div>
<div class="ulproduct">
<div class="img txtalgncnt">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
</div>
<div class="infoproduct">
<div class="name fnt14b">
<a href="{goods.URL}" title="Перейти на страницу &amp;laquo;{goods.NAME}&amp;raquo;">{goods.NAME}</a>
</div>
<div class="info fnt11n txtalgnlft">
{goods.DESCRIPTION_SHORT}
</div>
<div class="buttons">
{% IF goods.MAX_REST_VALUE>0 %}
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
<div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" />
<a class="whtgray" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&amp;amp;form%5Bgoods_from%5D={goods.GOODS_FROM}&amp;amp;form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить &amp;laquo;{goods.NAME}&amp;raquo; в корзину">Купить сейчас</a>
<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>
</div>
</form>
{% ENDIF %}
{% IF goods.MAX_REST_VALUE=0 %}<a href="{goods.URL}" class="whtgray" title="Подробнее о товаре &amp;laquo;{goods.NAME}&amp;raquo;">Подробнее</a>{% ENDIF %}
</div>
<div class="price fnt12b txtalgnlft">
Цена:
{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
<span>{goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
{% ENDIF %}
<em class="fnt12b">{goods.MIN_PRICE_NOW | money_format}</em>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
{% ENDFOR goods %}
</div>
<!-- Вывод каталога списком-Конец -->

Правильно?


Только вот который код заменить нужно он выглядит у меня вот так:


<!-- end-Список товаров на главной -->
  <!-- Вывод каталога таблицей -->
  <!-- Список новинок на главной -->
  {% IFNOT index_page_new_goods_empty %}
<div class="hr"></div>
<div class="box padd">
  <div class="titlebox fnt11b txtalgnlft">
<ul>
  <li class="blue fnt11b">
<h2><a href="{CATALOG_NEW_URL}">Новинки</a></h2>
  </li>
</ul>
  </div>
  <table class="table" cellpadding="0 " cellspacing="0">
<tr>
  {% FOR index_page_new_goods %}
<td>
  <div class="tabproduct">
<div class="title fnt12b txtalgncnt">
  <a href="{index_page_new_goods.URL}" title="Перейти на страницу &laquo;{index_page_new_goods.NAME}&raquo;">{index_page_new_goods.NAME}</a>
</div>
<div class="img txtalgncnt">
  <a href="{index_page_new_goods.URL}" title="Перейти на страницу &laquo;{index_page_new_goods.NAME}&raquo;"><img src="{% IF index_page_new_goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{index_page_new_goods.IMAGE_OTHER}{% ENDIF %}" alt="{index_page_new_goods.NAME}" /></a>
</div>
<div class="price fnt12b txtalgncnt">
  Цена:
  {% IF index_page_new_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_new_goods.MIN_PRICE_NOW %}
<span>{index_page_new_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | number_format("0", ",", " ")}</span>
  {% ELSEIF index_page_new_goods.MIN_PRICE_OLD>index_page_new_goods.MIN_PRICE_NOW %}
<span>{index_page_new_goods.MIN_PRICE_OLD | number_format("0", ",", " ")}</span>
  {% ENDIF %}
  <em class="fnt12b">{index_page_new_goods.MIN_PRICE_NOW | money_format}</em>
</div>
<div class="buttons txtalgncnt">
  {% IF index_page_new_goods.MAX_REST_VALUE>0 %}<a href="{index_page_new_goods.URL}" class="whtgreen" title="Перейти на страницу &laquo;{index_page_new_goods.NAME}&raquo;">Подробнее</a>
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListForm">
  <div>
<input type="hidden" name="hash" value="{HASH}" />
<input type="hidden" name="form[goods_from]" value="{index_page_new_goods.GOODS_FROM}" />
<input type="hidden" name="form[goods_mod_id]" value="{index_page_new_goods.MIN_PRICE_NOW_ID}" />
<button type="submit"class="blgreen">Купить</button>
  </div>
</form>
  {% ENDIF %}
  {% IF index_page_new_goods.MAX_REST_VALUE=0 %}
<a href="{index_page_new_goods.URL}" class="whtgreen" style="margin:0 0 0 70px;" title="Перейти на страницу &laquo;{index_page_new_goods.NAME}&raquo;">Подробнее</a>
  {% ENDIF %}
</div>
  </div>
</td>
{% IFNOT index_page_new_goods.last %}{index_page_new_goods.index | is_divided("2","</tr><tr>","")}{% ENDIF %}
  {% ENDFOR index_page_new_goods %}
</tr>
  </table>
</div>
  {% ENDIF %}
  <!-- end Список новинок на главной -->
  <!-- Вывод каталога таблицей-Конец -->
  <!-- Вывод каталога списком -->
  <!-- Список хитов главной -->

p.s захватил еще соседние строки

Вы сказали заменить

if(!scroll_prod)

ошибка исчезла но страницы автоматически не листаются, так же по странично только

#18 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 30 Март 2013 - 01:32

На данный момент у вас отсутствуют изменения в шаблоне и в main.js
Вам необходимо сделать все необходимые изменения, и не удалять их, чтобы мы смогли понять в чем возникает проблема.

#19 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 30 Март 2013 - 11:09

Просмотр сообщенияСake (30 Март 2013 - 01:32) писал:

На данный момент у вас отсутствуют изменения в шаблоне и в main.js
Вам необходимо сделать все необходимые изменения, и не удалять их, чтобы мы смогли понять в чем возникает проблема.

Все изменения сделал, сохранил, жду дальнейшей инструкции.
Спасибо!

#20 kostiano12

kostiano12

    Продвинутый пользователь

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

Отправлено 01 Апрель 2013 - 21:02

Просмотр сообщенияСake (30 Март 2013 - 01:32) писал:

На данный момент у вас отсутствуют изменения в шаблоне и в main.js
Вам необходимо сделать все необходимые изменения, и не удалять их, чтобы мы смогли понять в чем возникает проблема.

Помогите пожалуйста




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

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