Phoca Cart - stránka 404
Vyřešil jsem to přepsáním jazyku konstanty "COM_PHOCACART_NO_CATEGORY_FOUND" pro články a jiné odkazy,
a konstanty "COM_PHOCACART_NO_PRODUCT_FOUND" pro produkty v E-shopu následujícím kódem:
Funguje to skvěle, ale pouze v základních kategoriich a článcích. Už to nefunguje v podkategoriích a produktech.
Příklad:
správná adresa: 2019.prokompresory.cz/10-kompresory
chybná adresa: 2019.prokompresory.cz/10-kompresor => výsledek: 404(product) - to je správně
správná adresa: 2019.prokompresory.cz/kosik
chybná adresa: 2019.prokompresory.cz/kos => výsledek: 404(category) - to je správně
Příklad podkategorie:
správná adresa: 2019.prokompresory.cz/11-kompresory/pistove-kompresory
chybná adresa: 2019.prokompresory.cz/11-kompresory/pistove-kompresry => výsledek: stránka se nezmění zůstane původní, nestane se vůbec nic - to je špatně
J! 3.9.6 | Phoca Cart 3.2.2 | Šablona: Phoca Duka (zkoušeno i na jiných šablonách) login na Test web: demo/2019
Joomla! od verze 1.5 -- ONEbit --

Chyba je většinou např. chyba ve skriptu, nebo v databázi, a podobně. Nebo, že prostě stránka neexistuje. Ovšem to, že zadaná kategorie nebo produkt neexistuje nemusí zrovna znamenat chybu na webové stránce. Stránka vrátí 200 OK - jako že na stránce proběhlo všechno zpracování OK, stránka/sekce prostě existuje, jen prostě nebyl nalezen žádný výsledek - nic neodpovídá zadaným kritériím.
Pokud bychom nastavili to, že nebyl nalezen žádný výsledek, jako chybu 404, jak bychom ji pak oddělili od skutečné 404 chyby. Nebo spíš opačně, pokud nastavíme v tomto případě 404, jak pak řekneme s 200 uživatelovi, že například podle daných filtrovacích kritérí nebyl nalezen žádný produkt.
Např. uživatel chce nalézt produkt, který stojí více než 400 Kč, je červený a má velikost XXL.
A v e-shopu žádný takový produkt není.
a) je to chyba 404
b) nebo je to prostě OK stránka s 200 jen s tím, že při daných kritériích nebyly nalezeny žádné výsledky?
A protože ke zpracování stránky dochází systémově, platí stejná pravidla jako pro zobrazení produktu/kategorie tak i seznamu produktů s různými filtrovacímí požadavky - a bohužel se musí zvolit pouze jedna varianta - buď pro všechny nenalezené položky 404, nebo pro všechny 200 s tím, že zadaným kritériím neodpovídá žádna položka (zjednodušeně, protože díky vztahu mezi produky a kategoriemi je ta práce s URL složitější a ne vždy je možné dodržet pro vše stejná pravidla).
Něco podobnýho jsme řešili tady:
joomlaforum.ru/index.php/topic,327175.ms...8941.html#msg1728941
zatím opravdu neznám správnou odpověď.
Konkrétně k těm URL, který i přes překlep vrací správnou adresu:
správná adresa: 2019.prokompresory.cz/11-kompresory/pistove-kompresory
chybná adresa: 2019.prokompresory.cz/11-kompresory/pistove-kompresry => výsledek: stránka se nezmění zůstane původní, nestane se vůbec nic - to je špatně
Tohle je jedna velká výhoda čísel v URL - i když je v URL překlep, systém vrátí správnou adresu.
Našim zájmem přece není kvůli překlepu odmítnout zákazníka, ale dát mu správnou adresu, kterou s nějvětší pravděpodobností (pokud je v URL číslo, tak ta pravděpodobnost je 99,99%) hledá.
To je přeci výhoda, pokud mi příjde zákazník do prodejny a bude po mně chtít blamboly, tak mu prostě prodám brambory (200), nebudu mu přeci říkat, že blamboly nemáme (404).
Viz:
www.joomlaportal.cz/forum/phoca-cart/122...-cart-url-seo#140201
Bohužel tam nejde udělat jednotnej přístup, pokud jde o kategorie a produtky. Protože, pokud je v URL jedno číslo, systém netuší, jestli to číslo platí pro produkt nebo pro kategorie. Takže zatímco u produktů lze překlep "ignorovat" a vrátit požadovaný výsledek (což by mělo potěšit jak obchodníka tak zákazníka), u kategorie už to nejde, protože nevíme, jestli se ptáme na kategorii nebo produkt

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

Pokud vycházím z myšlenky, že základní chování (etalon) ohledně URL je Joomla/Content a její blog a články, chová se PhocaCart přesně jak popisuje:
V případě, že zkomolím URL adresu článku (adekvátně produktu ve PhocaCart), výsledek je (díky číslování URL) že se dostanu na pořád stejnou URL adresu článku (ddt produktu ve PhocaCart).
Příklad:
Originální URL článku bez chyby:
simple-shop.easy.minion.cz/blog/11-kratk...ky-olivie-semotamove
Zkomolená URL s chybou:
simple-shop.easy.minion.cz/blog/11-kratk...telky-schvalne-chyba
Nevidím žádnou informaci o 404 nebo že článek nebyl nalezen.
Trochu nelogické sice je (souhlasím), že když vložím do prohlížeče:
simple-shop.easy.minion.cz/blog/11-cr-bude-vracet-dotace
Vidím opět ten samý článek a já mám pocit, že bych neměl

Vysvětlím později v souvislosti se SEO aplikacemi.
Jiná situace je, když vložím neexistující číslo:
simple-shop.easy.minion.cz/blog/99-kratk...ky-olivie-semotamove
A voilá, vidím 404

Pokud chci abych po zadání špatné URL (překlepu) v URL viděl 404 (aplikoval jiné než naprogramované standardní chování Joomla), jdu a nainstaluji si aplikaci SEO. Namátkou Artio JoomSEF, SH404 a další.
Stejně platí pokud chci abych v URL neměl ID článků (zde tedy produktů PhocaCart), použiji aplikaci pro SEO (toto není již tak úplně pravda, pokud se jedná o články Joomla), existuje již v Joomla metoda URL bez ID)
Toto platí i pro příspěvek
www.joomlaportal.cz/forum/phoca-cart/122...-cart-url-seo#140201
kde bych souhlasil s Janem a implementaci přepnutí moderní metody tvorby URL (jako je v Joomle pro články) bych implementoval až bude čas

MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Ale nechápu následující chování:
URL: 2019.prokompresory.cz/obchodni-podminky - správná url
URL: 2019.prokompresory.cz/obchodnipodminky => "Kategorie nenalezena" - v pořádku
URL: 2019.prokompresory.cz/obchodni-podmiky => duplicitní homepage - tomu nerozumím, to je přece špatně.
Jediné co jsem vypozoroval je, že když je v chybném url za doménou pomlčka, lomítko nebo číslo je výsledkem právě duplicitní homepage
Pokud je číslo na začátku url
a) číslo je shodné s ID kategorie zobrazí se daná kategorie - to je v pořádku
b) kategorie s daným ID neexistuje zobrazí se "Kategorie nenalezena" - to je taky v pořádku
Joomla! od verze 1.5 -- ONEbit --

URL: 2019.prokompresory.cz/obchodni-podmiky => duplicitní homepage - tomu nerozumím, to je přece špatně.
Podle mne:
1. Z hlediska obsahu je to správně - vidím to co potřebuji vidět
2. Z hlediska SEO - asi špatně, ale na canonical URL a duplicitu obsahu jsou zde SEO aplikace, které tohle řeší.
MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Stejný hosting, stejná Joomla, stejné nastavení serveru, jenom jiné, případně žádné další komponenty navíc.
Joomla! od verze 1.5 -- ONEbit --

URL: 2019.prokompresory.cz/obchodni-podmiky => duplicitní homepage - tomu nerozumím, to je přece špatně.
nevypadá jako URL adresa od PhocaCart, ale jako odkaz (nevím jestli kategorie nebo článek == zda je zapnutá nová metoda routeru v Joomla pro content) na 1 článek.
URL: 2019.prokompresory.cz/obchodni-podmiky => duplicitní homepage - tomu nerozumím, to je přece špatně.
Toto přece není home page.
Abych to shrnul - řešíme že při speciálně napsané URL adrese s pomlčkou ve slugu se odkaz na kategorii chová nestandardně == meukáže 404?
Otestuji si opět na našem webu než mi odpovíte

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

Chtěl jsem ukázat že se PhoCart chová stejně jako Joomla content, jen při testování contentu se mi ty URL adresy nějak chovají divně a zamotalo mi to jen hlavu

Vracím tedy diskusi zpět k tématu PhoCart a přiznám si že nejzodpovědnější odpověď bude mít Jan.
Díky

MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Joomla! od verze 1.5 -- ONEbit --

Ale nechápu následující chování:
URL: 2019.prokompresory.cz/obchodni-podminky - správná url
URL: 2019.prokompresory.cz/obchodnipodminky => "Kategorie nenalezena" - v pořádku
URL: 2019.prokompresory.cz/obchodni-podmiky => duplicitní homepage - tomu nerozumím, to je přece špatně.
Tohle se ale netýká aplikace PhocaCart, jde o Joommla content, konkrétně jeden článek.
Vstupuje Vám do toho to, že odkaz nemáte vytvořený klasicky routerem contentu
(to by ten odkaz vypadal 2019.prokompresory.cz/informace-pro-zakazniky/11-obchodni-podminky), ale jako odkaz z položky menu.
Navíc tam musíte mít nějakou úpravu, protože správně při chybě Vám vznikne 404 - článek nenalezen nebo 404 - kategorie nebyla nalezena, ale Vy 404 přesměrováváte zpět na home page.
Viz:
simple-shop.easy.minion.cz/blog-testovaci - správná URL jako odkaz položkou menu na kategorii
simple-shop.easy.minion.cz/blog-testvaci - zmršená URL - 404 - kategorie nenalazena
simple-shop.easy.minion.cz/blogger - zmršená URL - 404 - článek nenalazen
Nejsem přesměrovaný na HP.
MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Příklad: categories view:
www.phoca.cz/stockphoto/ (zde chybí alias menu odkazu, protože na této stránce je categories view jako home - tedy úvodní stránka)
A až v category view se začíná provádět router pro Phoca Cart:
www.phoca.cz/stockphoto/2-prague - našla se kategorie Praha, pak je to odkaz na kategorii
A na item view:
www.phoca.cz/stockphoto/2-prague/14-prague-1 - našel se obrázek Praha 1 (s ID 14) a zároveň existuje takový obrázek i v kategorii 2, tedy se zobrazí správně.
A teď nám začínají různé možnosti:
- překlepy v aliasu obrázku - známe ID, zkontrolujeme jestli patří do kategorie - pak to necháme "proplout" i s překlepem - našim cílem je ukázat produkt, ne odmítnou zákazníka se 404
Dokonce pokud dojde k překlepu u obou - kategorie a produktu, a čísla jsou OK, pořád překlepy ignorujeme a vracíme správnou stránku:
www.phoca.cz/stockphoto/2-plaha/14-plaha
Ale potom samozřejmě nastávají situace s jedním ID, kdy např. není nalezena kategorie, pak se vrací pořád OK, ale s tím, že nebylo nic nalezeno (ano, zde by se dalo uvažovat o 404, jenže by nám to potom rozbilo filtrování)
www.phoca.cz/stockphoto/25
A další různé varianty.
A samozřejmě tohle pravděpodobně celé padne v Joomla! 4, kde bude nový router, a tam už se bude vše řídit podle aliasů (to bude náročnější a ne tolik tolerantní např. vůči překlepům)
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
Tohle se ale netýká aplikace PhocaCart, jde o Joommla content, konkrétně jeden článek.
Vstupuje Vám do toho to, že odkaz nemáte vytvořený klasicky routerem contentu
(to by ten odkaz vypadal 2019.prokompresory.cz/informace-pro-zakazniky/11-obchodni-podminky), ale jako odkaz z položky menu.
Odkazy dole jsou vytvořeny pomocí modulu (vlastní html - připravený obsah ANO) s názvem "Péče o zákazníky" s odkazy na jednotlivé články, které mají také odkaz ve "Skrytém menu" - viz. příloha, pro možnost přiřazení jednotlivých modulů viz. kód:
Žádnou úpravu tam nemám. Problém je v nastavení HOMEPAGE.Navíc tam musíte mít nějakou úpravu, protože správně při chybě Vám vznikne 404 - článek nenalezen nebo 404 - kategorie nebyla nalezena, ale Vy 404 přesměrováváte zpět na home page.
Pokud je nastavena HomePage klasicky na Joomla (třeba Blog kategorie) tak vše funguje správně včetně 404 viz. 2019.prokompresory.cz/ (aktuálně HomePage nastavena na Joomla - skryté menu).
Pokud však nastavím jako HomePage "Phoca Cart-seznam kategorií" přesměrování na 404 přestane fungovat a systém se chová tak jak bylo popsáno. Při chybě v url vrátí duplikát HomePage viz. clear.prokompresory.cz/ (čistá instalace, HP nastavena na Phoca Cart) teď se nebavím o ID kategoriíí v url atd.. to je v pořádku a už jsme to probírali.
Příklad špatně zadané url:
2019.prokompresory.cz/kompresory/sroubove-kompresory/ => 404 (funguje)
clear.prokompresory.cz/kompresory/sroubove-kompresory/ => duplicitní HP (nefunguje)
Chtěl jsem jako HomePage nastavit Phoca Cart proto, protože shop je provozován na subdoméně - tak to kamoš chtěl. Mě se to taky nelíbí, ale nic s tím neudělám.
Joomla! od verze 1.5 -- ONEbit --

components/com_phocacart/router.php cca. 583
Při této adrese:
clear.prokompresory.cz/kompresory/sroubove-kompresory/
když Phoca Cart nenajde vůbec žádnou informaci o produktu nebo kategorii ($vars je prázdné) a adresa se bude skládat z více segmentů (/kompresory/sroubove-kompresory/ => 2 segmenty), pak se vytvoří 404.
Ovšem otázka je, jaký vliv to může mít na ostatní části systému?
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
Jak jsem psal problém je právě v tom, že je to celé na subdoméně pouze jako "E-SHOP" - úvodní stránka (web firmy) je od někoho jiného, aby prý byla "SEO dokonalá"

Joomla! od verze 1.5 -- ONEbit --
Kód jsem ještě mírně opravil (místo >1 jsem dal >=1 a doplnil do přepsání jazyku novou konstantu):
na řádek 583 jsem dal následující kód
Ještě jednou díky moc Honzo.
Joomla! od verze 1.5 -- ONEbit --