SeymurM Опубликовано 7 апреля, 2012 Жалоба Поделиться Опубликовано 7 апреля, 2012 Доброго времени суток. Как реализовать , чтобы товары на странице отображались не все друг под другом, а хотя бы в 2 столбика. т.е 2 в ряд, подними еще 2 и так далее... Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 8 апреля, 2012 Жалоба Поделиться Опубликовано 8 апреля, 2012 в products.tpl меняете <ul class="products"> на <ul class="tiny_products">без \ разумеется Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 8 апреля, 2012 Автор Жалоба Поделиться Опубликовано 8 апреля, 2012 спасибо большое, получилось.Может быть кто знает как реалтзовать выпадающий список, в котором можно выбрать нужный вариант? Конкретно для размеров нужно, потому что, если делать через варианты, то получается слишком длинный список вниз. Готов поговорить насчёт оплаты. Цитата Ссылка на сообщение Поделиться на другие сайты
scvorec Опубликовано 9 апреля, 2012 Жалоба Поделиться Опубликовано 9 апреля, 2012 <!-- Выбор варианта товара --> {* Не показывать выбор варианта, если он один и без названия *} <select name="variant" {if $product->variants|count==1 && !$product->variant->name}style='display:none;'{/if}> {foreach $product->variants as $v} <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if} price="{$v->price|convert}"> {$v->name} </option> {/foreach} </select> <!-- Выбор варианта товара (The End) --> Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 9 апреля, 2012 Автор Жалоба Поделиться Опубликовано 9 апреля, 2012 как-то не понятно. в каком файле данный код? симпла 2.1.0, если что Цитата Ссылка на сообщение Поделиться на другие сайты
scvorec Опубликовано 9 апреля, 2012 Жалоба Поделиться Опубликовано 9 апреля, 2012 Код используется в products.tpl и в product.tpl... Просто заменяете свой вариант радио-баттоны:{if $product->variants|count > 0} <!-- Выбор варианта товара --> <form class="variants" action="/cart"> <table> {foreach $product->variants as $v} <tr class="variant"> <td> <input id="variants_{$v->id}" name="variant" value="{$v->id}" type="radio" class="variant_radiobutton" {if $v@first}checked{/if} {if $product->variants|count<2}style="display:none;"{/if}/> </td> <td> {if $v->name}<label class="variant_name" for="variants_{$v->id}">{$v->name}</label>{/if} </td> <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span> </td> </tr> {/foreach} </table> <input type="submit" class="button" value="в корзину" data-result-text="добавлено"/> </form> <!-- Выбор варианта товара (The End) --> {else} Нет в наличии {/if}на тот, что я указал выше. Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 9 апреля, 2012 Жалоба Поделиться Опубликовано 9 апреля, 2012 ну ещё мне кажется, что в шаблонах так же должен присутствовать скрипт: $(function() { // Выбор вариантов $('select[name=variant]').change(function() { price = $(this).find('option:selected').attr('price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('compare_price') == 'string') compare_price = $(this).find('option:selected').attr('compare_price'); $(this).find('option:selected').attr('compare_price'); $(this).closest('form').find('span').html(price); $(this).closest('form').find('strike').html(compare_price); return false; }); Цитата Ссылка на сообщение Поделиться на другие сайты
scvorec Опубликовано 10 апреля, 2012 Жалоба Поделиться Опубликовано 10 апреля, 2012 да верно, скрипт нужен. Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 10 апреля, 2012 Автор Жалоба Поделиться Опубликовано 10 апреля, 2012 и в product.tpl и в products.tpl код, отвечающий за варианты стал выглядеть так, а на деле как были радио-кнопки, так и остались, никакого выпадающего списка((<!-- Выбор варианта товара --> {* Не показывать выбор варианта, если он один и без названия *} <select name="variant" {if $product->variants|count==1 && !$product->variant->name}style='display:none;'{/if}> {foreach $product->variants as $v} <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if} price="{$v->price|convert}"> {$v->name} </option> {/foreach} </select><script>$(function() { // Выбор вариантов $('select[name=variant]').change(function() { price = $(this).find('option:selected').attr('price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('compare_price') == 'string') compare_price = $(this).find('option:selected').attr('compare_price'); $(this).find('option:selected').attr('compare_price'); $(this).closest('form').find('span').html(price); $(this).closest('form').find('strike').html(compare_price); return false; });</script> <!-- Выбор варианта товара (The End) --> Цитата Ссылка на сообщение Поделиться на другие сайты
scvorec Опубликовано 10 апреля, 2012 Жалоба Поделиться Опубликовано 10 апреля, 2012 Вообщем полный листинг product.tpl:{if $product->variants|count > 0} <!-- Цена и заказ товара --> <form class="cart" action="cart" method="get"> <!-- Выбор варианта товара --> {* Не показывать выбор варианта, если он один и без названия *} <select name="variant" {if $product->variants|count==1 && !$product->variant->name}style='display:none;'{/if}> {foreach $product->variants as $v} <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if} price="{$v->price|convert}" {if $v->id == $product->variant->id}selected{/if}> {$v->name} </option> {/foreach} </select> <!-- Выбор варианта товара (The End) --> <!-- Цена товара --> <div class="price"> <strike> {if $product->variant->compare_price > 0} {$product->variant->compare_price|convert} {/if} </strike> <span>{$product->variant->price|convert}</span> <i>{$currency->sign|escape}</i> </div> <!-- Цена товара (The End) --> <!-- В корзину --> <input type="submit" class="button" value="Заказать" added_text="Добавлено"/> <!-- В корзину (The End) --> </form> <!-- Цена и заказ товара (The End)--> {/if}<script>{literal}// Выбор вариантов $('select[name=variant]').change(function() { price = $(this).find('option:selected').attr('price'); compare_price = ''; if(typeof $(this).find('option:selected').attr('compare_price') == 'string') compare_price = $(this).find('option:selected').attr('compare_price'); $(this).find('option:selected').attr('compare_price'); $(this).closest('form').find('span').html(price); $(this).closest('form').find('strike').html(compare_price); return false; });});</script>{/literal}в products.tpl все аналогично Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 10 апреля, 2012 Автор Жалоба Поделиться Опубликовано 10 апреля, 2012 Что-то я не пойму, вставил ваш код в оба файла, как кругляшки с точкой были так и остались, никакого намека на выпадающий список. Я же весь старый код убрал, почему эти кругляшки сохранились?? Этот способ точно подходит для 2.1.0? До вашего кода у меня в данный файлах не было, например, строк про цену и заказ... Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 10 апреля, 2012 Жалоба Поделиться Опубликовано 10 апреля, 2012 КЭП подсказывает, что кругляшки остались на главной))) перейди на страницу товара. Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 10 апреля, 2012 Автор Жалоба Поделиться Опубликовано 10 апреля, 2012 если переходить на страницу товара, то "На веб-сайте произошла ошибка при получении *здесь url* . Веб-сайт может быть закрыт на обслуживание или настроен неправильно." И ещё, надо же ведь, чтоб и на главной отображалось в списке Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 10 апреля, 2012 Жалоба Поделиться Опубликовано 10 апреля, 2012 вообщем, filthsoul@ukr.net сюда кинь main.tpl, products.tpl, и product.tpl - гляну что не так, по возможности сделаю. Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 10 апреля, 2012 Автор Жалоба Поделиться Опубликовано 10 апреля, 2012 Отправил, спасибо Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 10 апреля, 2012 Жалоба Поделиться Опубликовано 10 апреля, 2012 отправил правленную главную. проверь Цитата Ссылка на сообщение Поделиться на другие сайты
SeymurM Опубликовано 10 апреля, 2012 Автор Жалоба Поделиться Опубликовано 10 апреля, 2012 Спасибо, теперь всё работает. надо будет разобраться, что я делал не так. Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 10 апреля, 2012 Жалоба Поделиться Опубликовано 10 апреля, 2012 Скрипт ты не туда вставлял, да и сам код разорван был. Цитата Ссылка на сообщение Поделиться на другие сайты
basil13 Опубликовано 5 мая, 2012 Жалоба Поделиться Опубликовано 5 мая, 2012 ну а кто поделится? а то при заказе, сразу преходит в корзину а не добавляет товар, киньте код на remark666 \СОБАКА\ gmail.com Цитата Ссылка на сообщение Поделиться на другие сайты
Slavik911 Опубликовано 24 мая, 2012 Жалоба Поделиться Опубликовано 24 мая, 2012 список отображается, но при нажатии кнопки "в корзину" товар летит к корзине и не добавляется. Как исправить? Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 24 мая, 2012 Жалоба Поделиться Опубликовано 24 мая, 2012 попробуй: В шаблонах изменить код добавления в корзину на <!-- В корзину --> <input type="submit" class="add_to_cart" value="В корзину" added_text="Добавлено"/> <!-- В корзину (The End) -->файл ajax_cart.js должен быть с таким содержанием:// Аяксовая корзина$('form.cart').live('submit', function(e) { e.preventDefault(); button = $(this).find('input[type=submit]'); $.ajax({ url: "ajax/cart.php", data: {variant: $(this).find('select').val()}, dataType: 'json', success: function(data){ $('#cart_informer').html(data); if(button.attr('added_text')) button.val(button.attr('added_text')); } }); var o1 = $(this).offset(); var o2 = $('#cart_informer').offset(); var dx = o1.left - o2.left; var dy = o1.top - o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance); $('.transfer_class').html($(this).closest('.product').find('.image').html()); $('.transfer_class').find('img').css('height', '100%'); return false;});/*// Аяксовая корзина$('a[href*=cart?variant]').live('click', function(e) { e.preventDefault(); //variant_id = $(this).attr('id'); href = $(this).attr('href'); pattern = /\/?cart\?variant=(\d+)$/; variant_id = pattern.exec(href)[1]; link = $(this); $.ajax({ url: "ajax/cart.php", data: {variant: variant_id}, dataType: 'json', success: function(data){ $('#cart_informer').html(data); //if(link.attr('added_text')) // link.html(link.attr('added_text')); //link.attr('href', '/cart'); } }); var o1 = $(this).offset(); var o2 = $('#cart_informer').offset(); var dx = o1.left - o2.left; var dy = o1.top - o2.top; var distance = Math.sqrt(dx * dx + dy * dy); $(this).closest('.product').find('.image img').effect("transfer", { to: $("#cart_informer"), className: "transfer_class" }, distance); $('.transfer_class').html($(this).closest('.product').find('.image').html()); $('.transfer_class').find('img').css('height', '100%'); return false;});*/ Цитата Ссылка на сообщение Поделиться на другие сайты
filth Опубликовано 24 мая, 2012 Жалоба Поделиться Опубликовано 24 мая, 2012 да и лишние \ не забудь убрать Цитата Ссылка на сообщение Поделиться на другие сайты
picuslab Опубликовано 24 мая, 2012 Жалоба Поделиться Опубликовано 24 мая, 2012 Всем спасибо. Сделал как написано, все получилось.Только теперь появились другие вопросы:- Раньше товар добавлялся в корзину (летел), но корзина не открывалась.Сейчас сразу открывается корзина. Как сделать, как было до этого?- Теперь руб. написано курсивом, как сделать обычный шрифт? Цитата Ссылка на сообщение Поделиться на другие сайты
Slavik911 Опубликовано 25 мая, 2012 Жалоба Поделиться Опубликовано 25 мая, 2012 filth,большое спасибо, помогло, но теперь сразу в корзину переходит и цен возле товаров нету Цитата Ссылка на сообщение Поделиться на другие сайты
arsium Опубликовано 25 мая, 2012 Жалоба Поделиться Опубликовано 25 мая, 2012 Проблема не решена?...но теперь сразу в корзину переходит...Кто может подробно написать - что и как сделать, чтобы варианты товара были выпадающим списком? Если есть желание помочь, пишите сразу WMR кошелек, щедро отблагодарю - на деньги не жадный. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.