Здравствуйте. Немного модернизировал виджет вывода "мини профиля", добавив в файлик rcl-widgets в необходимое место код
$balance = rcl_get_user_balance($user_id); if($balance){ echo '<span title="баланс" class="rating-rcl"><span class="rating-value rating-null" style=" margin-left: 0px; margin-top: 5px;"> Личный счет:' .$balance.' руб.</span></span>'; } else { echo '<span title="баланс" class="rating-rcl"><span class="rating-value rating-null" style="width: 110px; margin-left: 0px; margin-top: 5px;">Личный счет: 0 руб.</span></span>'; }
чтобы вывести баланс пользователя. Нечто аналогичное хотелось бы сделать и с корзиной. Чтобы было типа "Корзина (2)", если положили в нее два товара. Подскажите пожалуйста какую функцию использовать, а то что-то сложность у меня возникла. Прошарил файлы папки magazin, пробовал брать кое какие функции, но успехом это не увенчалось. Заранее большое спасибо
Сделал, но не все получилось. Верно показывает число товаров только на странице самой корзины, либо на любой странице, но только когда добавляешь еще один товар. После обновления странички число товаров исчезает, кладешь в корзинку еще товар и вновь появляется до ближайшего обновления странички.
... function widget( $args, $instance ) { global $CartData; ... echo '<span class="rating-rcl"><span class="rating-value rating-null"> <a href=" '; echo get_permalink($CartData->cart_url); echo '">Корзина</a> (<p class="cart-numbers">'.$CartData->numberproducts.'</p>)</span></span>'; ...
18. Глобальные переменные WP-Recall
$CartData - массив. Данные в корзине. Урл до страницы корзины, Количество товара, его id и цена, общая сумма в корзине
Подсмотреть можете /wp-recall/add-on/magazin/templates/cart-mini-content.php
<span class="cart-numbers"><?php echo $CartData->numberproducts; ?></span> шт.
Дима Уткин сказал(а)
Как это?) А почему виджет minibasket тогда нормально работает? На всех страницах плюсует товары и выводит.
ну вот я и писал о том, что плагин нормально считает и выводит кол-во товара в корзине по умолчанию.
Нужно использовать функцию, которая формирует вывод малой корзины. Сделайте так:
global $CartData,$user_ID; $bc = ($b_count = get_user_meta($user_ID,'block_count',1)) ? $b_count : '0'; $all = 0; if(isset($_SESSION['cart'])){ foreach($_SESSION['cart'] as $prod_id=>$val){ $all += $val['number']; } } echo 'Корзина (<span class="cart-numbers">'.$all.'</span>)';
Андрей CS сказал(а)
Дима Уткин сказал(а)
Как это?) А почему виджет minibasket тогда нормально работает? На всех страницах плюсует товары и выводит.ну вот я и писал о том, что плагин нормально считает и выводит кол-во товара в корзине по умолчанию.
Нужно использовать функцию, которая формирует вывод малой корзины. Сделайте так:global $CartData,$user_ID; $bc = ($b_count = get_user_meta($user_ID,'block_count',1)) ? $b_count : '0'; $all = 0; if(isset($_SESSION['cart'])){ foreach($_SESSION['cart'] as $prod_id=>$val){ $all += $val['number']; } } echo 'Корзина (<span class="cart-numbers">'.$all.'</span>)';
Большое спасибо Вам, это сработало) Намучился, тему можно прикрывать