Nová verze Joomla 5.1.4
Dnes byla uvolněna nová verze Joomla 5.1.4, společně s Joomla 4.4.8. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.
Phoca Cart - nastavení default zobrazení měny ve frontendu
12. dub 2020 17:00 #142122
Ahoj,
řešim u Phoca Cart, jak zaonačit nastavení default zobrazení jiné měny na frontendu, než v jaké se zadávají ceny.
Lze tedy nějak nastavit, aby se ceny v backendu zadávaly v Kč, ale na frontendu se zobrazovalo v EUR a to trvale do případné další změny?
Zatím jsem našel jen možnost nastavení přes Phoca Cart Currency module, ale tam to nedrží hodnotu po uzavření okna a opětovném otevření.
Díky za nakopnutí správným směrem.
řešim u Phoca Cart, jak zaonačit nastavení default zobrazení jiné měny na frontendu, než v jaké se zadávají ceny.
Lze tedy nějak nastavit, aby se ceny v backendu zadávaly v Kč, ale na frontendu se zobrazovalo v EUR a to trvale do případné další změny?
Zatím jsem našel jen možnost nastavení přes Phoca Cart Currency module, ale tam to nedrží hodnotu po uzavření okna a opětovném otevření.
Díky za nakopnutí správným směrem.
12. dub 2020 18:49 - 12. dub 2020 18:59 #142123
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Odpověď od H13
Admin
Ahoj, to bude asi trochu oříšek.
Ceny se ukládají jen v defaultní měně. Tedy 100% musí být defaultní měna v administraci. To se nedá nijak změnit. Tedy v Kč.
A teď jde o to jak udělat to, aby se ve frontendu nabízelo EURo a nebylo to v konfliktu s přepínáním měn (aby se nezaměnila defaultní měna za jinou a nezpůsobilo to např. nemožnost přepínání)
Pokud se mění měna v currency module, je to osobní nastavení uživatele přes session, která samožřejmě platí jen pro určitou dobu a určitý prohlížeč.
Momentálně tam prostě taková možnost není.
Asi snad jedině upravit tuto metodu a prostě vybrat jako výchozí jinou měnu:
kde
se zamění za jinou podmínku, např:
Já to teď testuju, vypadá, to, že by to mohlo jet, ale samozřejmě by to chtělo pořádně vše otestovat.
Ceny se ukládají jen v defaultní měně. Tedy 100% musí být defaultní měna v administraci. To se nedá nijak změnit. Tedy v Kč.
A teď jde o to jak udělat to, aby se ve frontendu nabízelo EURo a nebylo to v konfliktu s přepínáním měn (aby se nezaměnila defaultní měna za jinou a nezpůsobilo to např. nemožnost přepínání)
Pokud se mění měna v currency module, je to osobní nastavení uživatele přes session, která samožřejmě platí jen pro určitou dobu a určitý prohlížeč.
Momentálně tam prostě taková možnost není.
Asi snad jedině upravit tuto metodu a prostě vybrat jako výchozí jinou měnu:
Code:
public static function getDefaultCurrency() {
if(self::$defaultcurrency === false){
$db = JFactory::getDBO();
$query = ' SELECT a.id FROM #__phocacart_currencies AS a'
.' WHERE a.exchange_rate = 1'
.' ORDER BY a.id';
$db->setQuery($query);
$c = $db->loadObject();
if (!empty($c->id)) {
self::$defaultcurrency = (int)$c->id;
} else {
self::$defaultcurrency = false;
}
}
return self::$defaultcurrency;
}
kde
Code:
.' WHERE a.exchange_rate = 1'
Code:
.' WHERE a.id = 2'
Já to teď testuju, vypadá, to, že by to mohlo jet, ale samozřejmě by to chtělo pořádně vše otestovat.
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Poděkovali: Martens
12. dub 2020 18:57 - 12. dub 2020 19:07 #142124
Odpověď od Martens
Návštěvník
A co to pořešit tak, že bych si při načtení stránky otestoval existenci cookie s nastavením měny a pokud by neexistovalo cookie, tak bych si vytvořit nové s defaultní hodnotou pro EUR. Tím pádem bych tím simuloval to, že volbu měny určil uživatel.
Teď jde o to, jak se tam cookie ukládá (s jakým názvem a hodnotou)- určitě bych se k tomu dopátral hledáním ve zdrojácích, ale budeš to na 100% vědět rychleji .
Takhle by to mohlo být řešitelné. Nebo ne? A vyžaduje potom pro změnu i přítomnost modulu Phoca Cart Currency na stránce nebo si načte cookie přímo komponenta?
A ještě k tomu zdrojáku - pokud bych upravil tu metodu v currency.php, tak to ale nebude odolné proti aktualizaci a první update to přepíše zpět. Je to tak?
Jo a pak mi nějak nefungovalo nastavení default měny v administraci - v manuálu se píše, že default měna je tak, která má exchange rate nastavený na 1. S aktuální verzí mi to ale fungovalo jen tak, že default měna v administraci byla ta, která má ID=1. Nebo jsem dělal něco blbě?
Díky
Teď jde o to, jak se tam cookie ukládá (s jakým názvem a hodnotou)- určitě bych se k tomu dopátral hledáním ve zdrojácích, ale budeš to na 100% vědět rychleji .
Takhle by to mohlo být řešitelné. Nebo ne? A vyžaduje potom pro změnu i přítomnost modulu Phoca Cart Currency na stránce nebo si načte cookie přímo komponenta?
A ještě k tomu zdrojáku - pokud bych upravil tu metodu v currency.php, tak to ale nebude odolné proti aktualizaci a první update to přepíše zpět. Je to tak?
Jo a pak mi nějak nefungovalo nastavení default měny v administraci - v manuálu se píše, že default měna je tak, která má exchange rate nastavený na 1. S aktuální verzí mi to ale fungovalo jen tak, že default měna v administraci byla ta, která má ID=1. Nebo jsem dělal něco blbě?
Díky
12. dub 2020 19:25 - 12. dub 2020 19:46 #142125
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Odpověď od H13
Admin
Ano, výchozí měna je ta, co má exchange rate 1. Pokud je takových měn více, pak je to to s ID č. 1
Teď to zkouším, mám výchozí měnu EUR, změním na výchozí USD:
Ceny nechám stejný:
Pak má dle předpokladů USD cenu jaká je v administraci:
a přepnutím na EUR:
se mění cena podle kurzu.
Sessions - natvrdo nastavit měnu přes session lze takto:
nebo:
Teď to zkouším, mám výchozí měnu EUR, změním na výchozí USD:
Ceny nechám stejný:
Pak má dle předpokladů USD cenu jaká je v administraci:
a přepnutím na EUR:
se mění cena podle kurzu.
Sessions - natvrdo nastavit měnu přes session lze takto:
Code:
// otestovat, jestli uz mena neni nastavena, napr uzivatelem
$session = JFactory::getSession();
$id = $session->get('currency', 0, 'phocaCart');
// pokud neni, nenastavit vychozi, ale svou
if ((int)$id < 1) {
//$id = self::getDefaultCurrency();
//$session->set('currency', (int)$id, 'phocaCart'); VYCHOZI
$session->set('currency', 2, 'phocaCart');// MNOU ZVOLENA
}
nebo:
Code:
$session = JFactory::getSession();
$id = $session->get('currency', 0, 'phocaCart');
// pokud neni, nenastavit vychozi, ale svou
if ((int)$id < 1) {
$id = 2;// MNOU DEFINOVANA MENA
$session->set('currency', (int)$id, 'phocaCart');
}
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
12. dub 2020 19:34 - 12. dub 2020 19:48 #142126
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Odpověď od H13
Admin
Ještě dodám, že pokud manuálně budeš měnit ID u session a testovat to, musíš po každé změně vymazat cache v prohlížeči, protože když se měna nastaví, je nastavena a neprojde tou podmínkou pro úvodní nastavení (už existuje).
A samozřejmě ano, přes session je to mnohem jednodušší, nebude to v konfliktu a můžeš to nastavit např. v šabloně.
A samozřejmě ano, přes session je to mnohem jednodušší, nebude to v konfliktu a můžeš to nastavit např. v šabloně.
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Poděkovali: Martens