SiteIS

Virtuemart - мощный компонент для создания электронного магазина!

- Бесплатное решение для интернет-магазина под управлением Joomla

- Огромное количество дополнительных расширений

- Неограниченная вложенность категорий

- Возможность создания шаблонов импорта/экспорта для различных целей

Склонение Товар, Товара, Товаров в мини карзине VM 1.1.x

Описанный метод применялся на virtuemart версии: 1.1.5 - 1.1.8 Вероятнее всего прекрасно будет работать и на других версиях линейки 1.1.х

Открываем \administrator\components\com_virtuemart\html\shop.basket_short.php находим следующий код:

if ($amount > 1) {
  $total_products = $amount ." ". $VM_LANG->_('PHPSHOP_PRODUCTS_LBL');
}
else {
  $total_products = $amount ." ". $VM_LANG->_('PHPSHOP_PRODUCT_LBL');
}

и вместо него вставляем:

function sklonenie($n, $forms) {
  return $n%10==1&&$n%100!=11?$forms[0]:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$forms[1]:$forms[2]);
 }
$total_products = $amount ." ". sklonenie($amount , array('товар', 'товара', 'товаров') ) ;

Обязательно сохраняем исправленный файл в кодировке UTF 8 без BOM (например, при помощи notepad++) и смотрим на результат. Теперь все выводится как нужно, в лучших традициях русского языка.

Но что бы все выглядело на пятерочку, нужно еще убрать надпись "Товаров 00 руб.", которая отображается, когда корзина пустует. Выведем вместо нее что нибудь более удобоваримое. Для этого добавим в конец кода, который мы вставили в файл, следующее условие:

if ($amount < 1) {
  $total_products ='Ваша корзина пуста';
}

Вот теперь совсем все хорошо.

Автор: http://beagler.ru