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 si zvolit správný webhosting?
- ProductXport: jak vyřadit z xml feedu produkty s vybranými stavy dostupnosti
- Total Commander: jak hromadně přejmenovat soubory
- Nezobrazuje se kontaktní formulář na mnohojazyčném webu v Joomla!
- TEST: jak snížit míru okamžitého opuštění webové stránky (bounce rate)
- Co je to Page Rank, S-rank a Jyxo Rank?
- Jak promazat mezipaměť (cache) webu v Joomla!
- Chrome: jak opravit blikání při scrollování
- Jak zálohovat databázi v phpMyAdmin
- Jak vložit validně Youtube video do kódu?