Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Вывести число добавленных товаров в корзину в виджет профиля
8ответ(ов) в теме
Дима Уткин
не в сети 5 лет
На сайте с 28.04.2016
Участник
Тем 22
Сообщения 75
1
07:28

Здравствуйте. Немного модернизировал виджет вывода "мини профиля", добавив в файлик 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, пробовал брать кое какие функции, но успехом это не увенчалось. Заранее большое спасибо

0
Дима Уткин
не в сети 5 лет
На сайте с 28.04.2016
Участник
Тем 22
Сообщения 75
2
04:30

Сложнота, однако 🙁

0
Дима Уткин
не в сети 5 лет
На сайте с 28.04.2016
Участник
Тем 22
Сообщения 75
3
08:42

Сделал, но не все получилось. Верно показывает число товаров только на странице самой корзины, либо на любой странице, но только когда добавляешь еще один товар. После обновления странички число товаров исчезает, кладешь в корзинку еще товар и вновь появляется до ближайшего обновления странички.

...

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>';

...

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
4
09:40

по-умолчанию, должно так и работать

0
Дима Уткин
не в сети 5 лет
На сайте с 28.04.2016
Участник
Тем 22
Сообщения 75
5
10:00

Андрей CS сказал(а)

по-умолчанию, должно так и работать

Как это?) А почему виджет minibasket тогда нормально работает? На всех страницах плюсует товары и выводит.

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки
0
Вова (Otshelnik-Fm)
не в сети 6 часов
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18647
6
14:56

Вы не можете просматривать опубликованные ссылки

18. Глобальные переменные WP-Recall

$CartData - массив. Данные в корзине. Урл до страницы корзины, Количество товара, его id и цена, общая сумма в корзине

Подсмотреть можете /wp-recall/add-on/magazin/templates/cart-mini-content.php

<span class="cart-numbers"><?php echo $CartData->numberproducts; ?></span> шт.

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
7
18:03

Дима Уткин сказал(а)
Как это?) А почему виджет 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>)';

1
Дима Уткин
не в сети 5 лет
На сайте с 28.04.2016
Участник
Тем 22
Сообщения 75
8
19:22

Андрей 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>)';

Большое спасибо Вам, это сработало) Намучился, тему можно прикрывать

0
Тема закрыта. Публикация новых сообщений запрещена.