Open pavelevap opened 9 years ago
Je napsané v komentářích co to dělá, když tak můžu poskytnout další info :)
Pokud jsem to dobře pochopil, tak první část přidává políčka k produktům, kam se může zadávat EAN a Datum doručení (a ukládá je do databáze jako uživatelská pole). Zobrazuje se to hned na první záložce (Obecné) při editaci produktu. Budeme asi potřebovat celou vlastní záložku "České služby", kde bude možné nastavit nejen toto, ale i některé položky pro XML feedy.
Datum doručení se zadává jako počet dnů a podle toho se pak zobrazuje příslušná informace. Takže když někdo zadá "5", tak se na webu zobrazí "Do týdne". Podle mě by se nemělo vůbec nic zadávat, ale měly by být předem definované možnosti, ze kterých by uživatel jenom vybíral (a nic sám ručně nezadával)? A nevím, jak to u eshopů funguje, ale neměl by být někde pohromadě nějaký přehled označených výrobků se speciálním datem doručení, aby se mohly snadno změnit (a nikoli složitě dohledávat)? EAN se pak na webu asi nikde nezobrazuje a patrně je používán pouze pro XML feed?
Další část přidává speciální metabox pro "Krátký popisek" (měl by se zobrazovat přímo nad názvem produktu). Jeho použití ale zatím moc nechápu? To je určeno spíše pro nějaký konkrétní web?
A potom tam je ještě nějaká zobrazovaná informace "Doprava ZDARMA", která se objeví, pokud je nějaký produkt nad určitou cenu? A ta cena tam je natvrdo nad 10000. Neměla by se brát podmínka z nastavení klasické dopravy zdarma? To by šlo asi udělat automaticky, tedy pokud by tam byla splněná podmínka a proběhla by přímo u produktu (tedy cena produktu sama o sobě splňuje cenovou podmínku), tak tam zobrazovat nějaký text/banner o dopravě zdarma (ideálně nastavitelný v administraci).
Kód je to sice splácaný, ale nápadů tam je hodně :-)
První odstavec jste pochopil dobře. Datum doručení je schválně jako počet dnů, protože mnoho dodavatelů, kteří poskytují feedy pro eshopy je mají v číselné podobě - je to kvůli importu feedů. Nicméně pro uživatele možná bude stačit nějaký dropdown, kde si bude moct vybrat nějakou položku. Můj původní nápad ale byl (neměl jsem čas dokončit), že uživatel si pro jednotlivá čísla(date_delivery) nadefinuje vlastní text, který se bude zobrazovat ve frontendu. EAN se v tomto kódu nezobrazuje (slouží jen pro xml), ale u některých našich webů ano, stačí jen zahookovat a zobrazit.
Krátký popisek byl vytvořen pro některé zákazníky, kteří si to přímo vyžadovali, je to speciálně třeba pro náhradní díly atd. aby návštěvník neviděl jen nadpis, ale i co si má pod tím představit. Viz: http://kvalitni-svitidla.cz.novetrendy.profiwh.com/ (web ve vývoji).
Doprava zdarma byla hodně narychlo, proto jsem to nebral přímo z nastavení dopravy zdarma. Nicméně je tam dvakrát - poprvé v jako 'sticky' - zobrazuje se archivu a podruhé přímo na stránce produktu.
Všechny kódy mám nastylované, ale konkrétně pro mou šablonu, proto jsem css ani nepřikládal. Samozřejmě css můžu nějak univerzálně nastylovat, pokud bude potřeba.
Co je potřeba ještě dodat, abychom mohli přidat delivery_date a ean? Můžu Váš kód upravovat a použít dál, samozřejmě s vaším svolením?
Kód je pod licencí GPL, takže s ním můžete dělat cokoliv :-)
Přidání EAN asi není nijak složité, datum doručení ještě musím promyslet. Ideální způsob je asi ten, že si uživatel sám nadefinuje vhodné možnosti, tedy např. Skladem, Do týdne, U dodavatele (dva týdny) a každá možnost bude mít také časový interval (0, 1 - 5, atd). Problémem ale bude, co když to pak uživatel změní a u některých produktů to bude historicky zadané? Pro tyto případy by zase bylo lepší předem natvrdo nadefinovat všechny možnosti.
Tady bych právě nechal aby uživatel k jednotlivým rozsahům čísel mohl vybrat jen popisek do frontendu. Př: 0 - 'SKLADEM' 1-3 - 'DO TŘÍ DNŮ' Čili rozsah uživatel nemůže změnit (0, 1-3) ale popisek ano (SKLADEM, DO TŘÍ DNŮ) Tím se nedotkne ani feedů ani samotných produktů, protože zadané číslo bude pořád stejné.
XML feedy by měly podporovat EAN ukládaný v rámci vlastního uživatelského pole: https://github.com/pavelevap/ceske-sluzby/commit/a7b2dd71545eae0b55bd66a9c7605f695c607c94
Stačí zadat název uživatelského pole v nastavení a vše by mělo automaticky fungovat. Ale chtělo by to vyzkoušet i někým jiným :-)
Super, funguje :+1:
A mám tu ještě report ohledně problémů s dodací dobou a je třeba to prověřit: Dostupnost zboží mám normálně na eshopu: skladem, nebo skladem na objednání (nebo jak to tam je). Nenašel jsem u Woocommerce, kde a jak by se dalo zadat třeba odesíláme do 3 dnů, nebo na objednání do 7mi dnů. Každopádně mě to tam hází chybu asi u produktů, kde mám zadánu, že to je skladem, ale na objednávku, jak by se to dalo nastavit, opravit, aby se ten feed zvalidoval správně?
U Woocommerce toto nelze, proto jsem tady někde postoval i kus kódu, který to řeší přes custom fields. Nemám k tomu admin rozhraní takže si v kódu jen nastavím, co se má zobrazit po zadání určitého čísla. Např: 0 - Skladem, 1 až 3 - do tří dnů apod.
Nešlo by dodací dobu ještě zkombinovat s dostupnostním feedem? http://sluzby.heureka.cz/napoveda/dostupnostni-feed/#expandableChapter_delivery_time
A problém se částečně řeší ještě v issue #20.
Určitě by to šlo zkombinovat:
$dodaci_doba = get_post_meta( $product->id, 'delivery_date', true ); $cas_na doruceni = get options('ceske_sluzby_cas_na_doruceni'); $dodaci_doba = dodaci_doba * 24; $dodaci_doba = $dodaci_doba + $cas_na doruceni;
Potom převedeme na hodnotu $dodaci_doba
na formát času heureky a ošetříme pro případ NULL podmínkou (if empty)
<delivery_time orderDeadline="2011-09-10 12:00">2011-09-11 13:00</delivery_time>
Dodací doba má být dostupná i pro varianty?
Zrovna o tom přemýšlím :-) Ideální by asi bylo nastavení eshop / kategorie / produkt / varianta, aby se to celé zjednodušilo... Někomu by to stačilo na úrovni eshopu, ale někomu bude třeba chybět jen nějaká barevná varianta.
Základní nastavení EAN už je hotové, ale potřebujeme ještě následující:
Heureka podporuje EAN-13: http://sluzby.heureka.cz/napoveda/xml-feed/#EAN
Zboží.cz podporuje dokonce EAN-8, UPC-12, EAN-13 a ITF-14: https://napoveda.seznam.cz/cz/zbozi/specifikace-xml-pro-obchody/specifikace-xml-feedu/#EAN
Google podporuje také mnohé formáty (patrně jako Zboží.cz): https://support.google.com/merchants/answer/6324461?hl=en&ref_topic=6324338
Pricemania podporuje ean
a part_number
(nedefinováno): https://www.pricemania.cz/specifikace-xml-feedu
Zajímavý nástroj: http://www.gs1cz.org/nastroje-a-pomucky/vypocet-kontrolni-cislice/
Nejpoužívanější je asi Heureka, takže se bude většinou zadávat EAN-13. Ale co když někdo bude chtít nějaký jiný EAN? Tak ho zadá, ale na Heurece se nebude zobrazovat. Asi nemá cenu zadávat ve dvou formátech (mít dvě různá políčka)? Pokud má někdo EAN-13, tak bude fungovat všude. Pokud má jiný formát, tak na Heurece stejně fungovat nebude.
Kód převzat z jiného požadavku: #19
Bude třeba zjistit, co to přesně dělá...