Přihlásit se

Phoca Cart a atributy - barvy vícebarevné

25. čvn 2025 16:55 #150428
Odpověď od Leoš
Pokročilý uživatel
Jestli to nějak vyřeším, určitě jo :-)

27. čvn 2025 12:41 #150436
Odpověď od H13
Admin
Včera na online sraze jsme řešili item (product) view s atributy, ale zapomněli jsme úplně na category/items view a filter module. Ja to testuju a vypadá to OK, jestli můžeš, zkus otestovat i ty ostatní views:


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: Leoš

27. čvn 2025 20:56 - 27. čvn 2025 21:41 #150438
Odpověď od Leoš
Pokročilý uživatel
Honzo, moc ti děkuju za včerejší skvělou práci s textovými atributy.
Vše jsem otestoval a všechno funguje jak má.
Jen mě napadla ještě jedna věc, kterou používá pár e-shopů: v zobrazení kategorie, kdy je vypsáno několik produktů, tak mají viditelné pouze atributy barvy. Ostatní typy atributů, třeba velikosti atd. se ukáží až při zobrazení karty jednotlivého produktu. Je to tak více přehlednější u produktů, které mají více druhů obsáhlých atributů. Ber to jako nápad na další vylepšení :-(

U filtru - použil jsem Phoca Cart Filter Module, ten SelectText funguje dobře, ale narazil jsem na to, že u barev - select barvy - já tam používám CSS pro to zobrazení dvojbarev - tak to zobrazuje pouze barvy nastavené v atributu. Zkusil jsem to vyřešit pomocí CSS ale to nejde, protože je tam onclick. Tak jsem jako neprogramátor vyzkoušel AI a vyplivlo to na mně javascript - a funguje to. Kod zde:
Code:
<script> document.addEventListener("DOMContentLoaded", function () {     document.querySelectorAll('.phSelectBoxButton').forEach(function (el) {         const onclickAttr = el.getAttribute('onclick');         if (onclickAttr) {             // Pokus o získání druhého parametru v onclick: 'a[barva]', 'red-black', ...             const matches = onclickAttr.match(/'([^']+)'/g);             if (matches && matches.length > 1) {                 const valueAlias = matches[1].replace(/'/g, ''); // odstraní apostrofy                 el.setAttribute('data-value-alias', valueAlias);             }         }     }); }); </script>
Jen bych potřeboval aby někdo opravdu znalý na to kouknul, zda je to fakt ok. Mně to zatím opticky funguje všechno ok.


Za mně tedy zbytek pracuje ok, doufám, že jsem na nic neopomenul. Kdyby jo, tak se to stalo nevědomky.

28. čvn 2025 13:10 - 28. čvn 2025 13:11 #150439
Odpověď od Leoš
Pokročilý uživatel
Ještě jsem při testování přišel na to, že když si chci pomoci Content types vytvořit šablonu pro attribut Select Text, tak mi ho v nabídce nenabídne. Není v kontextové nabídce. 
Takže zatím se to musí řešit jako Custom attribut.

Powered by Fórum