Почитать другие заметки или статьи

На эту страничку решил выкладывать шпаргалку по классам и методам Virtuemart. Она будет полезна мне. Возможно, она будет полезна и тем, кто пишет собственные расширения для Virtuemart. Какой либо четкой структуры не планируется. Фрагменты кода с пояснениями будут появляться здесь по мере моей работы над Virtuemart

Как получить html содержимое корзины при ajax запросе

Достаточно обратиться по url:

index.php?option=com_virtuemart&view=cart&tmpl=component&format=html&dynamic=1

Как получить данные пользователя Virtuemart?

Данные об авторизованном пользователе Virtuemart можно получить двумя способами.

Первый:

require_once JPATH_ROOT.DIRECTORY_SEPARATOR.'administrator'.DIRECTORY_SEPARATOR.'components'
.DIRECTORY_SEPARATOR.'com_virtuemart'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.'user.php';
// Подключаем модель пользователя из Virtuemart

$user = JFactory::getUser(); // Получаем данные текущего пользователя Joomla

$model = new VirtueMartModelUser(); 

$model->setId($user->id); // Устанавливаем ID пользователя

$vm_user = $model->getUser(); // Получаем данные пользователя


Второй способ:

require_once JPATH_ROOT.DIRECTORY_SEPARATOR.'administrator'.DIRECTORY_SEPARATOR.'components'

.DIRECTORY_SEPARATOR.'com_virtuemart'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.'user.php'

$model = new VirtueMartModelUser();

$vm_user = $model->getCurrentUser();

Получаем данные полей пользователя

$user = JFactory::getUser();
$userModel = new VirtueMartModelUser();
$stData = $userModel->getUserAddressList($user->id, 'BT');

Как отформатировать стоимость/цену средствами Virtuemart?

if (!class_exists('CurrencyDisplay'))
    require(JPATH_ADMINISTRATOR .'components'. DIRECTORY_SEPARATOR .'com_virtuemart'
. DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'currencydisplay.php');
$currencyDisplay = CurrencyDisplay::getInstance();
$yourprice = 1000; // Ваша стоимость
echo $currencyDisplay->priceDisplay($yourprice); // Отображаем 

Цена будет отображена в отформатированном виде с указанием валюты.