VirtueMart изнутри

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

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
VirtueMart изнутри
« : 14.10.2015, 17:47:32 »
Все привет.
Кто знает  VirtueMart 2&3 изнутри?
У меня тут задача встала корзину сделать из 4 шагов. Стандартная или onepage не подходят. решено делать свою без привязки к vm.
И вот мне интересно как я могу через код вызвать функцию для формирования заказа, что бы он хотя бы сохранился в админку...

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Re: VirtueMart изнутри
« Ответ #1 : 14.10.2015, 20:02:21 »
Еще задался вопросом как сохранить поля покупателя. Например на одном шаге сохранить телефон, а на другом уже все остальное. Думал в сессеи где то.
Например сделал заказ на дефолтной корзине. Заполненные поля теперь сохранились, поэтому же принципу хочу сохранять поля во время оформления, но print_r($_SESSION); выдает не все из полей. Поэтому пока не догнал как и где они сохраняются.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Re: VirtueMart изнутри
« Ответ #2 : 15.10.2015, 16:12:38 »
Сейчас столкнулся с тем что данные из сессия пропадают куда то.
Например записал я значение.

Код
$session = JFactory::getSession();
$cartSession = $session->get('vmcart', 0, 'vm');
$sessionCart = (object)json_decode( $cartSession ,true);
$sessionCart->BT['first_name'] = "ПУТИН";
$sessionCart = json_encode($sessionCart);
$session->set('vmcart', $sessionCart,'vm');
session_write_close();

Смотрю на страницу все есть, но после 1-3 обновлений страницы значение поля 'first_name' пропадает.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Re: VirtueMart изнутри
« Ответ #3 : 15.10.2015, 19:50:33 »
Замечено следующие при работе с сессией корзины.

Перевести из json получим такую структуру. И мне надо записать в ST массив, но он где то исчезает. А если я запишу в другое поле например cartfields то все сохраняется как надо. Что с полем ST такого особенного?
Код
stdClass Object
(
    [cartProductsData] => Array
        (
            [0] => Array
                (
                    [virtuemart_product_id] => 4
                    [quantity] => 1
                    [customProductData] => Array
                        (
                        )

                )

        )

    [vendorId] => 1
    [lastVisitedCategoryId] => 0
    [virtuemart_shipmentmethod_id] => 0
    [virtuemart_paymentmethod_id] => 0
    [automaticSelectedShipment] =>
    [automaticSelectedPayment] =>
    [order_number] =>
    [BT] => Array
        (
            [email] =>
            [delimiter_billto] =>
            [middle_name] =>
            [last_name] =>
            [address_1] =>
            [address_2] =>
            [zip] => 11111
            [city] =>
            [virtuemart_country_id] => 176
            [virtuemart_state_id] =>
            [phone_2] =>
        )

    [ST] => 0
    [cartfields] =>
    [couponCode] =>
    [_triesValidateCoupon] => Array
        (
        )

    [order_language] => ru-RU
    [pricesCurrency] => 131
    [paymentCurrency] => 131
    [_guest] => 1
    [_inCheckOut] =>
    [_inConfirm] =>
    [_dataValidated] =>
    [_confirmDone] =>
    [STsameAsBT] => 1
    [selected_shipto] => 0
    [_fromCart] =>
    [layout] => default
    [layoutPath] =>
    [virtuemart_cart_id] => 0
)

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Re: VirtueMart изнутри
« Ответ #4 : 16.10.2015, 15:12:15 »
Проблема была в компоненте onepage. Хотел делать на его основе.
Сейчас делаю на дефолтной корзине, все в порядке с манипуляциями в сессии.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Re: VirtueMart изнутри
« Ответ #5 : 21.10.2015, 19:33:38 »
Сделал что хотел.
Решил прикрутить авторизацию. Если человек залогинен, то опять не могу править часть данных в сессии. Не знаю что делать с этим.

*

stydent

  • Осваиваюсь на форуме
  • ***
  • 140
  • 0
Re: VirtueMart изнутри
« Ответ #6 : 22.10.2015, 19:06:30 »
Разобрался часть данных в таком случае уже хранится в базе данных и править надо не сессию, а делать запросы