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


Проблема С Отображением


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

#1 achempion

achempion

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

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

Отправлено 21 Январь 2011 - 22:31

Здравствуйте, после изменения отображения католога по инструкции в этой теме перестали отображаться параметры отображения Изображение - отобразить как Таблица / Список
Вот сылка на магазин: "Удалена"

заранее спасибо за ответ

#2 support

support

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

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

Отправлено 22 Январь 2011 - 00:54

Просмотр сообщенияachempion (21 Январь 2011 - 22:31) писал:

Здравствуйте, после изменения отображения католога по инструкции в этой теме перестали отображаться параметры отображения Изображение - отобразить как Таблица / Список
Вот сылка на магазин: "Удалена"

заранее спасибо за ответ
Мы недавно ввели этот код, с отображением в виде таблицы. Для того чтобы остался старый код и сработал из указанной темы, чтобы на странице каталога товаров отобразились категории вместо товаров, вставьте в файл шаблона "Товары" следующий код вместо текущего:

<div class="page-headline">
<h1>{CATEGORY_NAME}</h1>
</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 Строка пути -->

{% 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="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;"><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="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;">{nested_categories_list.NAME}</a>
</li>
{% ENDFOR %}
</ul>
<br clear="all"/>
{% ELSE %}

<!-- Короткое 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">
<!-- Переключатель режима просмотра -->
{% IF GOODS_VIEW_TYPE=2 %}
<strong title="Список товаров сейчас отображается в виде таблицы, по 2 товара на строку">Таблица</strong>&nbsp;
<a href="?goods_view_type=1" title="Отображать список товаров в виде списка">Список</a>
{% ELSE %}
<a href="?goods_view_type=2" title="Отображать список товаров в виде таблицы с 2мя товарами на одну строку">Таблица</a>&nbsp;
<strong title="Список товаров сейчас отображается в виде списка, где один товар занимает одну строку">Список</strong>
{% ENDIF %}
<!-- /Переключатель режима просмотра -->
</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="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;"><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="Перейти к категории &laquo;{nested_categories_list.NAME}&raquo;">{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">
<div class="imagem"><a href="{goods.URL}"><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></div>

<div class="contm">
<h3><a href="{goods.URL}">{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_OLD>goods.MIN_PRICE_NOW %}
Старая цена: <a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a>
{% ENDIF %}
</p>
<p>
<a class="readmore" title="{goods.NAME}" href="{goods.URL}">Подробнее</a>
</p>
</div>
<div class="clr"></div>
</div>
{% ENDFOR goods %}
<!-- /Список товаров. Список -->
{% ELSE %}
<!-- Список товаров. Таблица -->
<table>
{% FOR goods %}
<td class="goodsListItem">
<div class="goodsListItemBlock withBorder cornerAll">
<table class="goodsListItemImage">
<tr>
<td>
<a href="{goods.URL}"><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}">{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_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>
{goods.index | is_divided("3","</tr><tr>","")}
{% ENDFOR goods %}
</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>
{CATEGORY_DESCRIPTION}
</div>
{% ENDIF %}

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

</div>


#3 shreg1

shreg1

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

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

Отправлено 10 Февраль 2011 - 17:27

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

#4 support

support

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

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

Отправлено 11 Февраль 2011 - 19:22

Для этого достаточно добавить код через редактор тем ("Сайт" -> "Редактор тем") в шаблоне "Товар" либо заменив текстовое отображение наличия:
<!-- Доступность товара --> 
<div class="goodsDataMainModificationAvailable" style="font-size:0.9em;line-height:2.5em;">
  <div rel="true" class="available-true" {% IF GOODS_MOD_REST_VALUE=0 %}style="display:none;"{% ENDIF %}>Товар есть в наличии</div>
  <div rel="false" class="available-false" {% IF GOODS_MOD_REST_VALUE>0 %}style="display:none;"{% ENDIF %}>Товара нет в наличии</div>
</div>

Либо просто дописав после этого блока следующий код:
<!-- Доступность товара --> 
<div class="goodsDataMainModificationAvailableValue" style="font-size:0.9em;line-height:2em;">
  В наличии <span class="available-value">{GOODS_MOD_REST_VALUE}</span> <span class="goodsDataMainModificationMeasureText">{GOODS_MOD_MEASURE_NAME}</span>
</div>

После этого откройте файл main.js и вместо старой функции:
// Изменение цены товара при изменении у товара свойства для модификации
  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('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
	   }
	});
  });


Вставьте следующую:
// Изменение цены товара при изменении у товара свойства для модификации
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'),
		goodsAvailableValue		   = $('.goodsDataMainModificationAvailableValue .available-value'),
		goodsMeasureText			  = $('.goodsDataMainModificationMeasureText'),
		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();
	   }
	   
	   // Обновление количества товара в наличии
	   goodsAvailableValue.html(modificationRestValue);
	   
	   // Если товар есть в списке сравнения
	   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('');
	   }

	   // Изменяем единицу измерения модификации
	   goodsMeasureText.html(modificationMeasureName);
	   
	   // Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
	   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('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
	 }
  });
});

Собственно здесь я лишь добавил поиск блока с количеством товара:
goodsAvailableValue		   = $('.goodsDataMainModificationAvailableValue .available-value'),

Изменение числа остатка товара на складе при изменении модификации:
// Обновление количества товара в наличии
goodsAvailableValue.html(modificationRestValue);

Определение текста единицы измерения модификации:
goodsMeasureText			  = $('.goodsDataMainModificationMeasureText'),

И его изменение на то которое стоит у модификации:
// Изменяем единицу измерения модификации
goodsMeasureText.html(modificationMeasureName);

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

measure_and_nb_modification.jpg

#5 velena168

velena168

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

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

Отправлено 09 Июль 2011 - 14:15

А, обязательно прописывать  файл main.js ? Я не прописывала его, а только добавила код через редактор тем ("Сайт" -> "Редактор тем") в шаблоне "Товар" и все получилось нормально. Может все-таки нужно было прописывать  файл main.js ? Но для меня это сложнее.

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

Сообщение отредактировал velena168: 25 Июль 2011 - 11:33


#6 support

support

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

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

Отправлено 11 Июль 2011 - 18:48

Просмотр сообщенияvelena168 (09 Июль 2011 - 14:15) писал:

А, обязательно прописывать  файл main.js ? Я не прописывала его, а только добавила код через редактор тем ("Сайт" -> "Редактор тем") в шаблоне "Товар" и все получилось нормально. Может все-таки нужно было прописывать  файл main.js ? Но для меня это сложнее.
В принципе это метод отделения мух от котлет, чтобы в одном файле была одна информация а в другом другая, просто для удобства работы. Ваш метод несомненно будет работать не хуже.

#7 velena168

velena168

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

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

Отправлено 25 Июль 2011 - 12:13

Просмотр сообщенияsupport (11 Июль 2011 - 18:48) писал:

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

Если у товара одна модификация, то все нормально, а если несколько, то при отсутствии товара, кнопка "купить" не изменяется на "уведомить".

#8 support

support

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

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

Отправлено 25 Июль 2011 - 13:05

Просмотр сообщенияvelena168 (25 Июль 2011 - 12:13) писал:

Какой код куда-нибудь дописать, что-бы при нескольких модификациях и кнопка "купить" или "уведомить" отображалась правильно?


Если у товара одна модификация, то все нормально, а если несколько, то при отсутствии товара, кнопка "купить" не изменяется на "уведомить".
На вашем сайте используется стандартная логика для случая есть в наличии или нет:
// Есть ли товар есть в наличии
if(modificationRestValue>0) {
goodsAvailableTrue.show();
goodsAvailableFalse.hide();
// Если товара нет в наличии
} else {
goodsAvailableTrue.hide();
goodsAvailableFalse.show();
}

Собственно для того чтобы менялась кнопка, требуется дописать здесь простую логику:
// Есть ли товар есть в наличии
if(modificationRestValue>0) {
goodsAvailableTrue.show();
goodsAvailableFalse.hide();
$('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');
// Если товара нет в наличии
} else {
goodsAvailableTrue.hide();
goodsAvailableFalse.show();
$('.goodsDataFormSubmitButton input:submit').val('Уведомить меня');
}
В этом ответе было полное описание установки кнопки уведомления о наличии:
http://forum.storela...ndpost__p__1601

#9 velena168

velena168

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

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

Отправлено 25 Июль 2011 - 14:00

Просмотр сообщенияsupport (25 Июль 2011 - 13:05) писал:

На вашем сайте используется стандартная логика для случая есть в наличии или нет:
	   // Есть ли товар есть в наличии
	   if(modificationRestValue>0) {
		 goodsAvailableTrue.show();
		 goodsAvailableFalse.hide();
	   // Если товара нет в наличии
	   } else {
		 goodsAvailableTrue.hide();
		 goodsAvailableFalse.show();
	   }

Собственно для того чтобы менялась кнопка, требуется дописать здесь простую логику:
// Есть ли товар есть в наличии
if(modificationRestValue>0) {
  goodsAvailableTrue.show();
  goodsAvailableFalse.hide();
  $('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');
// Если товара нет в наличии
} else {
  goodsAvailableTrue.hide();
  goodsAvailableFalse.show();
  $('.goodsDataFormSubmitButton input:submit').val('Уведомить меня');
}
В этом ответе было полное описание установки кнопки уведомления о наличии:
http://forum.storela...ndpost__p__1601

У меня кнопка о наличии товара прекрасно отображается у товара с одной модификацией, а если их несколько - кол-во товара, отображается неверно.
А после того как дописала логику, кнопка в "корзину" и "уведомить" стали работать нормально, зато кнопка о наличии товара, при выборе модификации опять неправильно работает.
Какая-то у них несовместимость. Совсем запуталась с кодами

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

  • 4.png


#10 velena168

velena168

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

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

Отправлено 25 Июль 2011 - 17:42

Просмотр сообщенияvelena168 (25 Июль 2011 - 14:00) писал:

У меня кнопка о наличии товара прекрасно отображается у товара с одной модификацией, а если их несколько - кол-во товара, отображается неверно.
А после того как дописала логику, кнопка в "корзину" и "уведомить" стали работать нормально, зато кнопка о наличии товара, при выборе модификации опять неправильно работает.
Какая-то у них несовместимость. Совсем запуталась с кодами
Весь день промучилась, так ничего и не получилось.

#11 Vaccina

Vaccina

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

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

Отправлено 25 Июль 2011 - 22:21

Хм. странно - у вас на изображении есть надпись "Товара нет в наличии" и в то же время ниже "В наличии 4 шт."
Скрипт предложенный выше отталкивается от переменной которая выводит "Товара нет в наличии".

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

#12 velena168

velena168

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

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

Отправлено 26 Июль 2011 - 10:09

Просмотр сообщенияVaccina (25 Июль 2011 - 22:21) писал:

Хм. странно - у вас на изображении есть надпись "Товара нет в наличии" и в то же время ниже "В наличии 4 шт."
Скрипт предложенный выше отталкивается от переменной которая выводит "Товара нет в наличии".

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

Такой дефект происходит со всеми товарами, у к-рых несколько модификаций с разным к-вом товара

Кол-во товара разное, а отображается только какое-нибудь одно для всех модификаций

Не знаю, как здесь убрать ссылку...

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

  • 11.png
  • 12.png


#13 Vaccina

Vaccina

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

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

Отправлено 26 Июль 2011 - 20:21

Хм. думаю что все дело в том что у вас не проделаны все изменения по данной модификации.
В данном случае у вас отсутствуют изменения в файле main.js описаные в после выше http://forum.storela...ndpost__p__1460

#14 velena168

velena168

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

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

Отправлено 26 Июль 2011 - 20:42

Просмотр сообщенияVaccina (26 Июль 2011 - 20:21) писал:

Хм. думаю что все дело в том что у вас не проделаны все изменения по данной модификации.
В данном случае у вас отсутствуют изменения в файле main.js описаные в после выше http://forum.storela...ndpost__p__1460
Я эти коды гоняю туда-сюда, то неправильно отображается кол-во в наличии, теперь кол-во нормально, зато при 0 кол-ве товара вместо кнопки уведомить - в корзину. Опять же, повторяю, только, если у товара несколько модификаций.

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

  • 3.png
  • 1.png


#15 velena168

velena168

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

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

Отправлено 27 Июль 2011 - 12:11

Просмотр сообщенияvelena168 (26 Июль 2011 - 20:42) писал:

Я эти коды гоняю туда-сюда, то неправильно отображается кол-во в наличии, теперь кол-во нормально, зато при 0 кол-ве товара вместо кнопки уведомить - в корзину. Опять же, повторяю, только, если у товара несколько модификаций.
Так проблемма и не решена.

#16 Vaccina

Vaccina

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

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

Отправлено 27 Июль 2011 - 22:36

Хм. попробуйте заменить в main.js

// Есть ли товар есть в наличии
	   if(modificationRestValue>0) {
		 goodsAvailableTrue.show();
		 goodsAvailableFalse.hide();
	   // Если товара нет в наличии
	   } else {
		 goodsAvailableTrue.hide();
		 goodsAvailableFalse.show();
	   }

на

// Есть ли товар есть в наличии
if(modificationRestValue>0) {
  goodsAvailableTrue.show();
  goodsAvailableFalse.hide();
  $('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');
// Если товара нет в наличии
} else {
  goodsAvailableTrue.hide();
  goodsAvailableFalse.show();
  $('.goodsDataFormSubmitButton input:submit').val('Уведомить меня');
}

и больше ничего не меняя.

#17 velena168

velena168

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

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

Отправлено 27 Июль 2011 - 22:46

Просмотр сообщенияVaccina (27 Июль 2011 - 22:36) писал:

Хм. попробуйте заменить в main.js

// Есть ли товар есть в наличии
	   if(modificationRestValue>0) {
		 goodsAvailableTrue.show();
		 goodsAvailableFalse.hide();
	   // Если товара нет в наличии
	   } else {
		 goodsAvailableTrue.hide();
		 goodsAvailableFalse.show();
	   }

на

// Есть ли товар есть в наличии
if(modificationRestValue>0) {
  goodsAvailableTrue.show();
  goodsAvailableFalse.hide();
  $('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');
// Если товара нет в наличии
} else {
  goodsAvailableTrue.hide();
  goodsAvailableFalse.show();
  $('.goodsDataFormSubmitButton input:submit').val('Уведомить меня');
}

и больше ничего не меняя.

Увы, не помогло.

#18 Vaccina

Vaccina

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

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

Отправлено 28 Июль 2011 - 22:51

Попробуйте изменить строку

$('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');

на

$('.goodsDataFormSubmitButton .more-link.submit').html('Положить в корзину');

а строку  

$('.goodsDataFormSubmitButton input:submit').val('Уведомить меня');

изменить на

$('.goodsDataFormSubmitButton a.more-link.submit').html('Уведомить меня');

Думаю что все дело в том что код

$('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');

предназначался ели бы у вас была в качестве кнопки - сама кнопка submit, а у вас вместо её имеется ссылка. и поэтому метод функции .val тут не подходит

#19 velena168

velena168

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

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

Отправлено 29 Июль 2011 - 09:07

Просмотр сообщенияVaccina (28 Июль 2011 - 22:51) писал:

Попробуйте изменить строку

$('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');

на

$('.goodsDataFormSubmitButton .more-link.submit').html('Положить в корзину');

а строку  

$('.goodsDataFormSubmitButton input:submit').val('Уведомить меня');

изменить на

$('.goodsDataFormSubmitButton a.more-link.submit').html('Уведомить меня');

Думаю что все дело в том что код

$('.goodsDataFormSubmitButton input:submit').val('Положить в корзину');

предназначался ели бы у вас была в качестве кнопки - сама кнопка submit, а у вас вместо её имеется ссылка. и поэтому метод функции .val тут не подходит

Ничего, к сожалению, не изменилось.

#20 Vaccina

Vaccina

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

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

Отправлено 29 Июль 2011 - 20:18

Хм. вроде если посмотреть "Ссылка на сайт удалена"

то как бы все работает.




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

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