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


Цена Не Реагирует На Изменений Модификации


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

#61 demon408

demon408

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

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

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

Просмотр сообщенияVaccina (19 Март 2013 - 07:57) писал:

В описание модификации изображение можно ставить через тег <img> и при изменении модификации изображение будет отображаться. Так же можно сделать увеличение изображения например так

<a href="ссылка на большое изображение" onclick="$(this).nyroModalManual();">
<img src="ссылка на Маленькое изображение" />
</a>


А нельзя никак сделать без дополнительных кодов? Чтобы просто добавлять ссылку на изображение в поле описания модификации.

#62 Ирина345

Ирина345

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

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

Отправлено 14 Октябрь 2016 - 14:23

Просмотр сообщенияdemon408 (14 Октябрь 2016 - 13:24) писал:

А нельзя никак сделать без дополнительных кодов? Чтобы просто добавлять ссылку на изображение в поле описания модификации.
Здравствуйте, найдите в шаблоне Товар код
<div class="htmlDataBlock">
					  {GOODS_MOD_DESCRIPTION}
					</div>

замените на
<div class="htmlDataBlock">
					 <a href="{GOODS_MOD_DESCRIPTION}" >
<img src="{GOODS_MOD_DESCRIPTION}" />
</a>
					</div>

далее найдите в файле main.js
// Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
		 if(modificationDescription.length > 0) {
		   goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>');
		 } else {
		   goodsModDescriptionBlock.hide().html();
		 }
замените на
// Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
		 if(modificationDescription.length > 0) {
		   goodsModDescriptionBlock.show().html('<div><a href="' + modificationDescription + '" ><img src="' + modificationDescription + '"/></a></div>');
		 } else {
		   goodsModDescriptionBlock.hide().html();
		 }


#63 demon408

demon408

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

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

Отправлено 14 Октябрь 2016 - 15:36

Вот спасибо! Единственное, почему-то не работает галерея nyroModal, добавил  onclick="$(this).nyroModalManual(); return(false);" и в Товар и в main.js. Экран затемняется, но изображение не подгружается. Вот пример: http://drop-shoping....ods/Платье-7140

#64 Vaccina

Vaccina

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

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

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

Добавьте в main.css:
div#nyroModalFull div#nyroModalWrapper {
	display: block !important;
}


#65 demon408

demon408

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

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

Отправлено 15 Октябрь 2016 - 13:07

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

Добавьте в main.css:
div#nyroModalFull div#nyroModalWrapper {
display: block !important;
}

Изображение появилось, но:
  • оно где-то в правом нижнем углу
  • не закрывается без перезагрузки страницы
  • при открывании и перелистывании основных изображений они как бы дублируются на заднем фоне


#66 Ирина345

Ирина345

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

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

Отправлено 17 Октябрь 2016 - 12:42

Просмотр сообщенияdemon408 (15 Октябрь 2016 - 13:07) писал:

Изображение появилось, но:
  • оно где-то в правом нижнем углу
  • не закрывается без перезагрузки страницы
  • при открывании и перелистывании основных изображений они как бы дублируются на заднем фоне
Здравствуйте, найдите в файле main.css
div#nyroModalFull div#nyroModalWrapper {
display: block !important;
}

замените на
div#nyroModalFull div#nyroModalWrapper {
display: block !important;
width: 800px;
	height: 800px;
	margin-top: -404px;
	margin-left: -404px;
}



#67 demon408

demon408

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

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

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

Просмотр сообщенияИрина345 (17 Октябрь 2016 - 12:42) писал:

Здравствуйте, найдите в файле main.css
div#nyroModalFull div#nyroModalWrapper {
display: block !important;
}

замените на
div#nyroModalFull div#nyroModalWrapper {
display: block !important;
width: 800px;
height: 800px;
margin-top: -404px;
margin-left: -404px;
}


Ладно, пусть пока так. Поставил изображение модификации на место главного, перестали работать дополнительные изображения, они при клике на них должны становиться на место главного изображения. Насколько я помню отвечает за это код:
// Главное товарное изображение
$('.goodsDataMainImages a')
				// При наведении на маленькое изображение изменяем среднее
				.click(function(){
				 var
								// Путь к среднему изображению
								MediumImageUrl = $(this).find('img').attr('rel')
								// Объект в котором расположено среднее изображение товара
								,MainImageObj = $('div.goodsDataMainImage')
								// Главное изображение, в которое будем вставлять новое изображение
								,MainImageImg = MainImageObj.find('img')
								// Вариант главного изображения отображаемого через свойство background
								,MainImageBlockWithBg = MainImageObj.find('a div')
								// В этом объекте хранится идентификатор картинки главного изображения для коректной работы галереи изображений
								,MainImageIdObject = MainImageObj.find('input')
								// Получаем идентификатор этого изображения из соседнего input поля
								,GoodsImageIconId = $(this).parent().find('input').val()
				 ;
				 // Изменяем главное изображение
				 if(0 < MainImageImg.length) {
								MainImageImg.attr('src', MediumImageUrl);
				 } else {
								MainImageBlockWithBg.css({'background': 'url("' + MediumImageUrl + '") no-repeat center center', 'background-size' : 'contain'});
				 }
				 // Изменяем идентификатор главного изображения
				 MainImageIdObject.val(GoodsImageIconId);
return(false);
				});


#68 Ирина345

Ирина345

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

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

Отправлено 17 Октябрь 2016 - 15:56

Просмотр сообщенияdemon408 (17 Октябрь 2016 - 15:46) писал:

Ладно, пусть пока так. Поставил изображение модификации на место главного, перестали работать дополнительные изображения, они при клике на них должны становиться на место главного изображения. Насколько я помню отвечает за это код:
// Главное товарное изображение
$('.goodsDataMainImages a')
				// При наведении на маленькое изображение изменяем среднее
				.click(function(){
				 var
								// Путь к среднему изображению
								MediumImageUrl = $(this).find('img').attr('rel')
								// Объект в котором расположено среднее изображение товара
								,MainImageObj = $('div.goodsDataMainImage')
								// Главное изображение, в которое будем вставлять новое изображение
								,MainImageImg = MainImageObj.find('img')
								// Вариант главного изображения отображаемого через свойство background
								,MainImageBlockWithBg = MainImageObj.find('a div')
								// В этом объекте хранится идентификатор картинки главного изображения для коректной работы галереи изображений
								,MainImageIdObject = MainImageObj.find('input')
								// Получаем идентификатор этого изображения из соседнего input поля
								,GoodsImageIconId = $(this).parent().find('input').val()
				 ;
				 // Изменяем главное изображение
				 if(0 < MainImageImg.length) {
								MainImageImg.attr('src', MediumImageUrl);
				 } else {
								MainImageBlockWithBg.css({'background': 'url("' + MediumImageUrl + '") no-repeat center center', 'background-size' : 'contain'});
				 }
				 // Изменяем идентификатор главного изображения
				 MainImageIdObject.val(GoodsImageIconId);
return(false);
				});
Не совсем понимаю, зачем Вы выставили описание модификации в качестве главного изображения, уточните для каких целей это реализовано.

#69 demon408

demon408

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

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

Отправлено 17 Октябрь 2016 - 16:03

Просмотр сообщенияИрина345 (17 Октябрь 2016 - 15:56) писал:

Не совсем понимаю, зачем Вы выставили описание модификации в качестве главного изображения, уточните для каких целей это реализовано.
Ну как же, в этой ветке это уже обсуждалось http://forum.storela...__20#entry52966

#70 Stasya

Stasya

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

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

Отправлено 18 Октябрь 2016 - 17:34

Просмотр сообщенияdemon408 (17 Октябрь 2016 - 16:03) писал:

Ну как же, в этой ветке это уже обсуждалось http://forum.storela...__20#entry52966

Вы отменили какие-то изменения? Так как сейчас при клике по дополнительным изображениям они встают в качестве главного изображения.

#71 demon408

demon408

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

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

Отправлено 18 Октябрь 2016 - 17:45

Просмотр сообщенияStasya (18 Октябрь 2016 - 17:34) писал:

Вы отменили какие-то изменения? Так как сейчас при клике по дополнительным изображениям они встают в качестве главного изображения.
Да, я внес небольшие правки, но проблема не решена. Доп. изображения перестают становиться на главное после выбора какой-либо модификации (просто поменяйте размер, пример товара я уже давал чуть выше http://forum.storela..._60#entry250356)

#72 Stasya

Stasya

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

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

Отправлено 19 Октябрь 2016 - 11:31

Просмотр сообщенияdemon408 (18 Октябрь 2016 - 17:45) писал:

Да, я внес небольшие правки, но проблема не решена. Доп. изображения перестают становиться на главное после выбора какой-либо модификации (просто поменяйте размер, пример товара я уже давал чуть выше http://forum.storela..._60#entry250356)

В файле main.js найдите строку
goodsModDescriptionBlock.show().html('<div><a href="' + modificationDescription + '" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a></div>');
и замените ее на
goodsModDescriptionBlock.show().html('<a href="' + modificationDescription + '"  class="cloud-zoom" id="zoom1" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a><input type="hidden" value="" />');


#73 demon408

demon408

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

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

Отправлено 19 Октябрь 2016 - 13:01

Просмотр сообщенияStasya (19 Октябрь 2016 - 11:31) писал:

В файле main.js найдите строку
goodsModDescriptionBlock.show().html('<div><a href="' + modificationDescription + '" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a></div>');
и замените ее на
goodsModDescriptionBlock.show().html('<a href="' + modificationDescription + '" class="cloud-zoom" id="zoom1" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a><input type="hidden" value="" />');
Спасибо. Ну и последнее, возвращаясь к моему сообщению http://forum.storela..._60#entry250393
Выровнять то можно, но остальные два пункта не решены:
  • не закрывается без перезагрузки страницы
  • при открывании и перелистывании основных изображений они как бы дублируются на заднем фоне
Ну или можно просто вовсе убрать возможность увеличения изображений модификаций, чтобы по клику на изображение ничего не происходило.

#74 Ирина345

Ирина345

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

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

Отправлено 21 Октябрь 2016 - 11:15

Просмотр сообщенияdemon408 (19 Октябрь 2016 - 13:01) писал:

Спасибо. Ну и последнее, возвращаясь к моему сообщению http://forum.storela..._60#entry250393
Выровнять то можно, но остальные два пункта не решены:
  • не закрывается без перезагрузки страницы
  • при открывании и перелистывании основных изображений они как бы дублируются на заднем фоне
Ну или можно просто вовсе убрать возможность увеличения изображений модификаций, чтобы по клику на изображение ничего не происходило.
Здравствуйте, найдите в файле main.css

 // Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
				 if(modificationDescription.length > 0) {
				   goodsModDescriptionBlock.show().html('<a href="' + modificationDescription + '" class="cloud-zoom" id="zoom1" onclick="$(this).nyroModalManual(); return(false);" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a><input type="hidden" value="" />');
				 } else {
				   goodsModDescriptionBlock.hide().html();
				 }   

замените на


// Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
				 if(modificationDescription.length > 0) {
				   goodsModDescriptionBlock.show().html('<img src="' + modificationDescription + '" style="max-width:205px;max-height:460px;"/>');
				 } else {
				   goodsModDescriptionBlock.hide().html();
				 }   



далее найдите в шаблоне Товар код
   <!-- Большое изображение -->
				{% IF GOODS_MOD_DESCRIPTION %}
				<div class="goodsDataMainImage goodsDataMainModificationsDescriptionBlock">

<a href="{GOODS_MOD_DESCRIPTION}">
<img src="{GOODS_MOD_DESCRIPTION}" style="display:none;"/>
</a>
<!-- Идентификатор изображения товара, используется для галереи изображений -->
				  <input type="hidden" value="{GOODS_IMAGE_ID}" />
{%ELSE%}{% ENDIF %}

{% IFNOT GOODS_MOD_DESCRIPTION %}
<div class="goodsDataMainImage">
{%ELSE%}{% ENDIF %}
				
					 {% IF GOODS_IMAGE_EMPTY %}
					<img src="{ASSETS_IMAGES_PATH}no-photo-medium.png" alt="{GOODS_NAME}" title="Увеличить {GOODS_NAME}" />
				  {% ELSE %}			  
				   <a href="{GOODS_IMAGE_LARGE}" class="cloud-zoom" id='zoom1' title="" rel="position: 'inside', adjustX: -3, adjustY: -3, zoomWidth:455, zoomHeight:455,">
					<img class="goods-image-medium " src="{GOODS_IMAGE_MEDIUM}" alt="{GOODS_NAME}"/>
					</a>
замените на
  <!-- Большое изображение -->
				<input type="hidden" value="{GOODS_IMAGE_ID}" />


<div class="goodsDataMainImage">

				
					 {% IF GOODS_IMAGE_EMPTY %}
					<img src="{ASSETS_IMAGES_PATH}no-photo-medium.png" alt="{GOODS_NAME}" title="Увеличить {GOODS_NAME}" />
				  {% ELSE %}			  
				   <a href="{GOODS_IMAGE_LARGE}" class="cloud-zoom" id='zoom1' title="" rel="position: 'inside', adjustX: -3, adjustY: -3, zoomWidth:455, zoomHeight:455,">
					<img class="goods-image-medium " src="{GOODS_IMAGE_MEDIUM}" alt="{GOODS_NAME}"/>
					</a>


далее найдите
<!-- Блок описания модификации -->
					<!--<tr>
					  <td class="goodsDataMainModificationsDescriptionBlock" {% IFNOT GOODS_MOD_DESCRIPTION %}style="display:none;"{% ENDIF %}>
						<div class="htmlDataBlock">
<img src="{GOODS_MOD_DESCRIPTION}" style="width:460px;"/>
										</div>
					  </td>
					</tr>-->
замените на
<!-- Блок описания модификации -->
					<tr>
					  <td class="goodsDataMainModificationsDescriptionBlock" {% IFNOT GOODS_MOD_DESCRIPTION %}style="display:none;"{% ENDIF %}>
						<div class="htmlDataBlock">
<img src="{GOODS_MOD_DESCRIPTION}" style="max-width:205px;max-height:460px;"/>
										</div>
					  </td>
					</tr>


#75 demon408

demon408

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

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

Отправлено 22 Октябрь 2016 - 14:16

К сожалению, это все не то. Вы предлагаете мне откатить все назад и вернуть изображение модификации на первоначальное место. Я в своем предыдущем сообщении писал о другом.

#76 Stasya

Stasya

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

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

Отправлено 25 Октябрь 2016 - 01:40

Просмотр сообщенияdemon408 (22 Октябрь 2016 - 14:16) писал:

К сожалению, это все не то. Вы предлагаете мне откатить все назад и вернуть изображение модификации на первоначальное место. Я в своем предыдущем сообщении писал о другом.

В файле main.js найдите блок
 
  // Увеличение изображение при клике на него и открытие галереи изображений
/* $('.goodsDataMainImage a').click(function(){
	   
		// Идентификатор главной картинки
	var goodsImageId = $('.goodsDataMainImage input').val(),
	   
		// Маленькое изображение, по которому на самом деле будем кликать
		goodsImageIconElement = $('.goodsDataMainImages input[value="'+goodsImageId+'"]').parent().find('a');
	// Для иконки изображения запустим галерею 
	goodsImageIconElement.nyroModalManual();
	return false;
  });*/
и удалите его.
Далее в шаблоне Товар найдите строку
goodsModDescriptionBlock.show().html('<a href="' + modificationDescription + '" class="cloud-zoom" id="zoom1" onclick="$(this).nyroModalManual(); return(false);" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a><input type="hidden" value="" />');
и замените ее на
goodsModDescriptionBlock.show().html('<a href="' + modificationDescription + '" class="cloud-zoom" id="zoom1" onclick="return(false);" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a><input type="hidden" value="" />');


#77 demon408

demon408

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

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

Отправлено 25 Октябрь 2016 - 10:43

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

#78 Ирина345

Ирина345

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

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

Отправлено 25 Октябрь 2016 - 12:52

Просмотр сообщенияdemon408 (25 Октябрь 2016 - 10:43) писал:

Не совсем то. Изображение не открывается, но затемняется экран, можно это убрать? чтоб по клику на изображение ничего не было
Здравствуйте, найдите в шаблоне Товар код
<!--<tr>
					  <td class="goodsDataMainModificationsDescriptionBlock" {% IFNOT GOODS_MOD_DESCRIPTION %}style="display:none;"{% ENDIF %}>
						<div class="htmlDataBlock">
<img src="{GOODS_MOD_DESCRIPTION}" style="width:460px;"/>
										</div>
					  </td>
					</tr>-->
замените на
<tr>
					  <td class="goodsDataMainModificationsDescriptionBlock" {% IFNOT GOODS_MOD_DESCRIPTION %}style="display:none;"{% ENDIF %}>
						<div class="htmlDataBlock">

<img src="{GOODS_MOD_DESCRIPTION}" style="width:200px;"/>
										</div>
					  </td>
					</tr>

далее найдите в файле main.js

  
 goodsModDescriptionBlock.show().html('<a href="' + modificationDescription + '" class="cloud-zoom" id="zoom1" onclick="return(false);" ><img src="' + modificationDescription + '" style="max-width:460px;max-height:460px;"/></a><input type="hidden" value="" />');

замените на
goodsModDescriptionBlock.show().html('<img src="' + modificationDescription + '" style="max-width:200px;max-height:200px;"/>');


#79 demon408

demon408

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

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

Отправлено 26 Октябрь 2016 - 00:32

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

#80 Ирина345

Ирина345

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

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

Отправлено 26 Октябрь 2016 - 16:04

Просмотр сообщенияdemon408 (26 Октябрь 2016 - 00:32) писал:

Ирина, спасибо за помощь, но я уже писал, что мне этот вариант не подходит. Изображение модификации должно остаться там же, на месте главного, и оно не должно открываться по клику на него.
Здравствуйте, найдите в файле main.js
var goodsImageIconElement = $('.goodsDataMainImages input[value="'+goodsImageId+'"]').parent().find('a');
		// Для иконки изображения запустим галерею
		goodsImageIconElement.nyroModalManual();
		return false;
замените на
var goodsImageIconElement = $('.goodsDataMainImages input[value="'+goodsImageId+'"]').parent().find('a');
		// Для иконки изображения запустим галерею
		//goodsImageIconElement.nyroModalManual();
		return false;





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

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