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...
- Jak zabránit spamování registračního formuláře v Joomla!
- Validační kód Yahoo! způsobil nevaliditu kódu webu
- Mnohojazyčný dynamický sitemap pro web v Joomla 3
- Jsitemap: jak zapnout cachování mapy stránek a obrázků
- Joomla 3: komponenta a modul Map Locations
- Akeeba backup: an error occured. The file is not a JPA archive
- Nelze přidat/editovat článek v Joomla 1.5
- 11 nejčastějších důvodů, proč vaše emaily končí ve spamu
- Chrome: jak opravit blikání při scrollování
- Joomla 3: rozbalovací text číst dál...