Version: current

     1 <?php
     2
     3 /**
     4  * Получение данных от корзины,
     5  *
     6  * @package cart
     7  * @author inxo, dvp
     8  */
     9 class ExtendPageCart extends Extension {
    10
    11     /*
    12      * Получение информации, что в текущий момент в корзине и на какую сумму
    13      */
    14     function CartInfo() {
    15         $cart = Cart::current_order();
    16
    17         if ($cart->getTotalQuantity() > 0) {
    18             $result = new ArrayData(array(
    19                 'ItemName' => $cart->ItemName(),
    20                 'CountItems' => DBField::create('Int', $cart->getTotalQuantity()),
    21                 'CountLines' => DBField::create('Int', $cart->Items()->Count()),
    22                 'TotalPrice' => DBField::create('CatalogPrice', $cart->getTotalPrice()),
    23                 'CheckoutLink' => CheckoutPage::find_link(),
    24                 'CartLink' => CartPage::find_link(),
    25                 'Currency' => SiteConfig::current_site_config()->CatalogCurrency,
    26             ));
    27             //$this->extend('updateCartInfo', $result);
    28             return $result;
    29         }
    30         return null;
    31     }
    32
    33     /**
    34      * Возвращает HTML блок корзины.
    35      * Использует шаблон CartBlock.
    36      *
    37      * @return string
    38      */
    39     function CartBlock() {
    40         return $this->owner->renderWith('CartBlock', array('CartInfo' => $this->CartInfo()));
    41     }
    42
    43     /**
    44      * Ссылка на страницу корзины
    45      *
    46      * @return string
    47      */
    48     function CartLink() {
    49         return CartPage::find_link();
    50     }
    51
    52     /**
    53      * Ссылка на страницу заказа
    54      *
    55      * @return string
    56      */
    57     function CheckoutLink() {
    58         return CheckoutPage::find_link();
    59     }
    60 }
    61

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -