Phoca Cart - nezobrazovanie prázdnej sekcie v pokladni

ferino
23. kvě 2019 10:09 #140140
Zdravím,
mám takýto prípad:
Veľmi jednoduchý eshop, ktorý funguje tak, že dodanie je možné iba na dobierku (pošta, kuriér), alebo osobne.
Potom tam teda nemám žiaden spôsob platby, ani nepoužívam kupóny.
V nastaveniach mám "Preskočiť spôsob platby" - "Áno, celkom (ak neexistuje žiadna metóda, alebo nie je verejná)"

V takomto prípade sa mi v pokladni zobrazuje sekcia Platba, ktorá neobsahuje nič, iba tlačidlo "Uložiť a pokračovať"
Keď ho stlačím, vyhodí mi "Chyba - nebol zvolený spôsob platby" a nedovolí pokračovať...

Bolo by to možné ošetriť?

Vďaka.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
23. kvě 2019 12:09 #140143
Ahoj,

jakou verzi Phoca Cart používáš?

Standardně, pokud není žádná platební metoda nebo jsou existující zneveřejněné a zapnutý parametr "přeskočit platbu", pak se platba vůbec nevyžaduje a checkout ji nezobrazuje:


Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od ferino
23. kvě 2019 13:10 #140144
Používam v3.1.9
zabudol som asi prezradiť jednu vec (resp. som nepovedal úplnú pravdu):

Táto podmienka ""Preskočiť spôsob platby" - "Áno, celkom (ak neexistuje žiadna metóda, alebo nie je verejná)"" u mňa v globále nie je splnená, takže vlastne funguje.

Totiž mám tam ešte jeden typ platby "Platba pri dodaní", ktorý je naviazaný na osobný odber (má aktívne pravidlo dodania), teda sa pri doprave poštou nezobrazuje a kvôli tomu vznikne situácia, ktorú som popisoval na začiatku vlákna...

Teda nepovedal som správne, že už nemám žiaden spôsob platby, ale fakticky žiaden spôsob platby nemám iba pre daný typ dodania - sorry...

Asi som to už prekomplikoval a jednoduchšie bude zrejme vypnúť tú platbu pri dodaní s pravidlom, ktoré ju vlastne vylučuje zo zobrazenia v určitom prípade, kedy nakoniec dôjde k stavu, že nie je čo zvoliť...

Ale aj tak - že je to zaujímavá konštrukcia? :)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
23. kvě 2019 14:00 #140146
Bylo by vhodné založit další typy plateb Dobírkou (cash_on_delivery) zvlášť pro poštu a kurýra. Vždyť i ta dobírka u každého něco stojí, měla by být tedy samostatně vyčíslena.

A dále třeba Hotově nebo kartou na prodejně, tedy asi to vaše Platba pri dodaní.

Jinak to moc fungovat nebude.

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
23. kvě 2019 14:11 - 23. kvě 2019 14:57 #140147

ferino napsal: Ale aj tak - že je to zaujímavá konštrukcia? :)


Ano, je.

Jinak, momentálně je to tak, že když není platební/dodací metoda, může se přeskočit (to je vhodné např. u elektronických služeb, kdy se přeskakuje dodání). Teoreticky by se ten parametr mohl rozšířit o to, že nejen že když není platební/dodací metoda, ale také v případě, že uživatelovi díky pravidlům nezbude žádná k výběru, se přeskočí. Ale to by byla chyba. Znamenalo by to, že prodejce někde v nastavení "udělal chybu" a nepokryl všechny možnosti. Otázkou je, jak se chovat při takové chybě - zda neumožnit objednávku (jak to je teď) nebo ji umožnit, ale s chybnou platební/dodací metodou (žádnou)?

Kódově je to možné celkem jednoduše:
- v checkoutu - když se zjistí, že uživatelovi nezbyla žádná metoda na výběr - prostě se platební metoda vůbec nezobrazí
- při zpracování objednávky - opět, když se zjistí, že uživatelovi nezbyla žádná metoda na výběr při kontrole veškerých pravidel, objednávka se místo zadržení propustí

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od ferino
23. kvě 2019 14:57 #140150
Nie je problém vytvoriť ďalšie typy a nakonfigurovať to štandardne, ako sa to väčšinou robí..

Zámer bol taký, že pokiaľ kupujúci zvolí osobný odber a predajca nechce zaň poplatok, tak je potom zbytočné zobrazovať neaký spôsob platby, ktorý bude iba jeden a nútiť kupujúceho, aby naň klikol a zvolil 1 z 1 možnosti. :)

Teraz to píšem z pohľadu kupujúceho...

"Znamenalo by to, že prodejce někde v nastavení "udělal chybu" a nepokryl všechny možnosti." - to môže, ale aj nemusí byť chyba...

V mojom prípade ide o povedzme neštandardný eshop pre jeden výskumný ústav, kde nie sú podporované prakticky žiadne platobné metódy...

Ale chápem, že to má určitý systém, a nechcem ho neako zásadne nabúrať...
Nastavím to tak, že zruším spôsoby platby, v spôsoboch dopravy nastavím cenu a uvidím, či to bude predajcovi stačiť...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
23. kvě 2019 15:13 - 23. kvě 2019 15:14 #140151
Tak mi napiš přesně jak to máš, abych to nasimuloval a vyzkoušel, jestli by to s přidáním nové hodnoty do parametru, o kterém jsem mluvil, pro tvou situaci prošlo.

Přidal bych další položku do parametru Přeskočit způsob platby

- Ne
- Ano (částka objednávky je nulová)
- Ano (celkem, pokud neexistuje žádná metoda nebo není veřejná)
- Ano (pokud přes propočet veškerých pravidel nemá zákazník žádnou metodu na výběr)

A fungovalo by to prostě jednoduše - pokud by se prostě při výpočtu pravidel nenašla žádná platební metoda, pak by se ani zadání pro platební metody nezobrazovalo a objednávka by mohla projít.

Můžeš si to i prakticky vyzkoušet, pokud trochu zvládáš PHP, v:

components/com_phocacart/views/checkout/view.html.php - řádek cca 270 PŘIDAT
// zatim jen pro test - chybi test na parametr - preskocit zpusob platby
if (empty($this->t['paymentmethods'])) {
   $this->a->paymentnotused = true;
};

administrator/components/com_phocacart/libraries/phocacart/order/order.php řádek cca 385 UPRAVIT

Z:
if (!empty($paymentMethods)) {
			// IS OK
		} else if (empty($paymentMethods) && PhocacartPos::isPos()) {
			// IS OK
		} else if (empty($paymentMethods) && $paymentNotUsed) {
			// IS OK
			$paymentId = 0;
		} else {
            if ($order_language == 0) {$pLang->setLanguageBack($defaultLang);}
			$msg = JText::_('COM_PHOCACART_PLEASE_SELECT_RIGHT_PAYMENT_METHOD');
			$app->enqueueMessage($msg, 'error');
			return false;
		}

NA:
$paymentMethodsAllPossible = $paymentClass->getPossiblePaymentMethods($total[0]['netto'], $total[0]['brutto'], $country, $region, $shippingId, 0, 0 );

		if (!empty($paymentMethods)) {
			// IS OK
		} else if (empty($paymentMethods) && PhocacartPos::isPos()) {
			// IS OK
		} else if (empty($paymentMethods) && $paymentNotUsed) {
			// IS OK
			$paymentId = 0;
		} else if (empty($paymentMethodsAllPossible) /* && $skip_payment_method == 3 - zatim bez parametru */) {
            $paymentId = 0;
        } else {
            if ($order_language == 0) {$pLang->setLanguageBack($defaultLang);}
			$msg = JText::_('COM_PHOCACART_PLEASE_SELECT_RIGHT_PAYMENT_METHOD');
			$app->enqueueMessage($msg, 'error');
			return false;
		}

S tím, že v tomto případ se propustí objednávka pokaždé, když se nenabídne žádná platební metoda

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od ferino
23. kvě 2019 15:27 #140152
Mal som to takto:
Shipping:
1. Pošta
2. Kuriér
3. Osobný odber
všade je shipping_standard metoda
pri Kuriér a Pošta mám ešte Weight Rule

Payment:
1. Dobierka (shipping rule: Kuriér, Pošta)
2. Platba pri dodaní 0€ (shipping rule: Osobný odber)
všade je (cash_on_delivery)

Potom som vypol Platbu pri dodaní...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
23. kvě 2019 17:01 #140154
Takže by to mělo fungovat:

- pokud zákazník vybere "osobní odběr"
- pak pro osobní odběr nebude existovat platební metoda
- a když se zvolí v parametru "Přeskočit způsob platby" - Ano (pokud přes propočet veškerých pravidel nemá zákazník žádnou metodu na výběr)"

měl by zákazník mít možnost rovnou objednat bez nutnosti zadání platební metody:

Vyzkoušet je to možné v 3.2.0Beta2 verzi (pozor, verze určená jen k testování):
github.com/PhocaCz/PhocaCart/releases/do...cart_v3.2.0Beta2.zip

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
23. kvě 2019 17:44 #140158
Pokud se mohu vložit do diskuse mám otázku?:

1. Dopravní metoda - Osobní odběr
2. Platební metoda - Vyzvednutí na pobočce

Tyto metody bych spolu svázal == není nikde zbytečný klik, protože dojde k automatickému vybrání platební metody na základě dopravy a nic jiného nevidím.
Nemusím nic hackovat, programovat, vše je čisté a ok.

Tohle není ten správný způsob?

MiniJoomla! - www.minijoomla.org - eshop s rozšířením
Virtuemart Mailing Manager - aplikace na správu šablon emailů pro VirtueMart
XML Easy Feeder - aplikace na generování feedů, napojení na ERP pro VirtueMart
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla!

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
23. kvě 2019 18:09 - 23. kvě 2019 18:11 #140159
To svázání je o tom, že pokud se vybere daná dodací metoda, nabídne se k výběru ta svázaná platební metoda, a protože nemusí být jen jedna (platební metoda), vždy se výběr musí potvrdit (není to o tom, že DODÁNÍ A = PLATBA A, ale o DODÁNÍ A = je možno vybrat PLATBU A, ale také jinou, pokud to bude nastavené)

V případě toho nového parametru je to o tom, že pokud se vybere dana dodací metoda, a pro ni neexistuje žádná platební metoda, není potřeba nic potvrzovat a dá se po zadání dodací metody rovnou objednat:

- pro zákazníka to je mnohem rychlejší
- prodejce zase na druhou stranu nebude mít vůbec žádnou informaci o platební metodě (což samozřejmě nemusí v určitých případech vůbec vadit)

Jestli je to správně nebo ne, to už si určí prodejce podle parametru (jak mu to bude vyhovovat)

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
23. kvě 2019 18:13 #140160

To svázání je o tom, že pokud se vybere daná dodací metoda, nabídne se k výběru ta svázaná platební metoda, a protože nemusí být jen jedna (platební metoda), vždy se výběr musí potvrdit.


Ale tady to tak není, nebo se pletu?

Tady je jasně daná jen jedna platební metoda k jedné dopravní metodě == toto je jen na úrovni nastavení v administraci.
Jakmile nastavím dopravu na eshopu, již nic nepotvrzuji, protože se platební metoda nastaví sama.

Pokud by to bylo jinak - mám k jedné dopravní metodě více platebních metod na výběr - ano pak ztrácím výhodu automatického výběru, jenže když mám více platebnícj metod pro jednu dopravu, automatický výběr logicky nechci, to bych tam ty platební metody nedával.

Nebo si nerozumíme :)

MiniJoomla! - www.minijoomla.org - eshop s rozšířením
Virtuemart Mailing Manager - aplikace na správu šablon emailů pro VirtueMart
XML Easy Feeder - aplikace na generování feedů, napojení na ERP pro VirtueMart
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla!

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
23. kvě 2019 18:21 #140161
Já se teď bavím o systémovém řešení v Phoca Cart.

Nastavení jedna platební metoda k jedné dopravní metodě kvůli variabilitě prostě neexistuje.



V Phoca Cart je mezi dodáním a platbou vztah M:N

Jedna platební metoda se může nabídnout více dodacím metodám a jedna dodací metoda může být svázaná s více platebními metodami.

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
23. kvě 2019 18:37 #140164
Aha, díky za vysvětlení.

Tak pak je to jasné, že je třeba nějaká úprava :)

MiniJoomla! - www.minijoomla.org - eshop s rozšířením
Virtuemart Mailing Manager - aplikace na správu šablon emailů pro VirtueMart
XML Easy Feeder - aplikace na generování feedů, napojení na ERP pro VirtueMart
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla!

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
24. kvě 2019 02:25 - 24. kvě 2019 15:41 #140167
Každopádně DODÁNÍ A == PLATBA A vztah se dá také řešit.

Přidal jsem parametr pro automatické vyplnění dodací a platební adresy. Pokud se tento parametr zapne, funguje to následovně:

Pokud člověk vloží nějaké zboží do košíku, zadá svou adresu a na základě těchto parametrů se nabízí dodací metoda a je jen jedna, nastaví se automaticky.

To stejné pro platební metodu - pokud bude pouze jedna, automaticky se nastaví.

Příklad:
- dodací metoda je navázána na kraj - Jihomoravský
- platební metoda je navázaná na tuto JM dodací metodu.

Zákazník z Jižní Moravy vloží zboží do košíku, přejde na checkout, zde zadá adresu včetně kraje. Při uložení adresy se automaticky uloží dodací metoda (pokud se mu z nějakého důvodu nenabídne více než jedna) a na tuto dodací metodu se váže pouze jediná platební metoda, tak se také automaticky nastaví. Tedy checkout automaticky přeskočí zadávání dodací a platební metody a rovnou se posune k tlačítku "Potvrdit"



Vyzkoušet je to možné v 3.2.0 Beta4
github.com/PhocaCz/PhocaCart/releases/do...cart_v3.2.0Beta4.zip

Phoca Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.