Кнопки
#1
Отправлено 17 Февраль 2011 - 16:04
Можно ли по примеру шблона Сияние, сделать кнопку "В корзину" при просмотре каталога в режиме таблицы?
#2
Отправлено 18 Февраль 2011 - 15:40
http://forum.storela...ndpost__p__1184
#3
Отправлено 18 Февраль 2011 - 23:42
Если не трудно подскажите...
#4
Отправлено 19 Февраль 2011 - 06:08
Если товара нет в наличии, как мне переназначить кнопку "Положить в корзину" на "форму связи с администрацией"? (на странице товара)
#5
Отправлено 21 Февраль 2011 - 17:47
krever (19 Февраль 2011 - 06:08) писал:
Если товара нет в наличии, как мне переназначить кнопку "Положить в корзину" на "форму связи с администрацией"? (на странице товара)
Форма сообщения принимает текст сообщения не только POST запросом, но и через GET, что позволяет использовать следующий формат ссылок для текстов:
<a href="{FEEDBACK_URL}?form[feedback_message]=Уведомить о наличии">уведомить о наличии</a>
Поскольку формат переменной "form[feedback_message]=Уведомить о наличии" - это не верно, хоть и браузеры нормально обрабатывают подобный код, стоит использовать urlencoder который позволяет из вышеуказанного текста:
Уведомить о наличииПолучить правильный, разрешённый в url-адресах:
%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%B8%D1%82%D1%8C%20%D0%BE%20%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B8В итоге ссылка на форму обратной связи с текстом получается вида:
<a href="{FEEDBACK_URL}?form[feedback_message]=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%B8%D1%82%D1%8C%20%D0%BE%20%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B8">уведомить о наличии</a>
или вот так:
<a href="/feedback/?form[feedback_message]=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%B8%D1%82%D1%8C%20%D0%BE%20%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B8">уведомить о наличии</a>Кому как удобнее.
Итак к задаче:
krever (19 Февраль 2011 - 06:08) писал:
// Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); }замените его следующим кодом:
// Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); $('.goodsDataFormSubmitButton input:submit').val('Положить в корзину'); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); $('.goodsDataFormSubmitButton input:submit').val('Уведомить меня'); }
И в самом конце файла перед 2мя закрывающими скобочками и точкой с запятой:
});вставьте следующую функцию:
// Если товара нет в наличии перекидываем покупателя на страницу обратной связи $('.goodsDataFormSubmitButton input:submit').click(function(){ if($(this).val() == 'Уведомить меня') { document.location = "/feedback/?form[feedback_message]=Могли бы Вы уведомить меня о наличии товара " + $('h1:first').text(); return false; } });
У меня конец файла main.js в итоге получился таким:
$("#deliveryConvenientDate").datepicker({ dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'], dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ], closeText : 'Готово', currentText : 'Сегодня' , duration : '', monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'], monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'], yearRange : "-6:+6", dateFormat : 'dd.mm.yy', minDate : new Date(), firstDay : 1 }); // Если товара нет в наличии перекидываем покупателя на страницу обратной связи $('.goodsDataFormSubmitButton input:submit').click(function(){ if($(this).val() == 'Уведомить меня') { document.location = "/feedback/?form[feedback_message]=Могли бы Вы уведомить меня о наличии товара " + $('h1:first').text(); return false; } }); });Собственно переключатель после этих манипуляций уже будет работать. Осталось только изменить кнопку "В корзину" при первой загрузке страницы товара. Для этого в редакторе тем в шаблоне "Товар" находим (CTRL+F) код кнопки:
<input type="submit" value="Положить в корзину" style="width:200px;" />
и заменяем его на следующий:
<input type="submit" value="{% IF GOODS_MOD_REST_VALUE>0 %}Положить в корзину{% ELSE %}Уведомить меня{% ENDIF %}" style="width:200px;" />
После этого логика должна работать в соответствии с заданием:
Если товара нет в наличии, то вместо кнопки "Положить в корзину" появится кнопка ведущая на "форму обратной связи" с набранным текстом:
"Могли бы Вы уведомить меня о наличии товара ..."
#6
Отправлено 23 Февраль 2011 - 19:57
Прям то что надо!!! В шаблоне "Мокко" работает как часы!)
Я конечно же Вам надоел уже, но если не затруднит напишите как заставить ту же самую логику работать в "Сиянии"... А то че то мозгов не хватает сделать по подобию...
И еще вопрос:
В "Мокко" кнопки В корзину и т.д. сделаны немного не так, как в "Сиянии"... Объясните в чем отличие, и как сделать такие же в "Сиянии"?
Я так понимаю что логика написанная выше не работает в шаблоне "Сияние" как раз из-за этих отличий.
Заранее спасибо!
#7
Отправлено 25 Февраль 2011 - 17:53
В разделе "Сайт" > "Редактор тем" есть javascript файл "main.js", откройте его аналогично предыдущему посту и найдите встроенным поиском браузера (CTRL+F) код:
// Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); }замените его следующим кодом:
// Есть ли товар есть в наличии if(modificationRestValue>0) { goodsAvailableTrue.show(); goodsAvailableFalse.hide(); $('.goodsDataFormSubmitButton .more-link.submit').html('В корзину'); // Если товара нет в наличии } else { goodsAvailableTrue.hide(); goodsAvailableFalse.show(); $('.goodsDataFormSubmitButton .more-link.submit').html('Уведомить меня'); }
В случае с этим шаблоном вставлять дополнительный код в main.js не нужно, надо изменить немного код шаблона "Товар".
Найдите в нём код:
<a class="more-link" onclick="$('.goodsDataForm').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a><br /><br />и замените его на:
<a class="more-link submit" onclick="if($(this).text() == 'Уведомить меня') { document.location = '/feedback/?form[feedback_message]=Могли бы Вы уведомить меня о наличии товара «{GOODS_NAME}»?' } else { $('.goodsDataForm').submit(); } return false;" href="#">{% IF GOODS_MOD_REST_VALUE>0 %}В корзину{% ELSE %}Уведомить меня{% ENDIF %}</a><br /><br />
Собственно переключатель после этих манипуляций уже будет работать, дополнительный действий делать не придётся.
#8
Отправлено 25 Февраль 2011 - 21:36
#9
Отправлено 15 Апрель 2011 - 17:21
Купить и Подробнее
#10
Отправлено 19 Апрель 2011 - 20:09
Вставлять будем вот такой код:
<p> <a class="readmore" title="уведомить о наличии" href="{FEEDBACK_URL}?form[feedback_message]=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%B8%D1%82%D1%8C%20%D0%BE%20%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B8%20{goods.NAME | urlencode}">уведомить</a> </p>
В разделе "Сайт" > "Редактор тем" в шаблонах "товары", "просмотр акции", "поиск" и "html" (в этом шаблоне заменил массив "goods." на "index_page_new_goods.", "index_page_favorites_goods.", "index_page_goods." соответственно).
Изменял вот этот код списка товаров:
<!-- Список товаров. Список --> {% FOR goods %} <div class="listing"> <div class="imagem"><a href="{goods.URL}"><img {% IF goods.IMAGE_EMPTY %}src="{ASSETS_IMAGES_PATH}no-photo-medium.png" width="220"{% ELSE %}src="{goods.IMAGE_SMALL}"{% ENDIF %} alt="{goods.NAME}" /></a></div> <div class="contm"> <h3><a href="{goods.URL}">{goods.NAME}</a></h3> <p> {goods.DESCRIPTION_SHORT} </p> <p> Цена сейчас: <a href="{goods.URL_MIN_PRICE_NOW}">{goods.MIN_PRICE_NOW | money_format}</a><br /> {% IF goods.MIN_PRICE_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 %} </p> <p> <a class="readmore" title="{goods.NAME}" href="{goods.URL}">Подробнее</a> </p> </div> <div class="clr"></div> </div> {% ENDFOR goods %} <!-- /Список товаров. Список -->
Я например вставил кнопку уведомления перед кнопкой подробнее, которая выдаётся в коде выше вот таким вот не хитрым образом:
<p> <a class="readmore" title="{goods.NAME}" href="{goods.URL}">Подробнее</a> </p>
В итоге получилось так:
<p> <a class="readmore" title="уведомить о наличии" href="{FEEDBACK_URL}?form[feedback_message]=%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%B8%D1%82%D1%8C%20%D0%BE%20%D0%BD%D0%B0%D0%BB%D0%B8%D1%87%D0%B8%D0%B8%20{goods.NAME | urlencode}">уведомить</a> </p> <p> <a class="readmore" title="{goods.NAME}" href="{goods.URL}">Подробнее</a> </p>
Результирующий код глазами покупателя:
#11
#12
Отправлено 21 Апрель 2011 - 17:46
a.readmore { font: bold 12px/30px Tahoma, Geneva, sans-serif; color: #666; text-decoration: none; background: url({ASSETS_IMAGES_PATH}read_more2.png) no-repeat left top; height: 30px; width: 135px; padding-left: 15px; display: block;} a.readmore:hover{color: #fff; background: url({ASSETS_IMAGES_PATH}read_more2.png) no-repeat left bottom; }
Далее скачиваете изображение, переименовываете его в read_more2.png, и загружаете его себе в тему.
#13
Отправлено 08 Сентябрь 2011 - 15:44
#14
Отправлено 08 Сентябрь 2011 - 16:26
#15
Отправлено 20 Ноябрь 2011 - 14:50
#16
Отправлено 21 Ноябрь 2011 - 20:27
и где примерно Вы хотите, чтобы она располагалась?
#17
Отправлено 24 Ноябрь 2011 - 02:39
Vaccina (21 Ноябрь 2011 - 20:27) писал:
и где примерно Вы хотите, чтобы она располагалась?
Как -то так.
#18
Отправлено 24 Ноябрь 2011 - 20:22
http://forum.storela..._1601#entry1601
#19
Отправлено 11 Февраль 2012 - 20:23
a.readmore {
font: bold 12px/30px Tahoma, Geneva, sans-serif;
color: #666;
text-decoration: none;
background: url({ASSETS_IMAGES_PATH}read_more2.png) no-repeat left top;
height: 30px;
width: 135px;
padding-left: 15px;
display: block;}
a.readmore:hover{color: #fff; background: url({ASSETS_IMAGES_PATH}read_more2.png) no-repeat left bottom;
}
но она не отоброжается!
Ди и как можно добавить есче кнопку подробно над сравнением и как засунуть туда описание товара...
#20
Отправлено 13 Февраль 2012 - 20:43
<td class="goodsDataFormSubmitButton"> <a class="more-link" onclick="$('.goodsDataForm').submit(); return false;" title="Положить «{GOODS_NAME}» в корзину" href="#">В корзину</a><br /><br /> <!-- Если в тарифном плане подключен модуль сравнения товаров --> {% IF TARIFF_FEATURE_GOODS_COMPARE %} <!-- Если не выключен модуль сравнения товаров, то покажем кнопку сравнения товаров --> {% IFNOT SETTINGS_COMPARE_DISABLE %} <a class="goodsDataCompareButton add" {% IF GOODS_MOD_IS_HAS_IN_COMPARE_LIST %}style="display:none;"{% ENDIF %} rel="{COMPARE_ADD_URL}?return_to={CURRENT_URL | urlencode}" title="Добавить «{GOODS_NAME}» к списку сравнения с другими товарами" href="#" >Добавить к сравнению</a> <a class="goodsDataCompareButton delete" {% IFNOT GOODS_MOD_IS_HAS_IN_COMPARE_LIST %}style="display:none;"{% ENDIF %} rel="{COMPARE_DELETE_URL}?return_to={CURRENT_URL | urlencode}" title="Убрать «{GOODS_NAME}» из списка сравнения с другими товарами" href="#" >Убрать из сравнения</a> {% ENDIF %} {% ENDIF %} </td>
Цитата
И Вы нам не надоели, всегда рады Вам помочь
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных