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


Публикации Юля123

1000 публикаций создано Юля123 (учитываются публикации только с 25-Сентябрь 23)



#218761 Коррекция Страницы Товара

Отправлено от Юля123 в 01 Декабрь 2015 - 13:21 в Страница товара

Просмотр сообщенияCybernetic (01 Декабрь 2015 - 12:18) писал:

Юля123 спасибо Вам большое. Всё замечательно. Можно немного дизайн подредактировать.

Необходимо:
1) Возможность изменить шрифт у кнопок (где это делается)
2) Подогнать к блоки по длине (на рис)
3) Сделать жирный шрифт только у кнопки купить у остальных кнопок без жирного шрифта.


Вы хотите у всех кнопок поменять шрифт? Или только у измененных?


А пока исправьте пожалуйста вот этот код в main.css
/* Кнопки */
a.button, input.button, button.button, a.paymentFormSubmitLink,input.button_cart_product,.goodsDataForm .cart .qty-plus, .goodsDataForm .cart .qty-minus, div#callme a p span, div#cheaper a p span, .paymentFormTbodySubmitButton  li a {margin:0 3px 0 0;
   border: 1px solid #0a3c59;
   background: #3e779d;
   background: -webkit-gradient(linear, left top, left bottom, from(#9BAAD3), to(#FFFFFF));
   background: -webkit-linear-gradient(top, #9BAAD3, #FFFFFF);
   background: -moz-linear-gradient(top, #9BAAD3, #FFFFFF);
   background: -ms-linear-gradient(top, #9BAAD3, #FFFFFF);
   background: -o-linear-gradient(top, #9BAAD3, #FFFFFF);
   background-image: -ms-linear-gradient(top, #9BAAD3 0%, #5066A2 100%);
   padding: 6px 14px;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
   -webkit-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   -moz-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   text-shadow: #7ea4bd 0 1px 0;
   color: #06426c;
   font-size: 15px;
   font-family: helvetica, serif;
   text-decoration: none;
   vertical-align: middle;
   }

на код:

a.button, input.button, button.button, a.paymentFormSubmitLink,input.button_cart_product,.goodsDataForm .cart .qty-plus, .goodsDataForm .cart .qty-minus, div#callme a p span, div#cheaper a p span, .paymentFormTbodySubmitButton  li a {margin:0 3px 0 0;
   border: 1px solid #0a3c59;
   background: #3e779d;
   background: -webkit-gradient(linear, left top, left bottom, from(#9BAAD3), to(#FFFFFF));
   background: -webkit-linear-gradient(top, #9BAAD3, #FFFFFF);
   background: -moz-linear-gradient(top, #9BAAD3, #FFFFFF);
   background: -ms-linear-gradient(top, #9BAAD3, #FFFFFF);
   background: -o-linear-gradient(top, #9BAAD3, #FFFFFF);
   background-image: -ms-linear-gradient(top, #9BAAD3 0%, #5066A2 100%);
   padding: 6px 14px;
   -webkit-border-radius: 6px;
   -moz-border-radius: 6px;
   border-radius: 6px;
   -webkit-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   -moz-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   text-shadow: #7ea4bd 0 1px 0;
   color: #06426c;
   font-size: 15px;
   font-family: helvetica serif;
   text-decoration: none;
   vertical-align: middle;
   }


В название семейства шрифтов была допущена ошибка, сейчас у Вас должен измениться шрифт с Arial на Helvetica.

2,3) конце main.css добавьте код:

div#callme a p span {
	padding: 6px 23px !important;
	font-weight: normal;
}
div#cheaper a p span {
	padding: 6px 29px;
}
div#callme a {
	text-decoration:none;
}

div#cheaper {
	width: 74%;
}

input#button-cart {
	font-weight: bold;
}




#231421 Коррекция Страницы Товара

Отправлено от Юля123 в 22 Март 2016 - 11:48 в Страница товара

Просмотр сообщенияCybernetic (22 Март 2016 - 11:41) писал:

Я не могу найти код в main.css который вы поисали(

Код:

  .product-info .price {
overflow: auto;
border-bottom: 1px solid #E7E7E7;
font-size: 24px;
color: #333333;
}

начинается  на строке 878



#220951 Коррекция Страницы Товара

Отправлено от Юля123 в 21 Декабрь 2015 - 11:07 в Страница товара

Просмотр сообщенияRetina (21 Декабрь 2015 - 00:15) писал:

Здравствуйте.
Помогите уменьшить высоту(фото)
Слева как есть сейчас, справа как хотелось.

Спасибо.


Здравствуйте.

В main.css найдите код:

div.plus_minus_quantity {margin:5px 0 10px; display:none;}

и замените на код:

div.plus_minus_quantity {margin:5px 0; display:none;}

далее там же найдите код:

.prod_hold > div .prod-info-fly, .prod_hold_recent > div .prod-info-fly {background:#ffffff;text-align:center;min-height: 100px;opacity: 0; padding: 20px 5px;position: absolute;left: 0;bottom: -252px;width: 210px;display: none;}

и замените на код:

.prod_hold > div .prod-info-fly, .prod_hold_recent > div .prod-info-fly {background:#ffffff;text-align:center;min-height: 100px;opacity: 0; padding: 2px 5px;position: absolute;left: 0;bottom: -252px;width: 210px;display: none;}


а так же код:

.prod_hold .prod-info-fly .price, .prod_hold_recent .prod-info-fly .price {margin-bottom: 15px;}

замените на код:

.prod_hold .prod-info-fly .price, .prod_hold_recent .prod-info-fly .price {margin-bottom: 10px;}



#238318 Коррекция Страницы Товара

Отправлено от Юля123 в 25 Май 2016 - 13:50 в Страница товара

Просмотр сообщенияCybernetic (25 Май 2016 - 11:06) писал:

Тестировал отображение и на мобильном тоже (сам настройки делал, но коряво получилось). Шрифт устраивает, если будут пробелы тоже всё будет нормальною

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

Нужно исправлять отображение фурета и хедера?



#218769 Коррекция Страницы Товара

Отправлено от Юля123 в 01 Декабрь 2015 - 14:30 в Страница товара

Просмотр сообщенияCybernetic (01 Декабрь 2015 - 13:47) писал:

Изменения в коде произвел.

>Вы хотите у всех кнопок поменять шрифт? Или только у измененных?
У измененных.


Тогда в коде в main.css Найдите код:

input#button-cart {
font-weight: bold;
}

замените на код:
input#button-cart {
font-weight: bold;
font-family: "название шрифта";
}

Так же и для следующих:
div#cheaper a p span {
padding: 6px 29px;
}
замените на код:
div#cheaper a p span {
padding: 6px 29px;
font-family: "название шрифта";
}


и для

div#callme a p span {
padding: 6px 23px !important;
font-weight: normal;
}

замените на

div#callme a p span {
padding: 6px 23px !important;
font-weight: normal;
font-family: "название шрифта";
}



Для каждого пропишите вместо "название шрифта" тот шрифт, что требуется.



#219009 Коррекция Страницы Товара

Отправлено от Юля123 в 03 Декабрь 2015 - 11:22 в Страница товара

Просмотр сообщенияCybernetic (03 Декабрь 2015 - 08:53) писал:

Здравствуйте.

Помогите видоизменить карточку товара. Добавил в карточку  новый таб "Акции" в карточку товара. Но к сожалению контент на который ссылается таб появляется в карточке товара внизу (рис.).

Необходимо что бы это появлялось в низу карточки товара под блоком отзывы в случае срабатывания скрипта в шаблоне товар
{% FOR upper_navigation %}
{% IF upper_navigation.NAME = Душевые кабины %} т.е. срабатывал скрипт как тут (на картинке внизу)

Попробуйте сделать следующее:

- В шаблоне Товар найдите код:

  <a href="javascript:tabSwitch(8);" id="tab_8">Акции</a>

и замените на код:

{% FOR upper_navigation %}
{% IF upper_navigation.NAME = Душевые кабины %}
  <a href="javascript:tabSwitch(8);" id="tab_8">Акции</a>
{%ENDIF%}
{%ENDFOR%}



далее найдите код:

<div id="content_8" class="tab-content">
<div id="insert-goods-opinion-list4"></div>
<script type="text/javascript">
$(function() {
var url = 'http://santechbomba.ru/page/akcii-2';
var id = '#insert-goods-opinion-list4';
var injid = '#inject-goods-opinion-list4';
if(id && injid && $(id).length) {
				 $.get(url, function(html) {
				 $(id).html($(html).find(injid).html());
});
}
});
</script></div>

и замените на код:

{% FOR upper_navigation %}
{% IF upper_navigation.NAME = Душевые кабины %}
<div id="content_8" class="tab-content">
<div id="insert-goods-opinion-list4"></div>
<script type="text/javascript">
$(function() {
var url = 'http://santechbomba.ru/page/akcii-2';
var id = '#insert-goods-opinion-list4';
var injid = '#inject-goods-opinion-list4';
if(id && injid && $(id).length) {
				 $.get(url, function(html) {
				 $(id).html($(html).find(injid).html());
});
}
});
</script></div>
{% ENDIF %}
{% ENDFOR %}



#236418 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 10 Май 2016 - 11:17 в Страница товара

Просмотр сообщенияpromser (07 Май 2016 - 07:20) писал:

Да! Все получилось! Только надо теперь тоже самое для ТОВАРОВ НА ГЛАВНОЙ.
И еще - как сделать, чтоб у всех товаров со скидкой был треугольник SALE?

Здравствуйте, в шаблоне HTML найдите код:

{% IF index_page_goods.MAX_PRICE_NOW>index_page_goods.MIN_PRICE_NOW %}
от {index_page_goods.MIN_PRICE_NOW | money_format} до {index_page_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
										{% IF index_page_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
										{% ELSEIF index_page_goods.MIN_PRICE_OLD>index_page_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_goods.MIN_PRICE_OLD | money_format}</span>
										{% ENDIF %} 

и замените на код:

{% IF index_page_goods.MAX_PRICE_NOW>index_page_goods.MIN_PRICE_NOW %}
от {index_page_goods.MIN_PRICE_NOW | money_format} до {index_page_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
{% IF index_page_goods.MAX_PRICE_NOW < index_page_goods.MIN_PRICE_NOW %}
										{% IF index_page_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
										{% ELSEIF index_page_goods.MIN_PRICE_OLD>index_page_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_goods.MIN_PRICE_OLD | money_format}</span>
										{% ENDIF %} 
										{% ENDIF %} 


код:

{% IF index_page_new_goods.MAX_PRICE_NOW>index_page_new_goods.MIN_PRICE_NOW %}
от {index_page_new_goods.MIN_PRICE_NOW | money_format} до {index_page_new_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_new_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
									  {% IF index_page_new_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_new_goods.MIN_PRICE_NOW %}
										<span class="price-old">{index_page_new_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
									  {% ELSEIF index_page_new_goods.MIN_PRICE_OLD>index_page_new_goods.MIN_PRICE_NOW %}
										<span class="price-old">{index_page_new_goods.MIN_PRICE_OLD | money_format}</span>
									  {% ENDIF %}

замените на код:

{% IF index_page_new_goods.MAX_PRICE_NOW>index_page_new_goods.MIN_PRICE_NOW %}
от {index_page_new_goods.MIN_PRICE_NOW | money_format} до {index_page_new_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_new_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>

{% IF index_page_new_goods.MAX_PRICE_NOW < index_page_new_goods.MIN_PRICE_NOW %}
									  {% IF index_page_new_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_new_goods.MIN_PRICE_NOW %}
										<span class="price-old">{index_page_new_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
									  {% ELSEIF index_page_new_goods.MIN_PRICE_OLD>index_page_new_goods.MIN_PRICE_NOW %}
										<span class="price-old">{index_page_new_goods.MIN_PRICE_OLD | money_format}</span>
									  {% ENDIF %}
				  {% ENDIF %}

и код:

{% IF index_page_favorites_goods.MAX_PRICE_NOW>index_page_favorites_goods.MIN_PRICE_NOW %}
от {index_page_favorites_goods.MIN_PRICE_NOW | money_format} до {index_page_favorites_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_favorites_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
										{% IF index_page_favorites_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_favorites_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_favorites_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
										{% ELSEIF index_page_favorites_goods.MIN_PRICE_OLD>index_page_favorites_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_favorites_goods.MIN_PRICE_OLD | money_format}</span>
										{% ENDIF %}

замените на код:

{% IF index_page_favorites_goods.MAX_PRICE_NOW>index_page_favorites_goods.MIN_PRICE_NOW %}
от {index_page_favorites_goods.MIN_PRICE_NOW | money_format} до {index_page_favorites_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_favorites_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>

{% IF index_page_favorites_goods.MAX_PRICE_NOW < index_page_favorites_goods.MIN_PRICE_NOW %}
										{% IF index_page_favorites_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>index_page_favorites_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_favorites_goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
										{% ELSEIF index_page_favorites_goods.MIN_PRICE_OLD>index_page_favorites_goods.MIN_PRICE_NOW %}
										  <span class="price-old">{index_page_favorites_goods.MIN_PRICE_OLD | money_format}</span>
										{% ENDIF %}
   {% ENDIF %}



#236169 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 05 Май 2016 - 14:36 в Страница товара

Просмотр сообщенияpromser (05 Май 2016 - 13:44) писал:

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

Здравствуйте, попробуйте код:

							 <span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
{% IF goods.MAX_PRICE_NOW < goods.MIN_PRICE_NOW %}
															 {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
																 <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
															 {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
																 <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
															 {% ENDIF %}
																 {% ENDIF %}

и замените на код:

							 <span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}

{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
																 <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
															 {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
																 <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
															 {% ENDIF %}
{% ENDIF %}
</span>

и код:

						 <span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
{% IF goods.MAX_PRICE_NOW<goods.MIN_PRICE_NOW %}
											 {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
												 <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
											 {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
												 <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
											 {% ENDIF %}
											 {% ENDIF %}

замените на код:

						 <span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
												 <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
											 {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
												 <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
											 {% ENDIF %}
{% ENDIF %}
</span>



#234071 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 14 Апрель 2016 - 15:42 в Страница товара

Просмотр сообщенияpromser (14 Апрель 2016 - 15:08) писал:

1. Что касается модификаций вроде теперь работает отлично. По крайней мере пока проблем не нашел.
Единственное хотел уточнить - возможно ли сделать так, чтобы выбор модификации совершался не только кликом на "точку", а и чтобы название модификации было кликабельное?
2.Что касается цен "от и до" - на главной странице теперь товары с ценами "от и до", но вот при наведении на товар когда карточка товара переворачивается цена по прежнему фиксированная. И в каталоге товаров тоже нет "от и до". Помогите пожалуйста с реализацией. Спасибо.

Здравствуйте,
1) в шаблоне Товар найдите код:

<input type="radio" name="form[properties][{goods_modifications_properties.ID}]" value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} /> {goods_modifications_properties.values.NAME} <br />

и замените на код:

<label><input type="radio" name="form[properties][{goods_modifications_properties.ID}]" value="{goods_modifications_properties.values.ID}" {% IF goods_modifications_properties.values.SELECTED %}checked="checked"{% ENDIF %} /> {goods_modifications_properties.values.NAME} </label><br />


2) Для хитов продаж в шаблоне HTML найдите код (627строка):
<div class="product-hover">
							  <h3 class="product-name">
								<a title="{index_page_favorites_goods.NAME}" href="{index_page_favorites_goods.URL_MIN_PRICE_NOW | url_amp}">{index_page_favorites_goods.NAME}</a>
							  </h3>
							  <div class="price">
								<div class="price-box">
								  <span class="product-price">
<span class="price">{index_page_favorites_goods.MIN_PRICE_NOW | money_format}</span>

и замените на код:
<div class="product-hover">
							  <h3 class="product-name">
								<a title="{index_page_favorites_goods.NAME}" href="{index_page_favorites_goods.URL_MIN_PRICE_NOW | url_amp}">{index_page_favorites_goods.NAME}</a>
							  </h3>
							  <div class="price">
								<div class="price-box">
								  <span class="product-price">
 <span class="price">
{% IF index_page_favorites_goods.MAX_PRICE_NOW>index_page_favorites_goods.MIN_PRICE_NOW %}
от {index_page_favorites_goods.MIN_PRICE_NOW | money_format} до {index_page_favorites_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_favorites_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>


Далее для новинок, найдите код(769 строка):

<!-- описание товара -->
							<div class="product-hover">
							  <h3 class="product-name">
								<a title="{index_page_new_goods.NAME}" href="{index_page_new_goods.URL_MIN_PRICE_NOW | url_amp}">{index_page_new_goods.NAME}</a>
							  </h3>
							  <div class="price">
								<div class="price-box">
								  <span class="product-price">
									<span class="price">{index_page_new_goods.MIN_PRICE_NOW | money_format}</span>

и замените на код:

<!-- описание товара -->
							<div class="product-hover">
							  <h3 class="product-name">
								<a title="{index_page_new_goods.NAME}" href="{index_page_new_goods.URL_MIN_PRICE_NOW | url_amp}">{index_page_new_goods.NAME}</a>
							  </h3>
							  <div class="price">
								<div class="price-box">
								  <span class="product-price">					  
 <span class="price">
{% IF iindex_page_new_goods.MAX_PRICE_NOW>index_page_new_goods.MIN_PRICE_NOW %}
от {index_page_new_goods.MIN_PRICE_NOW | money_format} до {index_page_new_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_new_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>


Далее для товаров на главной код :

<div class="product-hover">
							  <h3 class="product-name">
								<a title="{index_page_goods.NAME}" href="{index_page_goods.URL_MIN_PRICE_NOW | url_amp}">{index_page_goods.NAME}</a>
							  </h3>
							  <div class="price">
								<div class="price-box">
								  <span class="product-price">
									<span class="price">{index_page_goods.MIN_PRICE_NOW | money_format}</span>

замените на код:

<div class="product-hover">
							  <h3 class="product-name">
								<a title="{index_page_goods.NAME}" href="{index_page_goods.URL_MIN_PRICE_NOW | url_amp}">{index_page_goods.NAME}</a>
							  </h3>
							  <div class="price">
								<div class="price-box">
								  <span class="product-price">
<span class="price">
{% IF index_page_goods.MAX_PRICE_NOW>index_page_goods.MIN_PRICE_NOW %}
от {index_page_goods.MIN_PRICE_NOW | money_format} до {index_page_goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{index_page_goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>

Для каталога, нужно перейти в шаблоне Товары и найти код (встречается 2 раза, заменить нужно везде):

<span class="price">{goods.MIN_PRICE_NOW | money_format}</span>

и замените на код:

<span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>



#234089 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 14 Апрель 2016 - 17:28 в Страница товара

Просмотр сообщенияpromser (14 Апрель 2016 - 17:17) писал:

Чего то тут не хватает. Редактор сходу ругается на этот код, ну и естественно он не работает.
Уточните

Еще раз проверила код, он рабочий. Чтобы редактор шаблонов не выводил значок предупреждения можете добавить код:

.goodsDataMainModificationsRadio label {
cursor: pointer;
}

После изменений очистите, пожалуйста, кеш (ctrl+f5)



#234082 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 14 Апрель 2016 - 16:52 в Страница товара

Просмотр сообщенияpromser (14 Апрель 2016 - 16:27) писал:

Спасибо. Все сработало. Единственное в коде для новинок была у вас небольшая ошибка - 2 буквы ii в слове index было, поэтому не сразу сработало. Но сам быстро сориентировался.
И последнее - есть ли возможность когда наводишь на кликабельную часть выбора модификации, чтобы указатель менялся, скажем, на ладонь с указательным пальцем?


В конце main.css добавьте код:

span.goodsDataMainModificationsRadio label {
	cursor: pointer;
}



#235232 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 25 Апрель 2016 - 19:35 в Страница товара

Просмотр сообщенияpromser (25 Апрель 2016 - 18:31) писал:

Ссылка http://аква-дом.рф/c...y-dlya-bassejna
Товары Кобра и Рондо с акционными ценами.

Спасибо, в шаблоне Товары найдите код:
								<span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
								{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
								  <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
								{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
								  <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
								{% ENDIF %}

и замените на код:
								<span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
{% IF goods.MAX_PRICE_NOW < goods.MIN_PRICE_NOW %}
								{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
								  <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
								{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
								  <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
								{% ENDIF %}
								 {% ENDIF %}

и код:

						  <span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
						{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
						  <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
						{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
						  <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
						{% ENDIF %}

замените на код:

						  <span class="price">
{% IF goods.MAX_PRICE_NOW>goods.MIN_PRICE_NOW %}
от {goods.MIN_PRICE_NOW | money_format} до {goods.MAX_PRICE_NOW | money_format}
{% ELSE %}
{goods.MIN_PRICE_NOW | money_format}
{% ENDIF %}
</span>
{% IF goods.MAX_PRICE_NOW<goods.MIN_PRICE_NOW %}
						{% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %}
						  <span class="price-old">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</span>
						{% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %}
						  <span class="price-old">{goods.MIN_PRICE_OLD | money_format}</span>
						{% ENDIF %}
{% ENDIF %}



#228773 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 29 Февраль 2016 - 17:06 в Страница товара

Просмотр сообщенияКарамелька (29 Февраль 2016 - 16:55) писал:

Попробовала на примере водолазок убрать комбинации размер+цвет= 0,(как на ползунках)но теперь невозможно выбрать размер,у которого все цвета кроме салатового в наличии.

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



#228067 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 24 Февраль 2016 - 14:38 в Страница товара

Просмотр сообщенияКарамелька (24 Февраль 2016 - 13:30) писал:

Сделала,ничего не поменялось в плане выбора размера и цвета,так и падает в корзину по умолчанию маленький размер и цвет,который присвоен ему.
НО добавилось вот что:при добавлении товара в корзину меня перекидывает на страницу с корзиной,раньше было окно-Вы добавили в корзину то,то и то.

Попробуйте весь файл main.js заменить на код:

// Отправляет ошибку на сервер, для того чтобы служба тех поддержки могла разобраться в проблеме как можно быстрее.
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;
  });
 
 
  // Добавление товара в корзину через 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 = $('form.goodsDataForm select[name="form[properties][]"]'),
   
	// Запоминаем блоки с информацией по модификациям, для ускорения работы
	goodsDataModifications = $('div.goodsDataMainModificationsList');
 
 
  // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
  function updateVisibility (y) {
	// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
	goodsDataProperties.each(function(j){
	  // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
	  if( j != y ) {
		// Проходим по всем значениям текущего свойства модификации товара
		$(this).find('option').each(function(){
		  // Записываем временный массив свойств, которые будем использовать для проверки существования модификации
		  var checkProperties = new Array();
		  $(goodsDataProperties).each(function(i){
			checkProperties[i] = parseInt($(this).val());
		  });
		  // Пытаемся найти модификацию соответствующую выбранным значениям свойств
		  checkProperties[j] = parseInt($(this).attr('value'));
		  // Собираем хэш определяющий модификацию по свойствам
		  slug = checkProperties.sort(function(a,B){return a - b}).join('_');
		  // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
		  if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
		   $(this).attr('disabled', true);
		  // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
		  } else {
			$(this).attr('disabled', false);
		  }
		});
	  }
	});
  }
  // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
  // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
  updateVisibility (0);
  // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
  updateVisibility (1);
 
  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(y){
	$(this).change(function(){
	  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');
	  
	  
	   // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация
	   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);
	   } else {
		 // Отправим запись об ошибке на сервер
		 sendError('no modification by slug '+slug);
		 alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
	   }
	  
	   // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара.
	   updateVisibility(y);
	});
  });
  // Кнопка добавления товара на сравнение сравнения товаров
  $('.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();
		  $('#contactEmail, #contactPassWord').addClass('required');
		} else {
		  $('.contactRegisterNeedElement').hide();
		  $('#contactEmail, #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
		});
});



#228057 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 24 Февраль 2016 - 13:15 в Страница товара

Просмотр сообщенияКарамелька (24 Февраль 2016 - 12:33) писал:

Я просто добавила товар на сайт и установила модификации,потом попыталась сделать пробный заказ и не получилось.

Потом попробовала последовать совету № 7 этой темы- http://forum.storela...ра-модификации/

не получилось у меня и я всё вернула назад.Затем пробовала совет 41,

http://forum.storela...ии/page__st__40

тоже не получилось,выдал ошибку,всё откатила назад.

Попробуйте в main.js код:

  // Функция собирает свойства в строку, для определения модификации товара
  function getSlugFromGoodsDataFormModificationsProperties(obj) {
		var properties = new Array();
		var reset_arr = new Array();
		$(obj).find('input[type="radio"]').each(function(i){
		  if($(this).is(':checked')){ 
				properties[i] = parseInt($(this).val());}
		});
		for(var i in properties) {
		 if(properties[i]) {
		  reset_arr.push(properties[i]);
		 }
		}
		return reset_arr.sort(function(a,B){return a - b}).join('_');
  }


  var 
		// Запоминаем поля выбора свойств, для ускорения работы со значениями свойств
		goodsDataProperties = $('.goodsDataMainModificationsBlock .goodsDataMainModificationsRadio'),

		// Запоминаем блоки с информацией по модификациям, для ускорения работы
		goodsDataModifications = $('div.goodsDataMainModificationsList');


  // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
  function updateVisibility (y) {
		// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
		goodsDataProperties.each(function(j){
		  // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
		  if( j != y ) {
				// Проходим по всем значениям текущего свойства модификации товара
				$(this).find('input[type="radio"]').each(function(){
				  // Записываем временный массив свойств, которые будем использовать для проверки существования модификации
				  //var checkProperties = new Array();
				  /*$(goodsDataProperties).each(function(i){
						if($(this).is(':checked'))
						  checkProperties[i] = parseInt($(this).val());
				  });*/
				  // Пытаемся найти модификацию соответствующую выбранным значениям свойств
				  //checkProperties[j] = parseInt($(this).attr('value'));
				  // Собираем хэш определяющий модификацию по свойствам
				  //slug = checkProperties.sort(function(a,B){return a - b}).join('_');
slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties);
				  // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
				  if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
				   $(this).attr('disabled', 'disabled');
				  // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
				  } else {
						$(this).removeAttr('disabled');
				  }
				});
		  }
		});
  }
  // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
  updateVisibility (0);

  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(y){
		$(this).find('input[type="radio"]').click(function(){
		  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');


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

		   // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара. 
		   updateVisibility(y);
		});
  });


заменить на код:

  // Функция собирает свойства в строку, для определения модификации товара
  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 = $('form.goodsDataForm select[name="form[properties][]"]'),
   
	// Запоминаем блоки с информацией по модификациям, для ускорения работы
	goodsDataModifications = $('div.goodsDataMainModificationsList');
 
 
  // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
  function updateVisibility (y) {
	// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
	goodsDataProperties.each(function(j){
	  // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
	  if( j != y ) {
		// Проходим по всем значениям текущего свойства модификации товара
		$(this).find('option').each(function(){
		  // Записываем временный массив свойств, которые будем использовать для проверки существования модификации
		  var checkProperties = new Array();
		  $(goodsDataProperties).each(function(i){
			checkProperties[i] = parseInt($(this).val());
		  });
		  // Пытаемся найти модификацию соответствующую выбранным значениям свойств
		  checkProperties[j] = parseInt($(this).attr('value'));
		  // Собираем хэш определяющий модификацию по свойствам
		  slug = checkProperties.sort(function(a,B){return a - b}).join('_');
		  // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
		  if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
		   $(this).attr('disabled', true);
		  // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
		  } else {
			$(this).attr('disabled', false);
		  }
		});
	  }
	});
  }
  // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
  // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
  updateVisibility (0);
  // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
  updateVisibility (1);
 
  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(y){
	$(this).change(function(){
	  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');
	  
	  
	   // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация
	   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);
	   } else {
		 // Отправим запись об ошибке на сервер
		 sendError('no modification by slug '+slug);
		 alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
	   }
	  
	   // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара.
	   updateVisibility(y);
	});
  });



#228078 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 24 Февраль 2016 - 15:22 в Страница товара

Просмотр сообщенияКарамелька (24 Февраль 2016 - 14:50) писал:

Поменяла весь код,теперь выдаёт ошибку



кеш чистила после обновлений.


Ну тогда можно заменить полностью на стандартный код.

// Отправляет ошибку на сервер, для того, чтобы служба тех поддержки могла разобраться в проблеме как можно быстрее.
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');
	  // Если кнопку уже нажали, видимо отправка формы производилась по нажатию на кнопку enter, не допускаем этого.
	  if($(SubmitButton.get(0)).attr('disabled')) {
		return false;
	  }
	  // Устанавливаем на кнопку отправки формы блокировку повторной оптравки
	  SubmitButton.attr('disabled', true);
	  // Через 10 секунд блокировка отправки формы снимается.
	  setTimeout('SubmitButton.attr("disabled", false);', 10000);
	}
  }).validate();
  // Отправка формы по Ctrl+Enter
  $('form').bind('keypress', function(e){
	if((e.ctrlKey) && ((e.which==10)||(e.which==13))) {$(this).submit();}
  // Отправка данных формы по нажатию на Enter в случае если курсор находится в input полях (В некоторых браузерах при нажатии по enter срабатывает клик по первому submit полю, которое является кнопкой назад. Для этого написан этот фикс)
  }).find('input').bind('keypress', function(e){
	if(((e.which==10)||(e.which==13))) { try{$(this.form).submit();} catch(e){} return false; }
  });
 
  // В форме оформления заказа при клике на кнопку назад просто переходим на предыдущую страницу
  $('.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;
  });
 
 
  // Добавление товара в корзину через 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 = $('form.goodsDataForm select[name="form[properties][]"]'),
   
	// Запоминаем блоки с информацией по модификациям, для ускорения работы
	goodsDataModifications = $('div.goodsDataMainModificationsList');
 
 
  // Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
  function updateVisibility (y) {
	// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
	goodsDataProperties.each(function(j){
	  // Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
	  if( j != y ) {
		// Проходим по всем значениям текущего свойства модификации товара
		$(this).find('option').each(function(){
		  // Записываем временный массив свойств, которые будем использовать для проверки существования модификации
		  var checkProperties = new Array();
		  $(goodsDataProperties).each(function(i){
			checkProperties[i] = parseInt($(this).val());
		  });
		  // Пытаемся найти модификацию соответствующую выбранным значениям свойств
		  checkProperties[j] = parseInt($(this).attr('value'));
		  // Собираем хэш определяющий модификацию по свойствам
		  slug = checkProperties.sort(function(a,B){return a - b}).join('_');
		  // Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
		  if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
		   $(this).attr('disabled', true);
		  // Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
		  } else {
			$(this).attr('disabled', false);
		  }
		});
	  }
	});
  }
  // Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
  // Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
  updateVisibility (0);
  // Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
  updateVisibility (1);
 
  // Изменение цены товара при изменении у товара свойства для модификации
  goodsDataProperties.each(function(y){
	$(this).change(function(){
	  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');
	  
	  
	   // Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация
	   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);
	   } else {
		 // Отправим запись об ошибке на сервер
		 sendError('no modification by slug '+slug);
		 alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
	   }
	  
	   // Обновляем возможность выбора другой модификации для текущих значений свойств модификации товара.
	   updateVisibility(y);
	});
  });
 
  // Кнопка добавления товара на сравнение сравнения товаров
  $('.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();
	  $('#contactEmail, #contactPassWord').addClass('required');
	} else {
	  $('.contactRegisterNeedElement').hide();
	  $('#contactEmail, #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();
  });
  var
	// Минимальное значение цены для фильтра
	priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text())
	// Максимальное значение цены для фильтра
	,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text())
	// Максимальное значение цены для фильтра
	,priceSliderBlock = $('#goods-filter-price-slider')
	// Поле ввода текущего значения цены "От"
	,priceInputMin = $( "#goods-filter-min-price" )
	// Поле ввода текущего значения цены "До"
	,priceInputMax = $( "#goods-filter-max-price" )
	// Блок с кнопкой, которую есть смысл нажимать только тогда, когда изменялся диапазон цен.
	,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" )
  ;
  // Изменяет размер ячеек с ценой, т.к. у них нет рамок, есть смысл менять размеры полей ввода, чтобы они выглядили как текст
  function priceInputsChangeWidthByChars() {
	// Если есть блок указания минимальной цены
	if(priceInputMin.length) {
	  priceInputMin.css('width', (priceInputMin.val().length*7 + 3) + 'px');
	  priceInputMax.css('width', (priceInputMax.val().length*7 + 3) + 'px');
	}
  }
  // Слайдер, который используется для удобства выбора цены
  priceSliderBlock.slider({
	range: true,
	min: priceFilterMinAvailable,
	max: priceFilterMaxAvailable,
	values: [
	  parseInt($('#goods-filter-min-price').val())
	  ,parseInt($('#goods-filter-max-price').val())
	],
	slide: function( event, ui ) {
	  priceInputMin.val( ui.values[ 0 ] );
	  priceInputMax.val( ui.values[ 1 ] );
	  priceSubmitButtonBlock.show();
	  priceInputsChangeWidthByChars();
	}
  });
  // При изменении минимального значения цены
  priceInputMin.keyup(function(){
	var newVal = parseInt($(this).val());
	if(newVal < priceFilterMinAvailable) {
	  newVal = priceFilterMinAvailable;
	}
	priceSliderBlock.slider("values", 0, newVal);
	priceSubmitButtonBlock.show();
	priceInputsChangeWidthByChars();
  });
  // При изменении максимального значения цены
  priceInputMax.keyup(function(){
	var newVal = parseInt($(this).val());
	if(newVal > priceFilterMaxAvailable) {
	  newVal = priceFilterMaxAvailable;
	}
	priceSliderBlock.slider("values", 1, newVal);
	priceSubmitButtonBlock.show();
	priceInputsChangeWidthByChars();
  });
  // Обновить размеры полей ввода диапазона цен
  priceInputsChangeWidthByChars();
 
  // Действия при выборе варианта доставки на этапе оформления заказа
  $('.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
});
});



#228090 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 24 Февраль 2016 - 17:06 в Страница товара

Просмотр сообщенияКарамелька (24 Февраль 2016 - 15:41) писал:

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

Произвела Вам изменения, создала бекап (24.02.2016 17:05:20).



#228751 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 29 Февраль 2016 - 16:07 в Страница товара

Просмотр сообщенияКарамелька (29 Февраль 2016 - 15:11) писал:

Ап,ап,ап


Здравствуйте, у Вас работало на двух товарах таким образом, потому что товара с такими модификациями не было вообще, имеется ввиду комбинации размер+цвет (нет такой модификации желтый цвет размера 86 у товара ползунки) Поэтому там товара для заказа недоступен, у всех остальных товаров модификации присутствуют.



#235184 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 25 Апрель 2016 - 14:19 в Страница товара

Просмотр сообщенияpromser (22 Апрель 2016 - 20:08) писал:

В продолжение темы цен "от и до" - сейчас заметил один баг, помогите разобраться.
Ситуация такая - есть товар с несколькими модификациями и ценами со скидкой. Получается на карточке товара при таком раскладе цена от и до и потом одна перечеркнутая (старая) цена. В общем надо сделать так, чтобы на карточке товара при цене от и до не появлялась старая цена (если она есть), но при этом если товар с одной модификацией (без цены от и до) и ценой со скидкой, то тут пусть старая (перечеркнутая) цена выводится. Надеюсь, что понятно выразился)

Здравствуйте, извините за ожидание, пришлите, пожалуйста, ссылку на такой товар, у которого цена "от .. до..." и старая цена указывается.



#228043 Изменение Типа Выбора Модификации

Отправлено от Юля123 в 24 Февраль 2016 - 12:08 в Страница товара

Просмотр сообщенияКарамелька (24 Февраль 2016 - 11:59) писал:

Спасибо

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



#230367 Как Ограничить Время Доставки?

Отправлено от Юля123 в 14 Март 2016 - 16:20 в Оформление заказа

Просмотр сообщенияSmailer (04 Март 2016 - 17:21) писал:

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

появилась ошибка сразу JS

---
потом календарь.. очень хорошо но
1. даты из других месяцев по цвету такиеже как и текущий, обычно они более полупрозрачные или светлый, но хоть как-то по цвету их можно отличить.
2. Даты из другого месяца выбрать нельзя они не активны. например 1 апреля.


Извините за долгое ожидание.


Цитата

появилась ошибка сразу JS


Произвела Вам изменения.

Цитата

Даты из другого месяца выбрать нельзя они не активны. например 1 апреля.


Эта дата доступна для заказа. Уточните, что не так работает.



#230373 Как Ограничить Время Доставки?

Отправлено от Юля123 в 14 Март 2016 - 16:34 в Оформление заказа

Просмотр сообщенияSmailer (14 Март 2016 - 16:32) писал:

Изображение

Сколько бы раз я не жмакал мышкой, и даже если я зашел из другого браузера - 1 Апреля я никак выбрать не могу)

Потому что это Март. Перейдите на месяц апрель, пожалуйста. Естественно, что в марте апрельские дни будут недоступны.



#233968 Как Ограничить Время Доставки?

Отправлено от Юля123 в 13 Апрель 2016 - 14:49 в Оформление заказа

Просмотр сообщенияSmailer (13 Апрель 2016 - 14:07) писал:

И ещё старый Вопрос Оставался.
который в скором будущем возможно скоро пригодиться.

Как из календаря - убрать конкретную дату доставки?

Здравствуйте, если я Вас правильно поняла, то попробуйте сделать следующее: в main.js найдите код:

beforeShowDay   : function(date) {return([date.getDay() == 2 || date.getDay() == 5, ''])}

и замените на код:

beforeShowDay   : function(date) {return([date.getDay() == 2, ''])}



#228384 Как Ограничить Время Доставки?

Отправлено от Юля123 в 26 Февраль 2016 - 15:22 в Оформление заказа

Здравствуйте, извините, за долгое ожидание.

Цитата

  и интервал расширить бы с 7 до 23.

в шаблоне Оформление заказа найдите код:

						  <select style="width:95px;margin-right:3px;" name="form[delivery][convenient_time_from]">
												 <option></option>
												 {% FOR convenient_time_from_list %}
																 {% IF convenient_time_from_list.HOUR_INT > 8 && convenient_time_from_list.HOUR_INT < 22 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %}
												 {% ENDFOR %}
												 </select>
												 до
												 <select style="width:95px;" name="form[delivery][convenient_time_to]">
												 <option></option>
												 {% FOR convenient_time_to_list %}
																 {%IF convenient_time_to_list.HOUR_INT > 8 && convenient_time_to_list.HOUR_INT < 22 %}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{%ENDIF%}
												 {% ENDFOR %}
												 </select>

и замените на код:

						  <select style="width:95px;margin-right:3px;" name="form[delivery][convenient_time_from]">
												 <option></option>
												 {% FOR convenient_time_from_list %}
																 {% IF convenient_time_from_list.HOUR_INT > 6 && convenient_time_from_list.HOUR_INT < 24 %}<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_from_list.HOUR}</option>{% ENDIF %}
												 {% ENDFOR %}
												 </select>
												 до
												 <select style="width:95px;" name="form[delivery][convenient_time_to]">
												 <option></option>
												 {% FOR convenient_time_to_list %}
																 {%IF convenient_time_to_list.HOUR_INT > 6 && convenient_time_to_list.HOUR_INT < 24 %}<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>{convenient_time_to_list.HOUR}</option>{%ENDIF%}
												 {% ENDFOR %}
												 </select>


Цитата

Будет понятно только завтра работает или нет.

у Вас работает? Вы проверили?



#231228 Редактирование Шаблона Радость.

Отправлено от Юля123 в 21 Март 2016 - 11:36 в Изменение общей стилистики

 Свят (20 Март 2016 - 15:16) писал:

Если можно проверьте. Проблема не исчезла.

Здравствуйте, установила в robot.txt в качестве зеркала доменное имя medmag24 . storeland . ru, подробнее про зеркала и директиву Host можно прочитать тут:
https://yandex.ru/su...ts-txt.xml#host
https://yandex.ru/su...ite-mirrors.xml