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

vlastni pole string

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.

pozice v layoutu

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'));
?>

vlastni pole defaulphp

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.

vlastni pole produkt

5.00 z 5 - 2 hlasů
Děkujeme za hodnocení. Pokud se vám článek líbil, budeme rádi, když jej budete sdílet dál!
Vytisknout