Баланс пользователя вывести в шаблон

#
Баланс пользователя вывести в шаблон
Подскажите плиз как баланс пользователя вывести в шаблон (в шапку) что б этот баланс выводился после авторизации юзера. Т.е. юзер прошел авторизацию и ему стал виден баланс без захода в личный кабинет, где б в какой инфосистеме он не находился, баланс в верхней части страницы у него перед глазами. Может кто то подсказать?
Заранее спасибо.
#
Re: Баланс пользователя вывести в шаблон
Для начала можно в нужном месте макета добавить вот это:

http://hostcms.ru/api/HostCMS_5/shop.html#methodShowSiteUsersAccount

ну а потом доработать систему напильником, для достижения нужного эффекта )
Заказов не беру. Консультирую редко.
#
Re: Баланс пользователя вывести в шаблон
Спасибо большое, сейчас буду пробовать.
#
Re: Баланс пользователя вывести в шаблон
Отображается, но не верно. Баланс показывает 0, а при нажатии на ссылку История, переходим на страницу движения средств на балансе юзера. Правильно определяет юзера и показывает таки его историю и баланс внизу страницы, но вверху так и есть 0
#
Re: Баланс пользователя вывести в шаблон
А, там в описании API по всей видимости, ошибка.
Имхо, должно быть так:

$shop = new shop();
$param['site_users_id'] = 1; // вот это, в принципе, вообще не нужно.
$param['site_id'] = 1; //здесь нужно прописать правильный ID сайта
$param['xsl_name'] = 'СписокЛицевыхСчетов ';

// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
     $SiteUsers = & singleton('SiteUsers');
     $site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
     $site_users_id = 0;
}

$param['site_users_id'] = $site_users_id; //а вот этого не было. в результате, всегда показывался баланс для юзера с ID=1
$shop->ShowSiteUsersAccount($param);
Заказов не беру. Консультирую редко.
#
Re: Баланс пользователя вывести в шаблон
C меня пляшка!!
#
Re: Баланс пользователя вывести в шаблон
Итоговый правильный код

<?php
$shop = new shop();
$param['site_id'] = 1;
$param['xsl_name'] = 'СписокЛицевыхСчетов ';
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
// $site_users_id = 0;
$param['site_users_id'] = $site_users_id;
}
$shop->ShowSiteUsersAccount($param);
?>
#
Re: Баланс пользователя вывести в шаблон
нифига не правильный.

<?php
$shop = new shop();
$param['site_id'] = 1;
$param['xsl_name'] = 'СписокЛицевыхСчетов ';
// Если есть модуль "Пользователи сайта", получим текущего пользователя
if (class_exists('SiteUsers'))
{
$SiteUsers = & singleton('SiteUsers');
$site_users_id = $SiteUsers->GetCurrentSiteUser();
}
else
{
$site_users_id = 0; // здесь не должно быть комментария! иначе в случае, когда юзер не авторизован, переменная будет не определена!

//$param['site_users_id'] = $site_users_id; // а вот этой строки тут быть не
//может! потому что в вашем коде получается, что id текущего пользователя
//никогда не будет передан в метод ShowSiteUsersAccount.

}
$param['site_users_id'] = $site_users_id; // а эта строка должна быть здесь!
// а то ересь какая-то получается.

$shop->ShowSiteUsersAccount($param);
?>



А вообще, по логике, если юзер не залогинен, то информация о балансе отображаться не должна.
поэтому правильнее всего будет так:


<?php

// Если есть модуль "Пользователи сайта",
if (class_exists('SiteUsers'))
{
    // то получим текущего пользователя
   $SiteUsers = &singleton('SiteUsers');
    $site_users_id = $SiteUsers->GetCurrentSiteUser();
    // если пользователь залогинен (т.е. его id > 0)
    if ($site_users_id > 0)
    {
        //то только тогда создадим объект $shop, передадим ему id текущего пользователя и покажем информацию о балансе
      $shop = &singleton('shop');
        $param['site_id'] = 1;
        $param['xsl_name'] = 'СписокЛицевыхСчетов';
        $param['site_users_id'] = $site_users_id;
        $shop->ShowSiteUsersAccount($param);
    }
    // если же юзер не залогинился, то можно его об этом попросить:
    else
    {
       echo 'Пожалуйста, залогиньтесь :-)'
    }
}

?>
Заказов не беру. Консультирую редко.
Авторизация