- Форум владельцев интернет-магазинов
- → Публикации borisovd
Публикации borisovd
366 публикаций создано borisovd (учитываются публикации только с 29-Июнь 23)
#98316 Просмотр
Отправлено от borisovd в 26 Октябрь 2013 - 10:21 в Каталог товаров
#98962 Просмотр
Отправлено от borisovd в 29 Октябрь 2013 - 10:51 в Каталог товаров
Сake (29 Октябрь 2013 - 02:42) писал:
#106908 Просмотр
Отправлено от borisovd в 28 Ноябрь 2013 - 11:45 в Каталог товаров
Сake (26 Ноябрь 2013 - 04:48) писал:
{% IF ONLY_BODY %} <script> $(document).ready(function(){ // Кнопки на сайте если подгружен модуль Jquery.UI if(typeof($('input:submit, input.button').button) == "function" ) { $('input:submit, input.button').button(); } // Отправка формы по 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, .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(); // Настройки галереи изображений $.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').submit(function(){ $(this).nyroModalManual({ formIndicator: 'ajax_q', // Value added when a form is sent minWidth: 420, // Minimum width minHeight: 150, // 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; }); // Добавление отзыва о товаре. Рейтинг 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; }); $("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 }); }); $(function() { if($('.goodsDataFormSubmitButton #quantity_wanted').length) { var quantity = $('.goodsDataFormSubmitButton #quantity_wanted'); $('.goodsDataMainDeliveryBlock .goodsDataFeatures td').each(function() { if($.trim($(this).text()) === 'Количество сумок в упаковке') { quantity.val(parseInt($.trim($(this).next().text()))); return(false); } }); } }); </script> {% ENDIF %}
#107132 Просмотр
Отправлено от borisovd в 29 Ноябрь 2013 - 00:57 в Каталог товаров
3 js ошибки, это второе
#107470 Просмотр
Отправлено от borisovd в 30 Ноябрь 2013 - 09:29 в Каталог товаров
Сake (30 Ноябрь 2013 - 02:49) писал:
#103240 Просмотр
Отправлено от borisovd в 14 Ноябрь 2013 - 01:40 в Каталог товаров
Сake (14 Ноябрь 2013 - 01:37) писал:
$('.prd-image a img').bind('mouseenter', function () {
заменить на
$('.prd-image a img').live('mouseenter', function () {
а строку
$('.prd-image a img').bind('mouseleave', function () {
заменить на
$('.prd-image a img').live('mouseleave', function () {
#108775 Просмотр
Отправлено от borisovd в 06 Декабрь 2013 - 04:23 в Каталог товаров
Сake (06 Декабрь 2013 - 04:21) писал:
#98105 Просмотр
Отправлено от borisovd в 25 Октябрь 2013 - 08:15 в Каталог товаров
#108772 Просмотр
Отправлено от borisovd в 06 Декабрь 2013 - 03:57 в Каталог товаров
#99040 Просмотр
Отправлено от borisovd в 29 Октябрь 2013 - 15:58 в Каталог товаров
miyako (29 Октябрь 2013 - 12:23) писал:
<div class="goodsListItemPriceNew"><div style=" margin-top: 0px; margin-right:-40px; float:right; width:213px; height:31px;"> <div style="margin-top:8px; margin-left:20px;" class="cena"> <a href="{index_page_favorites_goods.URL_MAX_PRICE_NOW}"> {index_page_favorites_goods.MAX_PRICE_NOW | money_format}</a> </div> </div> </div> <div class="goodsListItemPriceOld"> {% IF index_page_favorites_goods.MAX_PRICE_NOW_WITHOUT_DISCOUNT>index_page_favorites_goods.MAX_PRICE_NOW %} <a href="{index_page_favorites_goods.URL_MAX_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{index_page_favorites_goods.MAX_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a> {% ELSEIF index_page_favorites_goods.MAX_PRICE_OLD>index_page_favorites_goods.MAX_PRICE_NOW %} <div style=" margin-top: 12px; "> <a href="{index_page_favorites_goods.URL_MAX_PRICE_OLD}" class="lineThrough">{index_page_favorites_goods.MAX_PRICE_OLD | money_format}</a></div> {% ENDIF %} </div>и после него добавьте код -
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListForm"> <div> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{index_page_favorites_goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{index_page_favorites_goods.MIN_PRICE_NOW_ID}" /> <button type="submit" class="whtgray">Купить сейчас</button> </div> </form>
Далее найдите код -
{% FOR index_page_goods %} <li> <div><a href="{index_page_goods.URL}">{index_page_goods.NAME}</a></div> <div class="imagem"><a href="{index_page_goods.URL}"><img {% IF index_page_goods.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-medium.png" width="220"{% ELSE %}src="{index_page_goods.IMAGE_SMALL}"{% ENDIF %} alt="{index_page_goods.NAME}" /></a></div> </li> {% ENDFOR index_page_goods %}и замените на -
{% FOR index_page_goods %} <li> <div><a href="{index_page_goods.URL}">{index_page_goods.NAME}</a></div> <div class="imagem"><a href="{index_page_goods.URL}"><img {% IF index_page_goods.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-medium.png" width="220"{% ELSE %}src="{index_page_goods.IMAGE_SMALL}"{% ENDIF %} alt="{index_page_goods.NAME}" /></a></div> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListForm"> <div> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{index_page_goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{index_page_goods.MIN_PRICE_NOW_ID}" /> <button type="submit" class="whtgray">Купить сейчас</button> </div> </form> </li> {% ENDFOR index_page_goods %}
В шаблоне Товары найдите код -
<p> <a class="readmore" title="{goods.NAME}" href="{goods.URL}">Подробнее</a> </p>и ниже добавьте -
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListForm"> <div> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <button type="submit" class="whtgray">Купить сейчас</button> </div> </form>
Далее найдите ниже код -
<h3 class="goodsListItemName"><a href="{goods.URL}">{goods.NAME}</a></h3> <div class="goodsListItemPriceNew"> <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a> </div> <div class="goodsListItemPriceOld"> {% IF goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_NOW_WITHOUT_DISCOUNT}" class="lineThrough">{goods.MIN_PRICE_NOW_WITHOUT_DISCOUNT | money_format}</a> {% ELSEIF goods.MIN_PRICE_OLD>goods.MIN_PRICE_NOW %} <a href="{goods.URL_MIN_PRICE_OLD}" class="lineThrough">{goods.MIN_PRICE_OLD | money_format}</a> {% ENDIF %} </div>и ниже его добавьте -
<form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListForm"> <div> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <button type="submit" class="whtgray">Купить сейчас</button> </div> </form>
#99150 Просмотр
Отправлено от borisovd в 29 Октябрь 2013 - 22:13 в Каталог товаров
#103058 Просмотр
Отправлено от borisovd в 13 Ноябрь 2013 - 14:18 в Каталог товаров
#94681 Правая Колонка
Отправлено от borisovd в 10 Октябрь 2013 - 21:21 в Главная
ne_yana (10 Октябрь 2013 - 20:21) писал:
body { font-size: 75%; line-height: 1.6666em; font-family: "Lucida Grande", "Trebuchet MS", Verdana, Arial, sans-serif; background-color: #FFF; color: #666; }замените на
body { font-size: 75%; line-height: 1.6666em; font-family: "Lucida Grande", "Trebuchet MS", Verdana, Arial, sans-serif; background-color: #FFF; color: #666; margin-left: -133px; }
Если только то, что ниже шапки, то замените
#contentWrap { clear: both; background: url(http://alver.storeland.net/contentWrap_bg.jpg) repeat-x left bottom; }на
#contentWrap { clear: both; background: url(http://alver.storeland.net/contentWrap_bg.jpg) repeat-x left bottom; margin-left: -36px; }
#94997 Поиск С Ajax
Отправлено от borisovd в 12 Октябрь 2013 - 04:58 в Изменение общей стилистики
#106643 Поделиться
Отправлено от borisovd в 27 Ноябрь 2013 - 12:46 в Страница товара
#106686 Поделиться
Отправлено от borisovd в 27 Ноябрь 2013 - 14:21 в Страница товара
empty9228 (27 Ноябрь 2013 - 14:17) писал:
И еще кнопка от фаейсбука очень долго грузиться, можно сделать такой порядр расположения кнопок Вконтакте, Одноклассники, Фейсбук.
#106710 Поделиться
Отправлено от borisovd в 27 Ноябрь 2013 - 15:24 в Страница товара
#106482 Поделиться
Отправлено от borisovd в 27 Ноябрь 2013 - 01:40 в Страница товара
#106676 Поделиться
Отправлено от borisovd в 27 Ноябрь 2013 - 14:06 в Страница товара
- Форум владельцев интернет-магазинов
- → Публикации borisovd
- Privacy Policy