0 Пользователей и 1 Гость просматривают эту тему.
  • 112 Ответов
  • 52387 Просмотров
*

ecolora

  • Живу я здесь
  • 1410
  • 168
  • творец
Если Вы устанавливали 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&amp;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&amp;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

  • Осваиваюсь на форуме
  • 33
  • 0
Отличная тема!!
*

ecolora

  • Живу я здесь
  • 1410
  • 168
  • творец
Я рад что тема оказалась полезна.
Сколько полезных советов тут на форуме дал... а хоть бы хто карму увеличил. :-)
Это которая возле аватара. :-)
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

Garadzenec

  • Новичок
  • 8
  • 0
Спасибо огромное, очень пригодилось =))
Респект и уважуха!
*

terr

  • Живу я здесь
  • 827
  • 8
  • Ученик html-я
+1 ковсе но вот как паменять вид добавления в корзину из карточки товара?
Да какова к....я оно не пашет, будем страдать и пытать дальше
*

ecolora

  • Живу я здесь
  • 1410
  • 168
  • творец
Код прямоугольника со всеми "причиндалами" и надписью "В корзину", выводимого на странице описания товара, содержится в файле:
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

  • Захожу иногда
  • 24
  • 0
Не хочется плодить тем по корзине. А может ответите где редактируется и изменяется AJAX элемент при добавлении в корзину товара.
*

andersan2000

  • Осваиваюсь на форуме
  • 64
  • 0
+1 прямо читаешь мысли.респект!
*

Sorbon

  • Осваиваюсь на форуме
  • 80
  • 1
ecolora
и от меня СПАСИБО !  ;)
Автомобиль не роскошь, но все-таки дорого!
*

delomac

  • Осваиваюсь на форуме
  • 59
  • 2
Добрый день.
Возник вопрос. А как сделать 2 модуля корзины, чтобы при этом 1 из них был стандартный (с перечнем добавленного товара), а второй тот, который Вы предложили. Есть конечно вариант создать ещё 1 файлик shop.bascet_short.php с другим именем и ещё 1 шаблон и ещё 1 модуль, но это как-то топорно, а хочется какого-нибудь простого решения.

Заранее спасибо.
*

ecolora

  • Живу я здесь
  • 1410
  • 168
  • творец
Дополнил первое сообщение текстом и вложением. :-)

Цитировать
Вариант II.
Если Вас устраивает существующий модуль корзины и Вы хотели бы иметь в дополнение к нему ещё и упрощённый вариант, то специально для Вас приложил модуль мини-корзины, с описанной выше функциональностью.
P.S. Картинка корзины модуля лежит по адресу /modules/mod_virtuemart_cart_mini/menu_logo.gif. Либо можете заменить её сразу в приложенном архиве до его установки.
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

delomac

  • Осваиваюсь на форуме
  • 59
  • 2
Re: Упрощенный модуль корзины
« Ответ #11 : 02.07.2010, 13:16:30 »
Большое спасибо за модуль, тут + обязательно! Но... есть проблема...
по сути решение сам придумал, чтобы 2 модуля корзины на сайте было и Ваш и стандартный, для этого не нужно 2 раз shop.basket_short.php грузить, достаточно в модуле присвоить переменной какой-нибудь значение до инклуда, а потом в shop.basket_short.php сделать условие на проверку значения этой переменной и, в зависимости от него, fetch в нужный шаблон, ну и шаблон соответственно новый сделать. Но суть проблемы в том, что при добавлении товара в корзину в обоих модулях отображается полная информация, а при обновлении страницы в упрощённом варианте все становится как нужно. При добавлении следующего товара такая же ситуация. С чем это может быть связано и как все-таки сделать 2 разных модуля корзины, чтобы они сразу отображали все как нужно.
*

ecolora

  • Живу я здесь
  • 1410
  • 168
  • творец
Re: Упрощенный модуль корзины
« Ответ #12 : 03.07.2010, 04:24:33 »
при добавлении товара в корзину в обоих модулях отображается полная информация, а при обновлении страницы в упрощённом варианте все становится как нужно.
Вы могли бы дать адрес страницы с этими 2мя модулями: моим и стандартным? Я ведь проверял на сайте с Виртом. Вроде всё работало как часы. Точно и без глюков. Сейчас модули корзины отключены, потому что заказчику на данном этапе нужен каталог, а не магазин. Но если Вы свяжетесь со мной по аське, могу на пару минут включить оба модуля и Вы посмотрите как это работает на сайте моего заказчика. Ну и хотелось бы взглянуть как эти 2 модуля работают одновременно на Вашем сайте. Лучше аськой... через форум долго договариваться. Уверен, что проблему, о которой Вы говорите можно решить.
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

delomac

  • Осваиваюсь на форуме
  • 59
  • 2
Re: Упрощенный модуль корзины
« Ответ #13 : 05.07.2010, 14:07:36 »
Большое спасибо за участие. Я тоже верю, что проблему можно решить. Свяжусь с Вами обязательно, но не раньше 20 числа, так как сегодня уезжаю в места, где не будет инета.
PS + пока не могу поставить, так как мало постов у меня :)
*

Unikal

  • Осваиваюсь на форуме
  • 39
  • 1
  • http://yacht-skipper.ru
Re: Упрощенный модуль корзины
« Ответ #14 : 10.07.2010, 04:41:04 »
Установил себе вот этот модуль http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-orders/10883 то что доктор прописал но есть один глюк все языковые переменные задаются в настройках модуля все вроде работает нормально но в момент добавления товара в корзину (ajax) языковые переменные слетают и пишется все по английски в модуле если просто перегрузить страницу опять все встает по русски. Помогите пожалуйста разобраться с этим глюком
*

Андрій

  • Новичок
  • 7
  • 0
Re: Упрощенный модуль корзины
« Ответ #15 : 20.07.2010, 13:45:30 »
респект !
*

delomac

  • Осваиваюсь на форуме
  • 59
  • 2
Re: Упрощенный модуль корзины
« Ответ #16 : 02.08.2010, 20:44:33 »
Возвращаясь к проблеме с неверным отображением упрощённой корзины. Если отключить в настройках магазина использование AJAX для добавления в корзину, то всё работает как надо, но неудобно. А если не отключать, то упрощённая корзина отображается как и обычная (со списком товаров), а после перезагрузки страницы начинает отображаться как нужно (в упрощённой форме). Весь форум перерыл, что только не делал, но если AJAX включен, то работает не так...
Подскажите, может кто сталкивался с подобным.
*

KC

  • Новичок
  • 1
  • 0
Re: Упрощенный модуль корзины
« Ответ #17 : 03.08.2010, 14:24:47 »
2 delomac:
отредактируй стандартный модуль корзины. всё работает.
*

delomac

  • Осваиваюсь на форуме
  • 59
  • 2
Re: Упрощенный модуль корзины
« Ответ #18 : 05.08.2010, 16:56:39 »
А что отредактировать?
При включенном AJAX в любом случае сначала список отображает...
*

yasti

  • Осваиваюсь на форуме
  • 44
  • 0
Re: Упрощенный модуль корзины
« Ответ #19 : 06.08.2010, 11:46:54 »
А что отредактировать?
При включенном AJAX в любом случае сначала список отображает...

deplomac, я присоединяюсь к твоему вопросу.

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

ecolora

  • Живу я здесь
  • 1410
  • 168
  • творец
Re: Упрощенный модуль корзины
« Ответ #20 : 06.08.2010, 11:56:43 »
Народ.... ну некогда править... позже. Занят другим проектом.. позже возможно поправлю. А пока внесите изменения правкой кода стандартного модуля, а не того, который прилагается.

Тогда точно будет работать как нужно.
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

yasti

  • Осваиваюсь на форуме
  • 44
  • 0
Re: Упрощенный модуль корзины
« Ответ #21 : 06.08.2010, 12:34:59 »
 ^-^Да, так действительно все нормально.
Спасибо!
А как сделать, чтобы картинка полной корзины отличалась от пустой?
*

delomac

  • Осваиваюсь на форуме
  • 59
  • 2
Re: Упрощенный модуль корзины
« Ответ #22 : 06.08.2010, 16:48:56 »
А что править в стандартном модуле? Подскажите дилетанту...
*

yasti

  • Осваиваюсь на форуме
  • 44
  • 0
Re: Упрощенный модуль корзины
« Ответ #23 : 06.08.2010, 17:38:43 »
Замени весь код на код в 1 топике.
Там же написано.
*

k2004

  • Осваиваюсь на форуме
  • 57
  • 0
Re: Упрощенный модуль корзины
« Ответ #24 : 09.08.2010, 18:41:58 »
Установил Ваш модуль - мини.. Скажу честно, это то, что я искал! Спасибо и + !))) Только есть еще вопрос - как убрать надпись-ссылку "корзина" или изменить ее цвет, так как у меня она сливается с цветом шаблона. Заранее спасибо



*

Unikal

  • Осваиваюсь на форуме
  • 39
  • 1
  • http://yacht-skipper.ru
Re: Упрощенный модуль корзины
« Ответ #25 : 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&amp;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&amp;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&amp;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&amp;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

  • Живу я здесь
  • 1410
  • 168
  • творец
Re: Упрощенный модуль корзины
« Ответ #26 : 20.08.2010, 13:13:32 »
Цитировать
В вашем коде пропущены теги закрывающие ячейки таблицы </td> а также закрывающие строку таблицы </tr>

Зачем они нужны? Современным браузерам это не требуется.
Научу зарабатывать на сайте ->>

Давайте делать Интернет вместе!
*

Unikal

  • Осваиваюсь на форуме
  • 39
  • 1
  • http://yacht-skipper.ru
Re: Упрощенный модуль корзины
« Ответ #27 : 20.08.2010, 14:07:23 »
Зачем они нужны? Современным браузерам это не требуется.
Как зачем во первых не у всех современные браузеры, во вторых есть стандарты которых нужно придерживаться для того чтобы код был валидным
*

Rap13

  • Новичок
  • 1
  • 0
Re: Упрощенный модуль корзины
« Ответ #28 : 21.08.2010, 10:28:20 »
Огромное Спасибо!
*

Romashka

  • Осваиваюсь на форуме
  • 117
  • 1
Re: Упрощенный модуль корзины
« Ответ #29 : 23.08.2010, 10:15:28 »
А если у меня нет папки administrator\components\com_virtuemart\languages\?? Хотя у  меня интерфейс VirtueMart 1.1.5 русский, но папки languages там вообще нет (( Скачала из интернета Language_Pack_for_VirtueMart_1.1.4.zip (2,013Мб), не устанавливается - пишет "Установочный XML-файл не найден в пакете". Что делать? Как установить эту папку languages?

Мне очень надо решить вопрос с корзиной, потому что у меня вообще нигде ссылки на корзину никакой нет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart 1.1.8 - Наличие: Есть (по умолчанию) + Наличие: ZZZ (бр

Автор Nessy74

Ответов: 6
Просмотров: 1195
Последний ответ 22.01.2016, 13:24:17
от AzMandius
Мод Статистика для VirtueMart 1.0.x

Автор sveneld

Ответов: 13
Просмотров: 4142
Последний ответ 20.07.2015, 20:42:25
от sveneld
VirtueMart 1.1.8 - при клике на Категорию Товара всегда от

Автор Nessy74

Ответов: 6
Просмотров: 656
Последний ответ 12.12.2014, 16:00:36
от Nessy74
Изображение наличия товара в зависимости

Автор Aleks_El_Dia

Ответов: 2
Просмотров: 394
Последний ответ 13.03.2014, 04:58:54
от Aleks_El_Dia
Выпадающий список со всеми товарами [Полн

Автор murat

Ответов: 29
Просмотров: 7412
Последний ответ 30.09.2013, 10:09:38
от be.maxi