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

В прошлой статье речь шла о том как добавить видео в карточку товара. Тут же я постараюсь подробно описать общий вывод настраиваемых полей и их позиций. Как это можно использовать в Вашем интернет-магазине на Virtuemart 3

 

Начнем с того, что определимся, что такое позиция макета и? как ее можно использовать. Про сами настраиваемые поля рассказывать не буду, поговорим сразу про их позиции.

Каждому настраиваемому полю можно задать, так называемую, позицию макета. Другими словами это определение позиции самого настраиваемого поля, как, например, модули имеют свои позиции.

По умолчанию карточка товара имеет три таких позиции макета:

  • ontop - самый верх карточки товара
  • normal - середина
  • onbottom - позиция внизу карточки товара

Сам код вставки настраиваемого поля выглядит так

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

в конце видим 'position'=>'ontop' - это и есть вставка определенной позиции настраиваемого поля в нужное вам место

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

Теперь давайте создадим собственную позицию макета и выведем ее как в карточку товара, так и на страницу категории товаров.

В первую очередь переносим шаблон Virtuemart в шаблон Joomla, что бы не потерять изменения после обновления Virtuemart.

Создаем позицию, например, position1

Для этого в карточку товара, в нужное вам место свтавляем код

файл templates/ваш_шаблон/html/com_virtuemart/productdetalies/default.php

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

А в категорию товаров

файл templates/ваш_шаблон/html/com_virtuemart/sublayouts/produts.php

и в нужное место вставляем

 

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

Теперь Ваше настраиваемое поле будет отображаться в Вашей собственной позиции position1 и в карточке товара и на странице категории товаров.