Prohlížení tohoto vlákna:
1 Anonymní uživatelé
Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
22:45 13.12.2006 Skupina:
Registrovaní uživatelé Příspěvky:
608
|
Prosím, funguje Vám vyhledávání v ZC 1.3.7 ve verzi doplněné o češtinu ?
Založil jsem nedávno toto téma: Vyhledávání - timeout, ale po dlouhém pátrání jsem dospěl k tomu, že se o timeout nejedná a podařilo se mi pravděpodobně najít, kde je zarytaja sabaka. Řešil jsem to i TADY na zen-cart.com a dospěl jsem postupně k tomu, že chyba je v souboru functions_general.php. Zjistil jsem, že originál instalace ZC vyhledává v pořádku a použiju-li do svého shopu soubor functions_general.php z této čisté instalace, vyhledávání také funguje OK. Porovnal jsem pomocí Byond Compare můj soubor s originál čistou instalací a ZC a zjistil jsem, že jedna část souboru je odlišná. Postupně jsem prohledal všechna rozšíření, která jsem do ZC postupně instaloval a zjistil jsem, že nikde, mimo instalce češtiny pro ZC 1.3.7. soubor functions_general.php nefiguruje. Porovnal jsem opět přes Byond Compare soubor z instalace a soubor z češtiny a rozdíl je skutečně v instalaci češtiny. Ovšem mé PHP znalosti nejsou dostačující k tomu, abych identifikoval, proč tam ta změna je. Mohl by na to někdo kouknout ? Zde je zmíněná část souboru functions_general.php z orignální instalace: Citát:
A zde je zmíněná část souboru functions_general.php z instalace češtiny pro 1.3.7.: Citát:
Zasláno: 18:07 24.5.2007
|
|
_________________
TomCZ - jednou je snad dodělám www.rcshop.eu www.hankashop.cz www.detskeknizky.cz www.hrackyahry.cz |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
20:29 7.12.2005 Bydliště Plzeň
Skupina:
Registrovaní uživatelé Vývojáři Příspěvky:
990
|
TomCZ: To je od tebe hezký, že jsi nám sem poslal k porovnání 2x ten samý soubor
Trochu jsem se tomu podíval na zoubek a zdá se, že pro češtinu (a předpokládám taky pro slovenštinu a další jazyky) dostatečně funguje tohle řešení: 1. V souborech /includes/languages/czech.php a /admin/includes/languages/czech.php se používá zbytečně komplikovaná funkce zen_date_raw Úplně postačí původní modifikovaná funkce v tomto znění:
Jediná změna je tam přehozené pořadí dnů a měsíců proti originální americké angličtině. Tahle funkce nemá přímo vliv na vyhledávání, ale slouží pro převod ostatních zadávaných datumů v obchodě a administraci. Funkci zen_date_raw v obou souborech czech.php z české instalace je možné smazat nebo přejmenovat (například na zen_date_raw_obsolette) 2. V souborech /includes/languages/czech.php a /admin/includes/languages/czech.php je definovaná konstanta DOB_FROMAT_STRING takto:
Tahle konstanta slouží jednak k zobrazení formátu data ve formuláři stránky Advanced Search, ale taky k ověření zadaného data funkcí zen_checkdate v souboru /includes/functions/functions_general.php. V originálu tahle funkce předpokládá čistě anglické tvary formátů 'dd' pro den, 'mm' pro měsíc a 'yyyy' resp. 'aaaa' pro rok. Pro formát roku 'rrrr' z češtiny se tedy musela upravit. Kromě toho se formát z konstanty DOB_FORMAT_STRING používá také k ověření data JavaScriptem (funkce IsValidDate) v souboru /includes/general.js a tenhle soubor je v české instalaci také upravený kvůli tomu 'rrrr'. Tohle řešení má zásadní chybu - nefunguje pro další jazyky bez úpravy. Když budete chtít třeba přidat němčinu s formátem data 'TT.MM.JJJJ' (Tag, Monat, Jahr), musí se zase natvrdo upravit oba soubory. 3. Řešit se to dá podle mého elegantněji a univerzálněji: oddělit formát data pro interní porovnávání od formátu, který se vypisuje do formuláře jako návod k vyplnění, tedy: 3.1 V souboru /includes/languages/czech.php definovat formáty takto:
DOB_FORMAT_STRING se použije jako interní formát pro kontrolu datumu a proto musí být ty zkratky anglicky. DOB_FORMAT_STRING_VISIBLE se použije pro zobrazení formátu datumu ve formuláři a musí odpovídat jazykovým zvyklostem. Pro němčinu tedy může být (Tag, Monat, Jahr):
a pro francouzštinu třeba (jour, mois, année):
V souboru /admin/includes/languages/czech.php nejsou žádné úpravy třeba, protože konstanta DOB_FORMAT_STRING je tam sice definovaná, ale vůbec se nepoužívá. 3.2 Soubory includes/functions/functions_general.php a /includes/general.js se použijí z originální instalace. Zato je třeba upravit soubory: /includes/modules/pages/advanced_search/header_php.php /includes/modules/pages/advanced_search/jscript_main.php /includes/templates/template_default/templates/tpl_advanced_search_default.php Úpravy tady uvádět nebudu, v příloze jsou tyto soubory upravené. 3.3 Tahle úprava neřeší zkratky měsíců, které jsou v kódu natvrdo v angličtině. Sice by to šlo, ale pro vyhledávání podle datumu to považuju za ztrátu času a k ničemu jinému se ty zkratky nepoužívají. 4. Abych to shrnul: Pokud chcete použít toto řešení
5. Testováno v ZC v1.3.7, jazyky angličtina + čeština 6. Budu rád za jakékoli připomínky a VÝSLEDKY TESTOVÁNÍ.
Zasláno: 2:44 25.5.2007
|
|
_________________
[col |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
23:01 9.1.2006 Bydliště Liberec
Skupina:
Registrovaní uživatelé Příspěvky:
657
|
<ot>
Tak Dědku..., už jsem Tě dlouho nepochválil, ale vždycky když si přečtu tvůj příspěvěk - mám pocit, že jsi napsal novou verzi zenu. Kloubouk dolů, kdo umí - ten umí, kdo neumí - ten čumí. </ot>
Zasláno: 3:00 25.5.2007
|
|
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
20:29 7.12.2005 Bydliště Plzeň
Skupina:
Registrovaní uživatelé Vývojáři Příspěvky:
990
|
No jo, mám pocit, že poslední dobou pořád řeším nějaký nedodělky v Zen Cartu. Kdyby oni ti anglofoni si občas taky připustili, že jsou i jiný jazyky než angličtina, bylo by líp.
Zrovna před chvílí jsem na zen-cart.com odpovídal jednomu takovýmu na dotaz, proč že si myslím, že anglický hlášky nadrátovaný přímo v kódu považuju za chybu. Von tyhle nedodělky prostě řešit nemusí, takže pro něj holt to chyba není. Ach jo...
Zasláno: 4:30 25.5.2007
|
|
_________________
[col |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
22:45 13.12.2006 Skupina:
Registrovaní uživatelé Příspěvky:
608
|
Dědku, díky, díky, díky, zatu chybu s vložením stejného kódu se omlouvám. Už jsem se v těchto, pro mne dost neznámých vodách, toulal moc dlouho a už mi z toho asi i lehce hráblo.
Včera jsem to celý problém nakonec vyřešil tak, že jsem použil čistě jen soubor functions_general.php z originální instalace a na první pohled se zdálo, že vše funguje dobře, ale je pravda, že jsem nezkusil adv.search s datumem a tam teď, ať vložím datom 2007.02.10 nebo 10.02.2007 to hází chybu, že je špatně zadané datum "od". Večer to zkusím překutat na tu tvou verzi úpravy Docele mne ale zaráží, že se s tím nikdo nesetkal dřív ?
Zasláno: 7:56 25.5.2007
|
|
_________________
TomCZ - jednou je snad dodělám www.rcshop.eu www.hankashop.cz www.detskeknizky.cz www.hrackyahry.cz |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
20:29 7.12.2005 Bydliště Plzeň
Skupina:
Registrovaní uživatelé Vývojáři Příspěvky:
990
|
Doplněk k návodu uvedenému výše:
OBNOVTE SI Z ORIGINÁLNÍ INSTALACE TAKÉ SOUBOR - /includes/modules/pages/advanced_search_result/header_php.php Na ten jsem jaksi pozapomněl.
Zasláno: 8:42 25.5.2007
|
|
_________________
[col |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Členem od:
23:10 26.10.2006 Skupina:
Registrovaní uživatelé Vývojáři Příspěvky:
1002997
|
Citát:
Docele mne ale zaráží, že se s tím nikdo nesetkal dřív ? setkal, psalo se o tom, ale každý to vysvětloval nějak jinak a svádělo se to na všechno možný. Prostě buďto to šlo anebo ne. to Dědek: připájím se k Freemanovi.... ale: když zadám vyhledávání podle datumu a napíši od: 01.05.2007 do:25.05.2007 tak to vyhodí chybovou hlášku, že datum do musí být větší anebo stejné jako datum od. a další věc. název zboží je např. Manowar - triko. Když zadám jako klíčové slovo např. Manowar (nebo jinou kapelu, která je v názvu zboží, viz moje stránky), tak to nenajde nic, ale když zadám jen triko, tak se vypíšou všechny trika. ZC 135
Zasláno: 14:35 25.5.2007
Editováno melodic ze dne 25. 5. 2007 15:19:51
Editováno melodic ze dne 25. 5. 2007 15:24:03 |
|
_________________
Save Water ! Drink Beer ... |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
22:45 13.12.2006 Skupina:
Registrovaní uživatelé Příspěvky:
608
|
Ahoj, tak jsem testoval na ZC 1.3.7 CZ a pak na ZC 1.3.7 CZ+ENG+GER a dospěl jsem k následujícímu:
Shop 1.3.7 CZ: Při Advanced Search mi to hodí chybu "Spatné datum od" resp. "Špatné datum do" ať zkusím zadat datum ve formátu dd.mm.rrrr a nebo i původní formátu z ENG mm/dd/rrrr Jinak všechno další vyhledávání funguje, jak normální, tak i rozšířené třeba dle ceny apod. Shop 1.3.7 CZ+ENG+GER (www.rctomik.eu) Stejný problém při Advanced Search v češtině, datumy nefungují. Při hledání v Adv.Search v GER (použita stejná úprava v german.php dle Dědka jako pro soubor czech.php) vše funguje správně a vyhledávání podle datumů funguje správně při zadaném formátu dd.mm.rrrr. V ENG opět vše funkčí s formátem mm/dd/rrrr. do přílohy dávám své soubory czech.php a german.php pro případné porovnání. Např. v czech.php je navíc u funkce zen_date_raw jakási definice MONTH_ABBR, která v german.php není, ale nevím, jestli na to může mít vliv.
Zasláno: 10:33 26.5.2007
|
|
_________________
TomCZ - jednou je snad dodělám www.rcshop.eu www.hankashop.cz www.detskeknizky.cz www.hrackyahry.cz |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
20:29 7.12.2005 Bydliště Plzeň
Skupina:
Registrovaní uživatelé Vývojáři Příspěvky:
990
|
TomCZ: Nefunguje ti datum v češtině, protože jsi v czech.php nechal funkci zen_date_raw z češtiny od JardyR. Tam musíš mít funkci zen_date_raw tak, jak jsem ji tady popisoval a jak ji máš v german.php. Proto ti němčina funguje a čeština ne.
Definice MONTH_ABBR se používá v úpravě od JardyR. V úpravě, kterou tady popisuji je zbytečná. Melodic: Co se datumu týče, překontroluj si celý popsaný postup úpravy. Možná, že jsi něco zapomněl, ovšem nevylučuji, že jsem někde něco zapomněl já popsat. Podle toho jak popisuješ problémy s vyhledáváním textu, bych se skoro vsadil, že máš nastavené nějaké case sensitive porovnávání v databázi - tedy buď cp1250_czech_cs nebo latin2_czech_cs. Obě jsou naprosto nevhodná. Pokud máš databázi cp1250, vyzkoušej porovnávání cp1250_general_ci. Nebude to fungovat korektně podle normy, ale mělo by se najít všechno. Pokud se najde, je třeba řešit znakovou sadu a porovnávání databáze. Jediná kombinace, která pro češtinu funguje korektně, je znaková sada utf8 a porovnávání utf8_czech_ci.
Zasláno: 9:52 28.5.2007
|
|
_________________
[col |
||
Přenos |
Re: Vyhledávání v ZC 1.3.7. - čeština |
||
---|---|---|
Guru
Členem od:
22:45 13.12.2006 Skupina:
Registrovaní uživatelé Příspěvky:
608
|
Díky Dědku, nevím, co jsem vyváděl, ale teď už bych toměl mít celé. Hodil jsem si opět do Beyond Compare file czech.php a german.php a dal to nějak dohromady.
Když jsem totiž zakomentoval jen tu původní funkci zen_date_raw , nastavil ty dvě definice a přkopíroval novou zen_date_raw, tak mi to opět začalo padat do blank screen už na úvodní stránce shopu. Při porovnání v Beyond Compare jsem pak zjistil ještě celkem dost velkou odlišnost pod funkcí zen_date_raw mezi czech.php a german.php. V czech.php přebýval tento kód: Citát:
Sice nevím, co přesně dělá, ale zkusil jsem ho odstranit a zdá se, že to funguje. Doufám, že jsem nevyhodil nic důležitého. Pro jistotu ještě přikládám svůj nový czech.php
Zasláno: 11:10 28.5.2007
|
|
_________________
TomCZ - jednou je snad dodělám www.rcshop.eu www.hankashop.cz www.detskeknizky.cz www.hrackyahry.cz |
||
Přenos |
Můžete prohlížet témata.
Nemůžete zakládat nová témata.
Nemůžete odpovídat na příspěvky.
Nemůžete editovat Vaše příspěvky.
Nemůžete mazat Vaše příspěvky.
Nemůžete přidávat nové ankety.
Můžete hlasovat v anketách.
Nemůžete připojovat soubory k příspěvkům.
Nemůžete přispívat bez schválení.