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


Не Работают Модификации

дизайн

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

#1 stroy-bloks

stroy-bloks

    Пользователь

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

Отправлено 05 Февраль 2013 - 19:10

Доброго времени суток! Есть проблема. Возникла после изменения дизайна. В идеале при изменениии модификации "упаковка" должна изменяться цена. Сейчас этого не происходит.

Вопрос к продвинутым специалистам в js: в чем ошибка и как ее исправить?

Страница: http://stroy-bloks.r...atnyj-Navashino

#2 Vaccina

Vaccina

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

  • Модераторы
  • 23 588 сообщений

Отправлено 06 Февраль 2013 - 07:41

В данном случае вероятно происходит конфликт. Вам необходимо удалить лишние библиотеки из шаблона "HTML".

<script type="text/javascript" src="/web/upload/assets/js/20/19364/jquery.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/prototype.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/validation.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/builder.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/slider.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/js.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/script.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/menu.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/jquery.easing.1.3.min.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/jquery.slider.js"></script>
<script type="text/javascript" src="/web/upload/assets/js/20/19364/efects.js"></script>

jquery.js, jquery.easing.1.3.min.js, efects.js, prototype.js и его зависимости, и использовать только jquery фреймворк

Так же вам необходимо из шаблона "HTML" удалить

jQuery('a.lightbox').lightBox({
		imageLoading	: 'http://jbi-m.storeland.ru/web/upload/assets/images/152/151385/lightbox-ico-loading.gif',
		imageBtnClose   : 'http://jbi-m.storeland.ru/web/upload/assets/images/152/151385/lightbox-btn-close.gif',
		imageBtnNext	: 'http://jbi-m.storeland.ru/web/upload/assets/images/152/151385/lightbox-btn-next.gif',
		imageBtnPrev	: 'http://jbi-m.storeland.ru/web/upload/assets/images/152/151385/lightbox-btn-prev.gif',
		imageBlank	  : 'http://jbi-m.storeland.ru/web/upload/assets/images/152/151385/lightbox-blank.gif',
		fixedNavigation : true
	});	   

или подключить соответствующую библиотеку lightBox

#3 stroy-bloks

stroy-bloks

    Пользователь

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

Отправлено 07 Февраль 2013 - 16:01

За lightbox спасибо! А по остальным скриптам, то каждый за что-то отвечает: если убрать, то либо меню, либо табличка с описаниями выводятся "криво". Я грешу на то, что неправильно изменил <form action="{CART_ADD_GOODS_MODIFICATION_URL}" method="post" class="goodsDataForm cont700 hiden">.

Кстати, только что пользователь пожаловался, что в Опере не работает кнопка Оформить заказ. Не взглянете?...

#4 stroy-bloks

stroy-bloks

    Пользователь

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

Отправлено 07 Февраль 2013 - 17:12

Даже полный снос указанных скриптов не устраняет проблему...

#5 Vaccina

Vaccina

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

  • Модераторы
  • 23 588 сообщений

Отправлено 07 Февраль 2013 - 23:58

Проблему выявить проблематично, так как присутствует много изменений, и javasript кода который может влиять на данное поведение. У вас так же ко всему изменен обязательный блок goodsDataMainModificationPriceNow через который обновляется цена. В шаблоне "Товар" у вас есть строка вида

<span id="product-price-362" class="regular-price">

где 362 вероятно ID товара. По умолчанию данная строка должна иметь вид

<span class="goodsDataMainModificationPriceNow" title="Цена сейчас" itemprop="price" content="1000">

где 1000 это цена товара. Возможно проблема кроется именно в этом, так как у вас в main.js остались обращения по стандартным классам

goodsModificationId		   = $('.goodsDataMainModificationId'),
		  goodsPriceNow				 = $('.goodsDataMainModificationPriceNow'),
		  goodsPriceOld				 = $('.goodsDataMainModificationPriceOld'),
		  goodsAvailable				= $('.goodsDataMainModificationAvailable'),


#6 stroy-bloks

stroy-bloks

    Пользователь

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

Отправлено 08 Февраль 2013 - 08:24

Подставил
<span class="goodsDataMainModificationPriceNow" title="Цена сейчас" itemprop="price" content="1000">
- не помогло...

#7 Vaccina

Vaccina

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

  • Модераторы
  • 23 588 сообщений

Отправлено 09 Февраль 2013 - 01:38

У вас на данный момент все так же присутствует старое поле

<span id="product-price-362" class="regular-price">

Изменить только данный класс не достаточно, необходимо избавиться и от javascript ошибок на вашем сайте, об этом я вам писала выше.

#8 stroy-bloks

stroy-bloks

    Пользователь

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

Отправлено 13 Февраль 2013 - 06:56

Просмотр сообщенияVaccina (09 Февраль 2013 - 01:38) писал:

У вас на данный момент все так же присутствует старое поле

<span id="product-price-362" class="regular-price">

Изменить только данный класс не достаточно, необходимо избавиться и от javascript ошибок на вашем сайте, об этом я вам писала выше.


#9 fredshka

fredshka

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

  • Пользователи
  • PipPipPipPip
  • 241 сообщений
  • ГородМосква

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

Привет всем) Модераторы - вы очень умные, я завидую)) прошу помощи - на сайте haogang.storeland.ru - у товара не работает модификация (нельзя выбрать другой цвет или размер и тд), пару часов назад все было гуд! Подскажите пожалуйста в чем дело? Как исправить...?

#10 Сake

Сake

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

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

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

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

#11 logist

logist

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
  • ГородСанкт-Петербург

Отправлено 11 Апрель 2013 - 10:53

И у меня какая-то проблема с модификациями.
Суть в следующем - если у товара имеются модификации (в конкретном случае это цвет товара), то почему-то при нулевом текущем запасе по товару черного цвета, у товаров других цветов (оранж и белый), которые в наличии есть, отсутствует кнопка "Купить". Раньше я такого не замечал. Можно как-то исправить?
Вот конкретный пример с цветами. Черного нет в наличии, оранж и белый в наличии есть, но у всех трёх модификаций отсутствует кнопка "Купить".
http://sportage-up.r.../Zadnij-spojler

Вот второй такой же пример, тут модицикации по году выпуска:
http://sportage-up.r...ntaktnoje-kolco

#12 Koderhan

Koderhan

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

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

Отправлено 11 Апрель 2013 - 11:58

Просмотр сообщенияlogist (11 Апрель 2013 - 10:53) писал:

И у меня какая-то проблема с модификациями.
Суть в следующем - если у товара имеются модификации (в конкретном случае это цвет товара), то почему-то при нулевом текущем запасе по товару черного цвета, у товаров других цветов (оранж и белый), которые в наличии есть, отсутствует кнопка "Купить". Раньше я такого не замечал. Можно как-то исправить?
Вот конкретный пример с цветами. Черного нет в наличии, оранж и белый в наличии есть, но у всех трёх модификаций отсутствует кнопка "Купить".
http://sportage-up.r.../Zadnij-spojler

Вот второй такой же пример, тут модицикации по году выпуска:
http://sportage-up.r...ntaktnoje-kolco

Панель администратора, "Сайт"->"Редактор тем".
В файле "main.js".
Найти код:

var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties),
		  modificationBlock			 = goodsDataModifications.filter('[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');
Заменить:
	  var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties),
		  submitButtonBlock			 = $('li.goodsPageSubmitButtonBlock:eq(0)'),
		  modificationBlock			 = goodsDataModifications.filter('[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');


#13 logist

logist

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
  • ГородСанкт-Петербург

Отправлено 11 Апрель 2013 - 14:00

Сделал. Не помогло. Всё по-прежнему. Кнопки "Купить" как не было так и нет.  Сделал по-другому.





Темы с аналогичным тегами дизайн

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

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