Вывод настраиваемых полей в категории Virtuemart

Часто сталкиваюсь с задачей вывода настраиваемых полей в карточках товара и на странице категории. Каждый раз, приходится вспоминать как это делается, поэтому, что бы не забывать публикую здесь, я думаю Вам это тоже пригодиться.

Что бы вывести все настраиваемые поля:

/templates/ваш-шаблон/html/com_virtuemart/category/default.php», в нужном месте вставляем:

<?php echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$product,'position'=>'normal'));?>

Как видите, здесь выведутся все настраиваемые поля, которые находятся в позиции normal, то есть позиции, которая присваивается автоматически если Вы не указали другую.

Вывести конкретное настраиваемое поле:

/templates/ваш-шаблон/html/com_virtuemart/category/default.php», в нужном месте вставляем:

Иногда бывает, что необходимо отобразить только некоторые произвольные поля. Для этого можно использовать прямой запрос к базе данных:

<?php //Выводим произвольное поле
$db = JFactory::getDBO();
//Ниже требуется изменить значение virtuemart_custom_id=4 на ID необходимого настраиваемого поля и поставить свой префикс таблицы
$db->setQuery("SELECT customfield_value FROM замени префикс_virtuemart_product_customfields WHERE virtuemart_product_id=".$product->virtuemart_product_id." and virtuemart_custom_id=4 ;");
$db->query();
$result = $db->loadResult();
echo "<span class=\"mosch\">Название поля:</span> ".$result."";
?>

Спасибо за внимание!


Комментариев: 2 на Вывод настраиваемых полей в категории Virtuemart

Суть в том, что в категории у родительских товаров поле выводится, но в той же категории у дочернего товара этого поля нет. Хотя в БД запись присутствует.

Комментировать