|
ecolora
|
 |
« : 27.03.2010, 20:13:26 » |
|
Если Вы устанавливали VirtueMart по инструкции, то вместе с ним, вероятно, установили и модуль корзины. В некоторых случаях он является прекрасным дополнением к сайту, позволяя выводить не только количество товаров и общую стоимость, но и их наименования с указанием количества и стоимости каждого товара. А если всё это не нужно? Если хочется, чтобы корзина имела простой вид: картинка корзины, ссылка на неё, указание количества товаров в корзине и их общая стоимость (если количество товаров > 0). Наверняка Вы встречали такое где-нибудь в Интернете, когда, например, вверху сайта на видном месте возле логотипа постоянно висела корзина с минимально необходимой информацией. Я расскажу Вам как это можно сделать. Вариант I.Во первых в файле administrator\components\com_virtuemart\languages\common\russian.php в любое место массива языковых значений добавляем вот этот код: 'PHPSHOP_PRODUCT_COUNT_NAME' => 'Товаров', 'PHPSHOP_PRODUCTS_PAYS' => 'Сумма', Во вторых, чтобы не изменялся фон у корзины при добавлении товара, идем к файлу (components -> com_virtuemart -> themes -> default -> theme.js) и комментируем строки: fxc.start( '#222', color ); fxbgc.start( '#fff68f', bgcolor ); if( parent ) { setTimeout( "carts[" + i + "].setStyle( 'background-color', 'transparent' )", 1000 ); } В третьих, открываем файл components\com_virtuemart\themes\default\templates\common\minicart.tpl.php, в котором как раз содержится код стандартного модуля корзины магазина VirtueMart, и заменяем полностью его содержимое на: <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
<table border=0 cellpadding=0 cellspaceing=0 width=100%><tr valign=top><td> <?php if(!$vmMinicart) { ?> <a href="index.php?page=shop.cart&option=com_virtuemart" target="_self"> <img style="display: block;" src="<?php echo $mm_action_url ?>components/com_virtuemart/shop_image/ps_image/menu_logo.gif" alt="VirtueMart" border="0" /></a> <td> <a href="index.php?page=shop.cart&option=com_virtuemart" target="_self"> <?php } echo $VM_LANG->_('PHPSHOP_CART_TITLE')?> </a> <br /> <?php $qnt = 0; // Loop through each row and build the table foreach( $minicart as $cart ) {
foreach( $cart as $attr => $val ) { // Using this we make all the variables available in the template // translated example: $this->set( 'product_name', $product_name ); $this->set( $attr, $val ); } if(!$vmMinicart) { // Build Minicart ?> <?php $qnt = $qnt + $cart['quantity']; } }
echo $VM_LANG->_('PHPSHOP_PRODUCT_COUNT_NAME').': '.$qnt.' '.$VM_LANG->_('PHPSHOP_PRODUCT_FORM_UNIT_DEFAULT');?> <br /> <?php if ($total_price != '') echo $VM_LANG->_('PHPSHOP_PRODUCTS_PAYS').': '.$total_price; ?> </table> Сохраняемся. Жмём Обновить сайт! И вместо стандартного модуля корзины видим простой модуль (картинка, Корзина, Товары - шт., Сумма (если товаров > 0) и ничего лишнего!), который можно переместить наверх сайта, куда-нибудь поближе к логотипу, где ему самое место! P.S. Картинка корзины лежит по адресу components/com_virtuemart/shop_image/ps_image/menu_logo.gif Вариант II.Если Вас устраивает существующий модуль корзины и Вы хотели бы иметь в дополнение к нему ещё и упрощённый вариант, то берем упрощенный модуль мини-корзины, с описанной выше функциональностью вот тут. _____________________________________ Если Вы хотите отблагодарить меня за проделанную работу, зарегистрируйтесь по этим партнёрским ссылкам:  Это биржи ссылок. Из личного опыта: к примеру, доход для вёбмастера для сайта с тИЦ 10 и PR 2 - с каждой из них около 1000 р./мес.
|
|
|
|
« Последнее редактирование: 14.03.2012, 19:01:13 от ecolora »
|
Записан
|
|
|
|
| |
frion
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 41
|
 |
« Ответ #1 : 31.03.2010, 12:03:50 » |
|
Отличная тема!!
|
|
|
|
|
Записан
|
|
|
|
|
ecolora
|
 |
« Ответ #2 : 31.03.2010, 12:32:25 » |
|
Я рад что тема оказалась полезна. Сколько полезных советов тут на форуме дал... а хоть бы хто карму увеличил. :-) Это которая возле аватара. :-)
|
|
|
|
|
Записан
|
|
|
|
oleg12
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 70
|
 |
« Ответ #3 : 08.04.2010, 21:47:58 » |
|
Спасибо огромное поставлю +)))
|
|
|
|
« Последнее редактирование: 21.04.2010, 06:14:07 от oleg12 »
|
Записан
|
|
|
|
Garadzenec
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #4 : 21.04.2010, 00:35:55 » |
|
Спасибо огромное, очень пригодилось =)) Респект и уважуха!
|
|
|
|
|
Записан
|
|
|
|
terr
Завсегдатай
   
Репутация: +10/-4
Offline
Пол: 
Сообщений: 750
Ученик html-я
|
 |
« Ответ #5 : 29.04.2010, 21:25:44 » |
|
+1 ковсе но вот как паменять вид добавления в корзину из карточки товара?
|
|
|
|
|
Записан
|
|
|
|
|
ecolora
|
 |
« Ответ #6 : 30.04.2010, 09:31:49 » |
|
Код прямоугольника со всеми "причиндалами" и надписью "В корзину", выводимого на странице описания товара, содержится в файле: components/com_virtuemart/themes/default/templates/product_detailes/includes/addtocart_form.tpl.php. При этом сам прямоугольник с границами - это: <div class="vmCartContainer"> Стиль для которого задаётся в файле: components/com_virtuemart/themes/default/theme.css а именно: .vmCartContainer { /* Cart Container */ width: auto; float: left; background: #ADD8E6; border: 1px solid #000; padding: 3px; } Меняйте стили и код как Вам угодно. :-) Я ограничился тем, что убрал голубой цвет и сделал серый бордюр: .vmCartContainer { /* Cart Container */ width: auto; float: left; border: 1px solid #c0c0c0; padding: 3px; } А также закомментировал надпись на кнопке в Корзину: <input type="submit" class="<?php echo $button_cls ?>" value="<?php //echo $button_lbl ?>" title="<?php echo $button_lbl ?>" /> И заменил картинку корзины на картинку другого цвета и написал на ней "В корзину". Картинка находится тут "components/com_virtuemart/themes/default/images/add-to-cart_blue.gif Там кстати уже лежат картинки с корзиной других цветов.
|
|
|
|
« Последнее редактирование: 30.04.2010, 09:42:33 от ecolora »
|
Записан
|
|
|
|
testosterone
Захожу иногда

Репутация: +0/-0
Offline
Пол: 
Сообщений: 21
|
 |
« Ответ #7 : 04.05.2010, 14:35:00 » |
|
Не хочется плодить тем по корзине. А может ответите где редактируется и изменяется AJAX элемент при добавлении в корзину товара.
|
|
|
|
|
Записан
|
|
|
|
andersan2000
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 27
|
 |
« Ответ #8 : 17.05.2010, 13:49:18 » |
|
+1 прямо читаешь мысли.респект!
|
|
|
|
|
Записан
|
|
|
|
Sorbon
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 55
|
 |
« Ответ #9 : 10.06.2010, 20:29:36 » |
|
ecoloraи от меня СПАСИБО ! 
|
|
|
|
|
Записан
|
|
|
|
delomac
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 55
|
 |
« Ответ #10 : 29.06.2010, 13:05:08 » |
|
Добрый день. Возник вопрос. А как сделать 2 модуля корзины, чтобы при этом 1 из них был стандартный (с перечнем добавленного товара), а второй тот, который Вы предложили. Есть конечно вариант создать ещё 1 файлик shop.bascet_short.php с другим именем и ещё 1 шаблон и ещё 1 модуль, но это как-то топорно, а хочется какого-нибудь простого решения.
Заранее спасибо.
|
|
|
|
|
Записан
|
|
|
|
|
ecolora
|
 |
« Ответ #11 : 29.06.2010, 19:32:29 » |
|
Дополнил первое сообщение текстом и вложением. :-) Вариант II. Если Вас устраивает существующий модуль корзины и Вы хотели бы иметь в дополнение к нему ещё и упрощённый вариант, то специально для Вас приложил модуль мини-корзины, с описанной выше функциональностью. P.S. Картинка корзины модуля лежит по адресу /modules/mod_virtuemart_cart_mini/menu_logo.gif. Либо можете заменить её сразу в приложенном архиве до его установки.
|
|
|
|
|
Записан
|
|
|
|
delomac
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 55
|
 |
« Ответ #12 : 02.07.2010, 13:16:30 » |
|
Большое спасибо за модуль, тут + обязательно! Но... есть проблема... по сути решение сам придумал, чтобы 2 модуля корзины на сайте было и Ваш и стандартный, для этого не нужно 2 раз shop.basket_short.php грузить, достаточно в модуле присвоить переменной какой-нибудь значение до инклуда, а потом в shop.basket_short.php сделать условие на проверку значения этой переменной и, в зависимости от него, fetch в нужный шаблон, ну и шаблон соответственно новый сделать. Но суть проблемы в том, что при добавлении товара в корзину в обоих модулях отображается полная информация, а при обновлении страницы в упрощённом варианте все становится как нужно. При добавлении следующего товара такая же ситуация. С чем это может быть связано и как все-таки сделать 2 разных модуля корзины, чтобы они сразу отображали все как нужно.
|
|
|
|
|
Записан
|
|
|
|
|
ecolora
|
 |
« Ответ #13 : 03.07.2010, 04:24:33 » |
|
при добавлении товара в корзину в обоих модулях отображается полная информация, а при обновлении страницы в упрощённом варианте все становится как нужно. Вы могли бы дать адрес страницы с этими 2мя модулями: моим и стандартным? Я ведь проверял на сайте с Виртом. Вроде всё работало как часы. Точно и без глюков. Сейчас модули корзины отключены, потому что заказчику на данном этапе нужен каталог, а не магазин. Но если Вы свяжетесь со мной по аське, могу на пару минут включить оба модуля и Вы посмотрите как это работает на сайте моего заказчика. Ну и хотелось бы взглянуть как эти 2 модуля работают одновременно на Вашем сайте. Лучше аськой... через форум долго договариваться. Уверен, что проблему, о которой Вы говорите можно решить.
|
|
|
|
|
Записан
|
|
|
|
delomac
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 55
|
 |
« Ответ #14 : 05.07.2010, 14:07:36 » |
|
Большое спасибо за участие. Я тоже верю, что проблему можно решить. Свяжусь с Вами обязательно, но не раньше 20 числа, так как сегодня уезжаю в места, где не будет инета. PS + пока не могу поставить, так как мало постов у меня 
|
|
|
|
|
Записан
|
|
|
|
Unikal
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 63
http://yacht-skipper.ru
|
 |
« Ответ #15 : 10.07.2010, 04:41:04 » |
|
Установил себе вот этот модуль http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-orders/10883 то что доктор прописал но есть один глюк все языковые переменные задаются в настройках модуля все вроде работает нормально но в момент добавления товара в корзину (ajax) языковые переменные слетают и пишется все по английски в модуле если просто перегрузить страницу опять все встает по русски. Помогите пожалуйста разобраться с этим глюком
|
|
|
|
|
Записан
|
|
|
|
Андрій
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 6
|
 |
« Ответ #16 : 20.07.2010, 13:45:30 » |
|
респект !
|
|
|
|
|
Записан
|
|
|
|
delomac
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 55
|
 |
« Ответ #17 : 02.08.2010, 20:44:33 » |
|
Возвращаясь к проблеме с неверным отображением упрощённой корзины. Если отключить в настройках магазина использование AJAX для добавления в корзину, то всё работает как надо, но неудобно. А если не отключать, то упрощённая корзина отображается как и обычная (со списком товаров), а после перезагрузки страницы начинает отображаться как нужно (в упрощённой форме). Весь форум перерыл, что только не делал, но если AJAX включен, то работает не так... Подскажите, может кто сталкивался с подобным.
|
|
|
|
|
Записан
|
|
|
|
KC
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #18 : 03.08.2010, 14:24:47 » |
|
2 delomac: отредактируй стандартный модуль корзины. всё работает.
|
|
|
|
|
Записан
|
|
|
|
delomac
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 55
|
 |
« Ответ #19 : 05.08.2010, 16:56:39 » |
|
А что отредактировать? При включенном AJAX в любом случае сначала список отображает...
|
|
|
|
|
Записан
|
|
|
|
yasti
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #20 : 06.08.2010, 11:46:54 » |
|
А что отредактировать? При включенном AJAX в любом случае сначала список отображает...
deplomac, я присоединяюсь к твоему вопросу. Автору - спасибо за корзину, но, действительно, когда добавляешь товары, корзина разворачивается и отображает весь список. А маленькой опять становится только после перезагрузки страницы.
|
|
|
|
|
Записан
|
|
|
|
|
ecolora
|
 |
« Ответ #21 : 06.08.2010, 11:56:43 » |
|
Народ.... ну некогда править... позже. Занят другим проектом.. позже возможно поправлю. А пока внесите изменения правкой кода стандартного модуля, а не того, который прилагается.
Тогда точно будет работать как нужно.
|
|
|
|
|
Записан
|
|
|
|
yasti
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #22 : 06.08.2010, 12:34:59 » |
|
 Да, так действительно все нормально. Спасибо! А как сделать, чтобы картинка полной корзины отличалась от пустой?
|
|
|
|
|
Записан
|
|
|
|
delomac
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 55
|
 |
« Ответ #23 : 06.08.2010, 16:48:56 » |
|
А что править в стандартном модуле? Подскажите дилетанту...
|
|
|
|
|
Записан
|
|
|
|
yasti
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #24 : 06.08.2010, 17:38:43 » |
|
Замени весь код на код в 1 топике. Там же написано.
|
|
|
|
|
Записан
|
|
|
|
k2004
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 52
|
 |
« Ответ #25 : 09.08.2010, 18:41:58 » |
|
Установил Ваш модуль - мини.. Скажу честно, это то, что я искал! Спасибо и + !))) Только есть еще вопрос - как убрать надпись-ссылку "корзина" или изменить ее цвет, так как у меня она сливается с цветом шаблона. Заранее спасибо
|
|
|
|
|
Записан
|
|
|
|
Unikal
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 63
http://yacht-skipper.ru
|
 |
« Ответ #26 : 19.08.2010, 23:15:27 » |
|
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
<table border=0 cellpadding=0 cellspaceing=0 width=100%><tr valign=top><td> <?php if(!$vmMinicart) { ?> <a href="index.php?page=shop.cart&option=com_virtuemart" target="_self"> <img style="display: block;" src="<?php echo $mm_action_url ?>components/com_virtuemart/shop_image/ps_image/menu_logo.gif" alt="VirtueMart" border="0" /></a> <td> <a href="index.php?page=shop.cart&option=com_virtuemart" target="_self"> <?php } echo $VM_LANG->_('PHPSHOP_CART_TITLE')?> </a> <br /> <?php $qnt = 0; // Loop through each row and build the table foreach( $minicart as $cart ) {
foreach( $cart as $attr => $val ) { // Using this we make all the variables available in the template // translated example: $this->set( 'product_name', $product_name ); $this->set( $attr, $val ); } if(!$vmMinicart) { // Build Minicart ?> <?php $qnt = $qnt + $cart['quantity']; } }
echo $VM_LANG->_('PHPSHOP_PRODUCT_COUNT_NAME').': '.$qnt.' '.$VM_LANG->_('PHPSHOP_PRODUCT_FORM_UNIT_DEFAULT');?> <br /> <?php if ($total_price != '') echo $VM_LANG->_('PHPSHOP_PRODUCTS_PAYS').': '.$total_price; ?> </table> В вашем коде пропущены теги закрывающие ячейки таблицы </td> а также закрывающие строку таблицы </tr> Правильнее будет так <?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>
<table border=0 cellpadding=0 cellspaceing=0 width=100%><tr valign=top><td> <?php if(!$vmMinicart) { ?> <a href="index.php?page=shop.cart&option=com_virtuemart" target="_self"> <img style="display: block;" src="<?php echo $mm_action_url ?>components/com_virtuemart/shop_image/ps_image/menu_logo.gif" alt="VirtueMart" border="0" /></a> </td> <td> <a href="index.php?page=shop.cart&option=com_virtuemart" target="_self"> <?php } echo $VM_LANG->_('PHPSHOP_CART_TITLE')?> </a> <br /> <?php $qnt = 0; // Loop through each row and build the table foreach( $minicart as $cart ) {
foreach( $cart as $attr => $val ) { // Using this we make all the variables available in the template // translated example: $this->set( 'product_name', $product_name ); $this->set( $attr, $val ); } if(!$vmMinicart) { // Build Minicart ?> <?php $qnt = $qnt + $cart['quantity']; } }
echo $VM_LANG->_('PHPSHOP_PRODUCT_COUNT_NAME').': '.$qnt.' '.$VM_LANG->_('PHPSHOP_PRODUCT_FORM_UNIT_DEFAULT');?> <br /> <?php if ($total_price != '') echo $VM_LANG->_('PHPSHOP_PRODUCTS_PAYS').': '.$total_price; ?> </td> </tr> </table>
а вообще лучше сверстать слоями под свои нужды
|
|
|
|
|
Записан
|
|
|
|
|
ecolora
|
 |
« Ответ #27 : 20.08.2010, 13:13:32 » |
|
В вашем коде пропущены теги закрывающие ячейки таблицы </td> а также закрывающие строку таблицы </tr> Зачем они нужны? Современным браузерам это не требуется.
|
|
|
|
|
Записан
|
|
|
|
Unikal
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 63
http://yacht-skipper.ru
|
 |
« Ответ #28 : 20.08.2010, 14:07:23 » |
|
Зачем они нужны? Современным браузерам это не требуется.
Как зачем во первых не у всех современные браузеры, во вторых есть стандарты которых нужно придерживаться для того чтобы код был валидным
|
|
|
|
|
Записан
|
|
|
|
Rap13
Новичок
Репутация: +0/-0
Offline
Пол: 
Сообщений: 1
|
 |
« Ответ #29 : 21.08.2010, 10:28:20 » |
|
Огромное Спасибо!
|
|
|
|
|
Записан
|
|
|
|
|