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


Ошибка - При Переходе Из Каталога


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

#1 Romashkino

Romashkino

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

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

Отправлено 02 Октябрь 2012 - 14:24

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

#2 Vaccina

Vaccina

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

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

Отправлено 03 Октябрь 2012 - 13:20

Проблема в том, что вы изменили поведение модального окна в main.js

// Увеличение изображение при клике на него и открытие галереи изображений
  $('.imagem a').click(function(){
		
		// Идентификатор главной картинки
	var goodsImageId = $('.goodsListBlock').find('.imagem input').attr("rel"),
		
		// Маленькое изображение, по которому на самом деле будем кликать
		goodsImageIconElement = $(this).closest('.goodsListBlock').find('.goodsDataMainImagesIcon input[rel="'+goodsImageId+'"]').parent().find('a');

	// Для иконки изображения запустим галерею 

	goodsImageIconElement.nyroModalManual({
	  gallery: false
	});
	return false;
  });

т.е по сути срабатывает класс .imagem a
Удалите данное правило.

#3 Romashkino

Romashkino

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

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

Отправлено 04 Октябрь 2012 - 13:05

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

#4 Vaccina

Vaccina

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

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

Отправлено 06 Октябрь 2012 - 05:52

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

#5 Romashkino

Romashkino

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

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

Отправлено 17 Октябрь 2012 - 20:55

Просмотр сообщенияVaccina (06 Октябрь 2012 - 05:52) писал:

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

#6 Romashkino

Romashkino

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

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

Отправлено 23 Октябрь 2012 - 08:55

Просмотр сообщенияVaccina (06 Октябрь 2012 - 05:52) писал:

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

Уважаемая Vaccina, я нашла темку, по которой меняла шаблон, вот она http://forum.storela...ть-изображение/

дело в том, что сегодня заметила, что уже и это не работает и вместо увеличения картинки страница вылетает на один счетчик.. что делать? помогите, пожалуйста!

сайт

#7 Vaccina

Vaccina

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

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

Отправлено 23 Октябрь 2012 - 13:33

Проверьте ваш шаблон "Товары" присутствует ли у вас так код

<!-- Другие изображения товара. Отображаются если есть изображения товара -->
			{% IFNOT images_empty %}
			  {% FOR images %}
				
				<!-- Заголовок и обёртка для изображений, которая позволяет не показывать уменьшенное изображение товара если оно у него лишь одно -->
				{% IF goods.images.first %}
				  <div style="display:none;">
				
			  
				<!-- Уменьшенное изображение товара -->
				<div class="goodsDataMainImagesIcon left">
				  <a href="{goods.images.LARGE}"  target="_blank" title="{goods.images.NAME}"><img class="cornerAll withBorder" rel="{goods.images.MEDIUM}" src="{goods.images.ICON}" alt="{goods.images.NAME}" /></a>
	
				  <!-- Идентификатор изображения товара, используется для галереи изображений -->
				  <input type="hidden" rel="{goods.ID}" />
				</div>
				
				<!-- В самом конце закрываем обёртку для списка маленьких изображений товара -->
				</div>{% ENDIF %}
			  {% ENDFOR %}
			{% ENDIF %}


#8 Romashkino

Romashkino

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

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

Отправлено 23 Октябрь 2012 - 15:46

да, данный код есть. может быть надо показать весь шаблон "Товары"?

#9 Vaccina

Vaccina

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

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

Отправлено 24 Октябрь 2012 - 11:59

Да, приведите полный код шаблона "Товары", а так же код файла main.js

#10 Romashkino

Romashkino

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

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

Отправлено 24 Октябрь 2012 - 18:35

<div class="page-headline">
  {% IF IS_FULL_CATALOG %}
	<!-- Блок навигации по категориям, вложенным в текущую категорию -->
	<ul class="content_catalog_nested_categories">
	  {% FOR nested_categories_list %}
		<li>
		  <div class="imagem"><a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»"><img {% IF nested_categories_list.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-small.png" width="130"{% ELSE %}src="{nested_categories_list.IMAGE_MEDIUM}"{% ENDIF %} alt="{nested_categories_list.NAME}" /></a></div>
		  <a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»">{nested_categories_list.NAME}</a>
		</li>
	  {% ENDFOR %}
	</ul>
	<br clear="all"/>
  {% ELSE %}
</div>

<div class="pad-box">
  <!-- Строка пути -->
  <div id="site-path">
	<p>
	  <a href="http://{NET_DOMAIN}/">Главная</a> 
	  
	  <!-- Если отображаем полный каталог товаров, без указания категории -->
	  {% IF IS_FULL_CATALOG %}
		 » <span class="current">Каталог товаров</span>
	  <!-- Если отображаем товары в категории -->
	  {% ELSE %}
		» <a href="{CATALOG_URL}" >Каталог товаров</a> 
		{% FOR upper_navigation %}
		  {% IF upper_navigation.CURRENT %} » <span class="current">{upper_navigation.NAME}</span>{% ELSEIF upper_navigation.CURRENT_PARENT %} » <a href="{upper_navigation.URL}" >{upper_navigation.NAME}</a>{% ENDIF %}
		{% ENDFOR %}
	  {% ENDIF %}
	  
	</p>
  </div>
  <!-- end Строка пути -->

  <!-- Короткое SEO описание категории -->
  {% IF CATEGORY_SEO_DESCRIPTION_SHORT %}
	<div style="padding-bottom:1em;">{CATEGORY_SEO_DESCRIPTION_SHORT}</div>
  {% ENDIF %}

  <!-- Фильтры показываются только если есть товары в категории -->
  {% IFNOT goods_empty %}
	<!-- Блок выбора параметра по которому производится сортировка списка товаров и возможность изменения лимитов выдачи -->
	<form action="">
	  <table class="goodsListingTopNavigation">
		<tr>
		  <td>
			<!-- Список фильтров, которые сейчас действуют на результаты поиска -->
			{% FOR goods_filters %}
			  <input type="hidden" name="{goods_filters.NAME}" value="{goods_filters.VALUE}" />
			{% ENDFOR %}
		
			<!-- Поле выбора сортировки -->
			{% IF goods_show_order_fields %}
			  Сортировать по:
			  <select name="goods_search_field_id" onchange="this.form.submit();">
				{% FOR goods_order_fields %}
				  <option value="{goods_order_fields.ID}" {% IF goods_order_fields.SELECTED %}selected="selected"{% ENDIF %}>{goods_order_fields.NAME}</option>
				{% ENDFOR %}
			  </select>
			{% ENDIF %}
		  </td>
		  <td class="alignCenter viewSelector">
			
		  </td>
		  <td class="alignRight">
			<!-- Поле выбора лимитов -->
			{% IF goods_show_per_page %}
			  Показывать по:
			  <select name="per_page" onchange="this.form.submit();">
				{% FOR goods_per_page_list %}
				  <option value="{goods_per_page_list.LIMIT}" {% IF goods_per_page_list.SELECTED %}selected="selected"{% ENDIF %}>{goods_per_page_list.LIMIT}</option>
				{% ENDFOR %}
			  </select>
			{% ENDIF %}
		  </td>
		</tr>
	  </table>
	</form>
	<!-- END Блок выбора параметра по которому производится сортировка списка товаров -->
  {% ENDIF %}
  <!-- END Фильтры показываются только если есть товары в категории -->
  
  <!-- Goods list -->
  {% IF goods_empty %}

	<!-- Если не применено ни одного фильтра, значит в категории нет товаров -->
	{% IF goods_filters_empty %}
	 
	  <!-- Если в категории нет товаров, но есть категории, то отобразим их -->
	  {%IFNOT nested_categories_list_empty %}

		<!-- Блок навигации по категориям, вложенным в текущую категорию -->
		<ul class="content_catalog_nested_categories">
		  {% FOR nested_categories_list %}
			<li>
			  <div class="imagem"><a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»"><img {% IF nested_categories_list.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-small.png" width="130"{% ELSE %}src="{nested_categories_list.IMAGE_MEDIUM}"{% ENDIF %} alt="{nested_categories_list.NAME}" /></a></div>
			  <a href="{nested_categories_list.URL}" title="Перейти к категории «{nested_categories_list.NAME}»">{nested_categories_list.NAME}</a>
			</li>
		  {% ENDFOR %}
		</ul>
		<br clear="all"/>
		
	  <!-- Если в категории нет ни товаров, ни категорий то сообщим пользователю что ничего нет -->
	  {% ELSE %}
	   <h3>Нет товаров в категории</h3>
	  {% ENDIF %}

	<!-- Если производили фильтрацию товаров в категории -->
	{% ELSE %}
	  <h3>Нет товаров для выбранных условий</h3>
	{% ENDIF %}

  {% ELSE %}
	{% IF GOODS_VIEW_TYPE=1 %}
	  <!-- Список товаров. Список -->
	  {% FOR goods %}
		<div class="listing goodsListBlock">
		  <div class="imagem"><a href="{goods.URL}" target="_blank" title="Увеличить {goods.NAME}"><img {% IF goods.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-medium.png" width="220"{% ELSE %}src="{goods.IMAGE_SMALL}"{% ENDIF %} alt="{goods.NAME}" /></a>
		   <input type="hidden" rel="{goods.ID}" />
		  </div>

<!-- Другие изображения товара. Отображаются если есть изображения товара -->
			{% IFNOT images_empty %}
			  {% FOR images %}
				
				<!-- Заголовок и обёртка для изображений, которая позволяет не показывать уменьшенное изображение товара если оно у него лишь одно -->
				{% IF goods.images.first %}
				  <div style="display:none;">
				
			  
				<!-- Уменьшенное изображение товара -->
				<div class="goodsDataMainImagesIcon left">
				  <a href="{goods.images.LARGE}"  target="_blank" title="{goods.images.NAME}"><img class="cornerAll withBorder" rel="{goods.images.MEDIUM}" src="{goods.images.ICON}" alt="{goods.images.NAME}" /></a>
	
				  <!-- Идентификатор изображения товара, используется для галереи изображений -->
				  <input type="hidden" rel="{goods.ID}" />
				</div>
				
				<!-- В самом конце закрываем обёртку для списка маленьких изображений товара -->
				</div>{% ENDIF %}
			  {% ENDFOR %}
			{% ENDIF %}
	
		  <div class="contm">
			<h3><a href="{goods.URL}" title="Перейти на страницу «{goods.NAME}»">{goods.NAME}</a></h3>
			<p>
			  {goods.DESCRIPTION_SHORT}
			</p>
			<p>
			  Цена сейчас: <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a><br />
			  {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
				Цена без учёта скидки: <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a><br />
				<span class="listingDiscountInfo">До {goods.MAX_DISCOUNT_EXPIRED_AT | date} скидка составляет: {goods.MAX_DISCOUNT}%</span>
			  {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
				Старая цена: <a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a>
			  {% ENDIF %}
			</p>

			<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" id="goodsListFormId{goods.MIN_PRICE_NOW_ID}" class="goodsListForm">
			  <p>
				<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="readmore" onclick="$('#goodsListFormId{goods.MIN_PRICE_NOW_ID}').submit(); return false;" href="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}?hash={HASH | url_amp}&form%5Bgoods_from%5D={goods.GOODS_FROM}&form%5Bgoods_mod_id%5D={goods.MIN_PRICE_NOW_ID}" title="Положить «{goods.NAME}» в корзину">Купить</a>
			   </p>
			</form>

		  </div>
		  <div class="clr"></div>
		</div>
	  {% ENDFOR goods %}
	  <!-- /Список товаров. Список -->
	{% ELSE %}
	  <!-- Список товаров. Таблица -->
	  <table>
		<tr>
		  {% FOR goods %}
			<td class="goodsListItem">  
			  <div class="goodsListItemBlock withBorder cornerAll">
				<table class="goodsListItemImage">
				  <tr>
					<td class="goodsListBlock"><div class="imagem">
					  <a href="{goods.URL}" title="Перейти на страницу «{goods.NAME}»"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a><input type="hidden" rel="{goods.ID}" /></div>
<!-- Другие изображения товара. Отображаются если есть изображения товара -->
			{% IFNOT images_empty %}
			  {% FOR images %}
				
				<!-- Заголовок и обёртка для изображений, которая позволяет не показывать уменьшенное изображение товара если оно у него лишь одно -->
				{% IF goods.images.first %}
				  <div style="display:none;">
				
			  
				<!-- Уменьшенное изображение товара -->
				<div class="goodsDataMainImagesIcon left">
				  <a href="{goods.images.LARGE}"  target="_blank" title="{goods.images.NAME}"><img class="cornerAll withBorder" rel="{goods.images.MEDIUM}" src="{goods.images.ICON}" alt="{goods.images.NAME}" /></a>
	
				  <!-- Идентификатор изображения товара, используется для галереи изображений -->
				  <input type="hidden" rel="{goods.ID}" />
				</div>
				
				<!-- В самом конце закрываем обёртку для списка маленьких изображений товара -->
				</div>{% ENDIF %}
			  {% ENDFOR %}
			{% ENDIF %}
					</td>
				  </tr>
				</table>
				
				<h3 class="goodsListItemName"><a href="{goods.URL}" title="Перейти на страницу «{goods.NAME}»">{goods.NAME}</a></h3>
				<div class="goodsListItemPriceNew">
				  <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a>
				</div>  
				<div class="goodsListItemPriceOld">
				  {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
					<a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a>
				  {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
					<a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a>
				  {% ENDIF %} 
				</div>
			  </div>
			</td>
			{% IFNOT goods.last %}{goods.index | is_divided("3","</tr><tr>","")}{% ENDIF %}
		  {% ENDFOR goods %}
		</tr>
	  </table>
	<!-- /Список товаров. Таблица -->
	  <table>
		<tr>
		  {% FOR goods %}
			<td class="goodsListItem">  
			  <div class="goodsListItemBlock withBorder cornerAll">
				<table class="goodsListItemImage">
				  <tr>
					<td>
					  <a href="{goods.URL}" title="Перейти на страницу «{goods.NAME}»"><img src="{% IF goods.IMAGE_EMPTY %}{ASSETS_IMAGES_PATH}no-photo-other.png{% ELSE %}{goods.IMAGE_OTHER}{% ENDIF %}" alt="{goods.NAME}" /></a>
					</td>
				  </tr>
				</table>
				
				<h3 class="goodsListItemName"><a href="{goods.URL}" title="Перейти на страницу «{goods.NAME}»">{goods.NAME}</a></h3>
				<div class="goodsListItemPriceNew">
				  <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a>
				</div>  
				<div class="goodsListItemPriceOld">
				  {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
					<a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a>
				  {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
					<a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a>
				  {% ENDIF %} 
				</div>
			  </div>
			</td>
			{% IFNOT goods.last %}{goods.index | is_divided("3","</tr><tr>","")}{% ENDIF %}
		  {% ENDFOR goods %}
		</tr>
	  </table>
	<!-- /Список товаров. Таблица -->
	{% ENDIF %}
  {% ENDIF %}	   
  <!-- end Goods list -->
  
  <!-- Pages -->
  {% IF show_pages %}
  <div class="pagination">
	<span class="pp-title">Страницы:</span>
	{% FOR goods_pages %}
	  {% IF goods_pages.CURRENT %}
		<span class="pp-page pp-current">{goods_pages.PAGE}</span>
	  {% ELSE %}
		<a class="pp-page" href="{GOODS_PAGINATE_URL}&page={goods_pages.PAGE}">{goods_pages.PAGE}</a>
	  {% ENDIF %}
	{% ENDFOR %}
  </div>
  {% ENDIF %}
  <!-- end Pages -->

  <!-- Описание категории -->
  {% IF CATEGORY_DESCRIPTION %}
	<div class="htmlDataBlock">
	  {CATEGORY_DESCRIPTION}
	</div>
  {% ENDIF %}

  <!-- Полное SEO описание категории -->
  {% IF CATEGORY_SEO_DESCRIPTION_LARGE %}
	<div class="htmlDataBlock">
	  {CATEGORY_SEO_DESCRIPTION_LARGE}
	</div>
  {% ENDIF %}
  
</div>{% ENDIF %}

// Отправляет ошибку на сервер, для того чтобы служба тех поддержки могла разобраться в проблеме как можно быстрее.
function sendError (desc, page, line) {
  var img=document.createElement('img');
  img.src = 'http://storeland.ru/error/js?desc='+encodeURIComponent(desc)+'&page='+encodeURIComponent(window.location)+'&line=0';
  img.style.position = 'absolute';
  img.style.top = '-9999px';

  try { document.getElementsByTagName('head').appendChild(img) } catch (e){}
  return false;
}

// Форматирует цену
function number_format(number,decimals,dec_point,thousands_sep){var n=number,prec=decimals;var toFixedFix=function(n,prec){var k=Math.pow(10,prec);return(Math.round(n*k)/k).toString();};n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=(typeof thousands_sep==='undefined')?',':thousands_sep;var dec=(typeof dec_point==='undefined')?'.':dec_point;var s=(prec>0)?toFixedFix(n,prec):toFixedFix(Math.round(n),prec);var abs=toFixedFix(Math.abs(n),prec);var _,i;if(abs>=1000){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+
_[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);}
var decPos=s.indexOf(dec);if(prec>=1&&decPos!==-1&&(s.length-decPos-1)<prec){s+=new Array(prec-(s.length-decPos-1)).join(0)+'0';}
else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';}
return s;}

// Превращает поле пароля в текстовое поле и обратно
// @LinkObject - ссылка по которой кликнули
// @InputObject - объект у которого нужно изменить тип поля
function ChangePasswordFieldType (LinkObject, InputObject) {
  var 
	// Ссылка по которой кликнули
	LObject = $(LinkObject),
	// Объект у которого изменяем тип с password на text
	IObject = $(InputObject),
	// Старый текст ссылки
	txtOld = LObject.text(),
	// Новый текст ссылки
	txtNew = LObject.attr('rel');

  // Если объекты не получены, завершим работу функции
  if( LObject.length==0 || IObject.length==0 ) {
	return false;
  }

  // Изменяем у ссылки текст со старого на новый
  LObject.html(txtNew);
  // Старый текст ссылки сохраняем в атрибуте rel 
  LObject.attr('rel', txtOld);

  // Изменяем тип input поля
  if(IObject[0].type == 'text') {
	IObject[0].type = 'password';
  } else {
	IObject[0].type = 'text';
  }
}

// Крутит изображение при обновлении картинки защиты от роботов
function RefreshImageAction(img,num,cnt) {
  if(cnt>13) {
	return false;
  }

  $(img).attr('src', $(img).attr('rel') + 'icon/refresh/' + num + '.gif');
  num = (num==6)?0:num;
  setTimeout(function(){RefreshImageAction(img, num+1, cnt+1);}, 50);
}

$(document).ready(function(){
 
  // Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
  $('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){
	if($(this).valid()) {
	  SubmitButton = $(this).find('input:submit, button:submit').attr('disabled', true);
	  setTimeout('SubmitButton.attr("disabled", false);', 10000);
	}
  }).validate();

  // В форме оформления заказа при клике на кнопку назад просто переходим на предыдущую страницу
  $('.order form input:submit[name="toprev"]').click(function(){
	var act = this.form.action;
	this.form.action = act + ( act.indexOf( '\?' ) > -1 ? '&' : '?' ) + 'toprev=1';
	this.form.submit();
	return false;
  });
  
  // Настройки галереи изображений
  $.nyroModalSettings({
	// из всех элементов с атрибут rel="gallery" будем создавать галерею
	gallery: 'gallery',
	// Включаем прокрутку с последнего изображения на первое
	galleryLoop: true
  });
   
  // Увеличение изображение при клике на него и открытие галереи изображений
  $('.goodsDataMainImage a, .goodsDataMainImageZoom a').click(function(){
		
		// Идентификатор главной картинки
	var goodsImageId = $('.goodsDataMainImage input').attr("rel"),
		
		// Маленькое изображение, по которому на самом деле будем кликать
		goodsImageIconElement = $('.goodsDataMainImagesIcon input[rel="'+goodsImageId+'"]').parent().find('a');

	// Для иконки изображения запустим галерею  
	goodsImageIconElement.nyroModalManual();
	return false;
  });
  // Увеличение изображение при клике на него и открытие галереи изображений
  $('.imagem a').click(function(){
		
		// Идентификатор главной картинки
	var goodsImageId = $(this).closest('.goodsListBlock').find('.imagem input').attr("rel"),
		
		// Маленькое изображение, по которому на самом деле будем кликать
		goodsImageIconElement = $(this).closest('.goodsListBlock').find('.goodsDataMainImagesIcon input[rel="'+goodsImageId+'"]').parent().find('a');

	// Для иконки изображения запустим галерею 

	goodsImageIconElement.nyroModalManual({
	  gallery: false
	});
	return false;
  });
  
  // Добавление товара в корзину через ajax
  $('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function(){
	
	$(this).nyroModalManual({
	  formIndicator: 'ajax_q',  // Value added when a form is sent
	  minWidth: 450, // Minimum width
	  minHeight: 140, // Minimum height
	  gallery: null // Gallery name if provided
	});
	return false;
  });
  
  // Изменение главного изображения товара при нажатии на миниатюру
  $('.goodsDataMainImagesIcon a').click(function(){
		// Путь к среднему изображению
	var MediumImageUrl = $(this).find('img').attr('rel'),
		
		// Главное изображение, в которое будем вставлять новое изображение
		MainImage = $('.goodsDataMainImage img'),
		
		// В этом объекте хранится идентификатор картинки главного изображения для коректной работы галереи изображений
		MainImageIdObject = $('.goodsDataMainImage input'),
		
		// Получаем идентификатор этого изображения из соседнего input поля
		GoodsImageIconId = $(this).parent().find('input').attr("rel");
	
	// Изменяем главное изображение
	MainImage.attr('src',MediumImageUrl);
	
	// Изменяем идентификатор главного изображения
	MainImageIdObject.attr("rel",GoodsImageIconId);
	
	return false;
  });

  // Функция собирает свойства в строку, для определения модификации товара
  function getSlugFromGoodsDataFormModificationsProperties(obj) {
	var properties = new Array();
	$(obj).each(function(i){
	  properties[i] = parseInt($(this).val());
	});
	return properties.sort(function(a,B){return a - b}).join('_');
  }
  
  
  var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]');
  
  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(){
	$(this).change(function(){
	  var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties),
		  modificationBlock			 = $('.goodsDataMainModificationsList[rel="'+slug+'"]'),
		  modificationId				= parseInt(modificationBlock.find('[name="id"]').val()),
		  modificationArtNumber		 = modificationBlock.find('[name="art_number"]').val(),
		  modificationPriceNow		  = parseFloat(modificationBlock.find('[name="price_now"]').val()),
		  modificationPriceNowFormated  = modificationBlock.find('.price_now_formated').html(),
		  modificationPriceOld		  = parseFloat(modificationBlock.find('[name="price_old"]').val()),
		  modificationPriceOldFormated  = modificationBlock.find('.price_old_formated').html(),
		  modificationRestValue		 = parseFloat(modificationBlock.find('[name="rest_value"]').val()),
		  modificationDescription	   = modificationBlock.find('.description').html(),
		  modificationMeasureId		 = parseInt(modificationBlock.find('[name="measure_id"]').val()),
		  modificationMeasureName	   = modificationBlock.find('[name="measure_name"]').val(),
		  modificationMeasureDesc	   = modificationBlock.find('[name="measure_desc"]').val(),
		  modificationMeasurePrecision  = modificationBlock.find('[name="measure_precision"]').val(),
		  modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(),
		  goodsModificationId		   = $('.goodsDataMainModificationId'),
		  goodsPriceNow				 = $('.goodsDataMainModificationPriceNow'),
		  goodsPriceOld				 = $('.goodsDataMainModificationPriceOld'),
		  goodsAvailable				= $('.goodsDataMainModificationAvailable'),
		  goodsAvailableTrue			= goodsAvailable.find('.available-true'),
		  goodsAvailableFalse		   = goodsAvailable.find('.available-false'),
		  goodsArtNumberBlock		   = $('.goodsDataMainModificationArtNumber'),
		  goodsArtNumber				= goodsArtNumberBlock.find('span');
		  goodsCompareAddButton		 = $('.goodsDataCompareButton.add');
		  goodsCompareDeleteButton	  = $('.goodsDataCompareButton.delete');
		  goodsModDescriptionBlock	  = $('.goodsDataMainModificationsDescriptionBlock');
	   
	   // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация
	   if(modificationBlock.length) {
		 // Цена товара
		 goodsPriceNow.html(modificationPriceNowFormated);
  
		 // Старая цена товара
		 if(modificationPriceOld>modificationPriceNow) {
		  goodsPriceOld.html(modificationPriceOldFormated);
		 } else {
		   goodsPriceOld.html('');
		 }
		 
		 // Есть ли товар есть в наличии
		 if(modificationRestValue>0) {
		   goodsAvailableTrue.show();
		   goodsAvailableFalse.hide();
		 // Если товара нет в наличии
		 } else {
		   goodsAvailableTrue.hide();
		   goodsAvailableFalse.show();
		 }
		 // Если товар есть в списке сравнения
		 if(modificationIsHasInCompareList>0) {
		   goodsCompareAddButton.hide();
		   goodsCompareDeleteButton.show();
		 // Если товара нет в списке сравнения
		 } else {
		   goodsCompareAddButton.show();
		   goodsCompareDeleteButton.hide();
		 }
		 
		 // Покажем артикул модификации товара, если он указан
		 if(modificationArtNumber.length>0) {
		   goodsArtNumberBlock.show();
		   goodsArtNumber.html(modificationArtNumber);
		 // Скроем артикул модификации товара, если он не указан
		 } else {
		   goodsArtNumberBlock.hide();
		   goodsArtNumber.html('');
		 }

		 // Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
		 if(modificationDescription.length > 0) {
		   goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>');
		 } else {
		   goodsModDescriptionBlock.hide().html();
		 }
		 
		 
		 // Идентификатор товарной модификации
		 goodsModificationId.val(modificationId);
		 window.location.hash = '?modification='+modificationId;
	   } else {
		 // Отправим запись об ошибке на сервер
		 sendError('no modification by slug '+slug);
		 alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
	   }
	});
  });
  
  // Кнопка добавления товара на сравнение сравнения товаров
  $('.goodsDataCompareButton').click(function(){
	window.location.href = $(this).attr('rel') +
	($(this).attr('rel').indexOf( '\?' ) > -1 ? '&' : '?') +
	'id='+
	$('.goodsDataMainModificationId').val()+
	'&from='+
	$('input[name="form[goods_from]"]').val();
	return false;
  });
  
  // Сравнение товаров. Увеличение изображение при клике на ссылку увеличения и открытие галереии с изображениями этого товара
  $('.CompareGoodsImageZoom').click(function(){

	// Галлерея фотографий для данной модификации товаров
	var galleryBlock = $('.galleryBlock' +  $(this).attr('rel')),

	// Главное изображение товара, которое сейчас стоит у товара
	galleryMainImage = $('.CompareGoodsImageMain' +  $(this).attr('rel')),

	// Изображение по которому нужно кликнуть в галлерее изображений
	ImageIngallery = galleryBlock.find('.CompareGoodsImageGallery'+galleryMainImage.attr('rel'));
	
	// Запускаем галлерею изображений от изображения товара, чтобы если например кликнули по гайке, то и открылись гайка, а не еще какой-либо изображение этого товара
	ImageIngallery.nyroModalManual({
	  gallery: 'gallery' +  $(this).attr('rel')
	});

	return false;
  });
  
  // Сравнение товаров. Инвертирование свойств для сравнения товара
  $('.CompareCheckbox.invert').click(function(){
	var checked = true,
		checkboxes = $('.CompareCheckbox:not(.invert)');

	checkboxes.each(function(){
	  if($(this).attr('checked')) {
		checked = false;
		return false;
	  }
	});
	
	checkboxes.each(function(){
	  $(this).attr('checked', checked);
	});
	
	$(this).attr('checked', checked);
  });
  
  // Сравнение товаров. Скрытие характеристик товара, которые выделил пользователь
  $('.CompareGoodsHideSelected').click(function(){

	$('.CompareGoodsTableTbodyComparisonLine').each(function(){
	  var CheckedCheckbox = $(this).find('.CompareCheckbox:checked:not(.invert)');
	  if(CheckedCheckbox.length>0) {
		$(this).hide();
	  }
	});

	// отменяем выделение характеристик товаров
	$('.CompareCheckbox').attr('checked',false);

	return false;
  });
  
  // Сравнение товаров. Отображение скрытых характеристик товара
  $('.CompareGoodsShowAll').click(function(){
	$('.CompareGoodsTableTbodyComparisonLine:hidden').show();
	return false;
  });
  
  // Сравнение товаров. Верхняя навигация изменение фильтра на отображение всех характеристик товаров
  $('.CompareGoodsTableFilterShowAll').click(function(){
	$('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected');
	$('.CompareGoodsTableTbodyComparisonLine:hidden').show();
	
	$(this).addClass('CompareGoodsTableFilterSelected');
	return false;
  });

  // Сравнение товаров. Фильтр в верхней навигации. Отображение только различающихся характеристик товара
  $('.CompareGoodsTableFilterShowOnlyDifferent').click(function(){
	$('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected');
	$('.CompareGoodsTableTbodyComparisonLine:not(.same)').show();
	$('.CompareGoodsTableTbodyComparisonLine.same').hide();

	$(this).addClass('CompareGoodsTableFilterSelected');
	return false;
  });

  // Сравнение товаров. При наведении на строку сравнения, она выделяется цветом
  $('.CompareGoodsTableTbodyComparisonLine').hover(
	function () { $(this).addClass('hover'); }, 
	function () { $(this).removeClass('hover'); }
  );
  
  // При клике по строке выделяем свойство
  $('.CompareGoodsTableTbodyComparisonLine td:not(.ceil1)').click(function(){
	var CompareCheckbox = $(this).parent().find('.CompareCheckbox');

	if(CompareCheckbox.attr('checked')) {
	  CompareCheckbox.attr('checked', false);
	} else {
	  CompareCheckbox.attr('checked', true);
	}
  });

  // Форма регистрации нового пользователя, действие ссылки "показать пароль"
  $('.clientForm .showPass').click(function(){
	ChangePasswordFieldType(this, $('#sites_client_pass'));
	return false;
  });
  
  // Форма регистрации нового пользователя, при оформлении заказа
  $('.OrderShowPass').click(function(){
	ChangePasswordFieldType(this, $('#contactPassWord'));
	return false;
  });

  // При вводе пароля с caps lockом, покажет блок с сообщением для пользователя
  $('#sites_client_pass, #contactPassWord').capslock({
	caps_lock_on:function(){$("#caps_lock").show();},
	caps_lock_off:function(){$("#caps_lock").hide();}
  });
  
  // При оформлении заказа дадим возможность зарегистрироваться пользователю
  $('#contactWantRegister').click(function(){
	if($(this).attr("checked")) {
	  $('.contactRegisterNeedElement').show();
	  $('#contactPassWord').addClass('required');
	} else {
	  $('.contactRegisterNeedElement').hide();
	  $('#contactPassWord').removeClass('required');
	}
  });

  // Добавление отзыва о товаре. Рейтинг
  if(typeof($('.goodsDataOpinionTableRating').stars) == "function" ) {
	$('.goodsDataOpinionTableRating').stars({
	  inputType: "input",
	  split: 2,
	  captionEl: $(".goodsDataOpinionMsg"),
	  cancelShow: false
	});
  }
  
  // Список отзывов о товаре. Ссылка на отображение формы для добавление отзыва о товаре
  $('.goodsDataOpinionShowAddForm').click(function(){
	if(0 == $('#goodsDataOpinionAddBlock:visible').length) {
	  $('#goodsDataOpinionAddBlock').show('blind');
	} else {
	  $('#goodsDataOpinionAddBlock').hide('blind');
	  return false;
	}
  });

  // Добавление отзыва о товаре. кнопка reset скрывающая форму добавления отзыва о товаре
  $('.goodsDataOpinionAddForm input:reset').click(function(){
	$('#goodsDataOpinionAddBlock').hide('blind');
  });

  // Иконка для обновления изображение капчи
  $('.goodsDataOpinionCaptchaRefresh').click(function(){
	RefreshImageAction(this,1,1);
	$('.goodsDataOpinionCaptchaImg').attr('src',$('.goodsDataOpinionCaptchaImg').attr('src')+'&rand'+Math.random(0,10000));
	return false;
  });
  
  // Фильтры по товарам. При нажании на какую либо характеристику или свойство товара происходит фильтрация товаров
  $('.contentTbodySearchFilterBlock input').click(function(){
	$(this)[0].form.submit();
  });
  
  // Действия при выборе варианта доставки на этапе оформления заказа
  $('.deliveryRadio').click(function(){
	
	// Если текущая выделенная зона доставки не относится к выбранному варианту доставки, снимаем выделение с зоны доставки
	if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) {
	  $('.deliveryZoneRadio:checked').click().attr('checked', false);
	}
  });
  
  // Действия при выборе зоны внутри варианта доставки на этапе оформления заказа
  $('.deliveryZoneRadio').click(function(){
	
	var 
	  deliveryId = $(this).attr('deliveryid')
	  ,deliveryZonePrice = $(this).parent().find('.deliveryZonePrice')
	  ,deliveryTbody = $('.orderStageDeliveryListTable tbody[rel="' + deliveryId + '"]')
	  ,deliveryBlock = deliveryTbody.find('#deliveryId' + deliveryId)
	  ,deliveryZonePriceBlock = deliveryTbody.find('.orderStageDeliveryZonePrice')
	  ,deliveryDefaultPriceBlock = deliveryTbody.find('.orderStageDeliveryDefaultPrice')
	;

	// Если этот пункт уже выбран, при повторном клике пользователь видимо хочет снять выделение зоны доставки
	if('true' == $(this).attr('rel')) {
	  $(this).attr('checked', false);
	  $(this).attr('rel', 'false');
	  
	  // Показываем цену по умолчанию
	  deliveryDefaultPriceBlock.show();
	  // Скрываем цену образованную от зоны
	  deliveryZonePriceBlock.hide();
	  
	// Отмечаем у всех радио баттонов зон доставки свойство говорящее что они не отмечены
	} else {
	  $('.deliveryZoneRadio').attr('rel', 'false');
	  $(this).attr('rel', 'true');
	  
	  // Показываем цену по умолчанию
	  deliveryDefaultPriceBlock.hide();
	  // Скрываем цену образованную от зоны
	  deliveryZonePriceBlock.show().html(deliveryZonePrice.html());
	  
	  // Выделяем вариант доставки к которому относится зона доставки
	  deliveryBlock.attr('checked', true);
	}
	
  });

   $("#deliveryConvenientDate").datepicker({
		dayNames			: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
		dayNamesMin		  : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
		closeText			: 'Готово',
		currentText		  : 'Сегодня' ,
		duration			: '',
		monthNames		  : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
		monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
		yearRange			: "-6:+6",
		dateFormat		  : 'dd.mm.yy',
		minDate		 : new Date(),
		firstDay			: 1
	});
});


#11 Vaccina

Vaccina

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

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

Отправлено 25 Октябрь 2012 - 13:59

Проблема заключается не в шаблоне и не в файле main.js. Проблема в том что в данный момент не доступна переменная images в шаблоне, и тем самым нельзя вывести дополнительные изображения, для увеличения изображения. Данная проблема совсем недавно появилась, и еще к сожалению не устранена. В скором времени мы постараемся устранить данную проблему, и у вас код снова будет работать. Приносим свои изменения за неудобства.

#12 Romashkino

Romashkino

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

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

Отправлено 25 Октябрь 2012 - 16:44

Просмотр сообщенияVaccina (25 Октябрь 2012 - 13:59) писал:

Проблема заключается не в шаблоне и не в файле main.js. Проблема в том что в данный момент не доступна переменная images в шаблоне, и тем самым нельзя вывести дополнительные изображения, для увеличения изображения. Данная проблема совсем недавно появилась, и еще к сожалению не устранена. В скором времени мы постараемся устранить данную проблему, и у вас код снова будет работать. Приносим свои изменения за неудобства.

да, я же говорила, что ничего не меняла, а внезапно перестало работать. спасибо, что нашли причину, будем ждать, когда заработает! :)

#13 support

support

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

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 26 Октябрь 2012 - 05:25

Просмотр сообщенияRomashkino (25 Октябрь 2012 - 16:44) писал:

да, я же говорила, что ничего не меняла, а внезапно перестало работать. спасибо, что нашли причину, будем ждать, когда заработает! :)
Поправил код на вашем сайте. Там в загрузке галереи срабатывал вызов изображения, которое могло появиться только в списке товаров, а при отображении корневой категории его просто не отображалось, изменил код:
// Увеличение изображение при клике на него и открытие галереи изображений
  $('.imagem a').click(function(){

	// Идентификатор главной картинки
	var goodsImageId = $(this).closest('.goodsListBlock').find('.imagem input').attr("rel"),
		
		// Маленькое изображение, по которому на самом деле будем кликать
		goodsImageIconElement = $(this).closest('.goodsListBlock').find('.goodsDataMainImagesIcon input[rel="'+goodsImageId+'"]').parent().find('a');

	// Для иконки изображения запустим галерею 
	goodsImageIconElement.nyroModalManual({
	  gallery: false
	});
	return false;
  });

на следующий:
// Увеличение изображение при клике на него и открытие галереи изображений
  $('.imagem a').click(function(){

	// Идентификатор главной картинки
	var goodsImageId = $(this).closest('.goodsListBlock').find('.imagem input').attr("rel"),
		
		// Маленькое изображение, по которому на самом деле будем кликать
		goodsImageIconElement = $(this).closest('.goodsListBlock').find('.goodsDataMainImagesIcon input[rel="'+goodsImageId+'"]').parent().find('a');

	// Для иконки изображения запустим галерею 
	if(goodsImageIconElement.length >  0)  {
	  goodsImageIconElement.nyroModalManual({
		gallery: false
	  });
	  return false;
	}
  });
Ошибка не верной загрузки галереи исчезла. В той ветке форума где была первоначальная инструкция код изменил на правильный.

#14 Romashkino

Romashkino

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

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

Отправлено 26 Октябрь 2012 - 07:51

ой, а теперь при нажатии на картинку в каталоге происходит переход на страницу товара.. А мне бы хотелось оставить увеличение картинки из каталога без дополнительного перехода на страницу.. такое возможно? :)

ЗАТО!! из подкатегорий в каталоге теперь можно переходить по картинкам! :) даже не знаю, что удобнее..

спасибо большое! :)

#15 support

support

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

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 26 Октябрь 2012 - 09:34

Просмотр сообщенияRomashkino (26 Октябрь 2012 - 07:51) писал:

ой, а теперь при нажатии на картинку в каталоге происходит переход на страницу товара.. А мне бы хотелось оставить увеличение картинки из каталога без дополнительного перехода на страницу.. такое возможно? :)

ЗАТО!! из подкатегорий в каталоге теперь можно переходить по картинкам! :) даже не знаю, что удобнее..

спасибо большое! :)
Подкрутил код на сайте, теперь точно работает :)

#16 Romashkino

Romashkino

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

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

Отправлено 26 Октябрь 2012 - 14:56

Просмотр сообщенияsupport (26 Октябрь 2012 - 09:34) писал:

Подкрутил код на сайте, теперь точно работает :)
Вы - волшебник!!!!  СПАСИБИЩЩЕ!!!!!!!! :) :) :) :) :)




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

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