Virtuemart 3: jak vložit vlastní pole na libovolné místo na stránce produktu

Při tvorbě eshopu s postelemi jsem narazila na zajímavý problém - při přiřazování vlastností, které mají vliv na cenu produktu, který má zároveň cenu před a po slevě a ještě chceme zobrazovat hodnotu slevy dochází k tomu, že vlastní pole ovlivňují jen cenu před slevou (base price) a to bez ohledu na to, jestli slevu přidáte jako nahrazení (override) nebo formou kalkulace. Nezbývá tedy než přiřadit cenu před slevou a hodnotu slevy jako vlastní pole typu řetěžec (string). A zde se dostáváme k tomu - jak dostat obsah toho vlastního pole nad cenu produktu na stránce produktu. V tomto článku vám poradím, jak vytvořit vlastní pole s tzv. vlastní pozicí, a jak pak takovou vlastní pozici vložit do šablony stránky produktu.
Při vytváření vlastních polí máte vždy možnost přiřadit vlastnímu poli pozici v layoutu - buď standardní jako je addtocart, ontop, onbot, normal, které podporuje standardní šablona Virtuemartu (potažmo vaše zvolená šablona), nebo si vytvořit vlastní pozici, a tuto pak je třeba vložit do souboru šablony produktové stránky.
Jak vytvořit vlastní pole s vlastní pozicí
V našem případě vytváříme standardní vlastní pole typu řetězec, ale vlastní pozici v layoutu můžete přiřadit jakémukoliv vlastnímu poli - jde o to, abyste do pole Pozice v layoutu vložili unikátní slovo (bez interpunkce), které ještě jiné vlastní pole nepoužívá - u nás třeba sleva.

Vložení pozice do souboru šablony
Ve složce templates v adresáři s vaší šablonou najděte složku html, v ní com_virtuemart a v ní složku productdetails a v ní default.php
Do místa, kde chcete zobrazovat obsah vlastního pole vložte tento kód:
<?php
echo shopFunctionsF::renderVmSubLayout('customfields',array('product'=>$this->product,'position'=>'sleva'));
?>

a slovo sleva nahraďte vaším názvem vlastní pozice. V našem případě jsem kód ještě obalila několika divy, abych byla schopna stylovat jejich vzhled pomocí CSS.
Přiřazení vlastního pole produktu
V neposlední řadě je potřeba vlastní pole na této pozici přiřadit produktu na záložce vlastní pole a vyplnit jeho hodnotu.
Mohlo by vás také zajímat...
- Error message data: 1 Call to undefined function vmdebug() in file
- Co jsou cookies a k čemu slouží? Je třeba se bát cookies?
- TEST: jak snížit míru okamžitého opuštění webové stránky (bounce rate)
- Migrace z Joomla! 1.5 na vyšší verze
- Joomla 3.9.18+ : nefunguje přidávání štítků na článku
- Fatal error: Class 'FOF30\Container\Container' not found
- Facebook: jak přidat na stránku možnost přidávat recenze
- Event Gallery: galerie fotek s košíkem
- Instalace SSL certifikátu Thawte na webhostingu WEDOS
- Joomla 3.7.2: Změna hesla administrátora v Joomla!

