Подскажите пожайлуста, не обходимо в неком регионе шаблона выводит блок Авторизации пользователя при условии, что Guest еще ничего не положил в корзину, а если же уже, что-то имеет в ней, выводить блок Shopping cart block. Ну и конечно же если Guest авторизовался, то выводить так же Shopping cart block.
Не знаю как реализовать данный функционал:
а) где его собственно реализовать (пока, что вижу реализацию следующим образом, в Shopping cart block имеются два поля:
- Глобальный: PHP
- Commerce Order: Общая сумма заказа (Общая сумма заказа) [Исключен из вывода, без него не хочет вообще рендерится блок]
, в поле PHP имеется слеющий код:
<?php
global $user;
$order = commerce_cart_order_load($user->uid);
if(
$order) {
$quantity = count($order->commerce_line_items['und']);
$price = $order->commerce_order_total['und']['0']['amount'];
$price = substr($price, 0, strlen($price)-2); // Отсюда идет преобразование строки с ценой в нужный вид (1.000)
if(strlen($price) > 3)
$price = preg_replace("/(\d+)(\d{3})$/", "$1.$2", $price);
echo "В корзине товаров: <b>" . $quantity . "</b>";
echo "На общую сумму: <b>" . $price . "</b> руб.";
}
?>
Добивать в устовие функцию которая рисует блок корзины, но не могу понят, что это за функция.
б) как узнать не наполнена ли корзина (если реализовывать за пределами вьюхи)
drupal: 7.14
commerce: 7.12