Joomla 5.2.2 Security & Bugfix Release
Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.
Vyhledávání  ...
08. úno 2019 08:43 #138861
Dobrý den,
prosím o radu:
pokud zadám do vyhledávání např. Test a ve výsledku vyhledávání je v titulku také Test, automaticky se za tímto vyhledáváním zobrazí  ....
Máte tip jak se toho zbavit?
Díky moc.
prosím o radu:
pokud zadám do vyhledávání např. Test a ve výsledku vyhledávání je v titulku také Test, automaticky se za tímto vyhledáváním zobrazí  ....
Máte tip jak se toho zbavit?
Díky moc.
08. úno 2019 16:28 - 08. úno 2019 16:29 #138864
MiniJoomla! - www.minijoomla.org - 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
Odpověď od Rudolf
Joomla Expert
Nerozumím, mě to nedělá.
Náhled by byl super.
Jediné co si pamatuji tak byl v Joomla bug a přidával kus html kódu se span higlight do titulku vyhledávání, což se dalo odstranit overridem šablony result:
forum.joomla.org/viewtopic.php?t=957945
nebo vypnutím této funkce v pluginu
Náhled by byl super.
Jediné co si pamatuji tak byl v Joomla bug a přidával kus html kódu se span higlight do titulku vyhledávání, což se dalo odstranit overridem šablony result:
forum.joomla.org/viewtopic.php?t=957945
nebo vypnutím této funkce v pluginu
MiniJoomla! - www.minijoomla.org - 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
11. úno 2019 19:06 #138885
Odpověď od Pavel [byPV]
Začátečník
Zdravím,
co já vím, tak to Joomla! dělá odjakživa, ale nikdy jsem tomu nevěnoval moc pozornosti. Jen pro info, dělá to komponenta "Search", ale ne "Smart Search" (Finder).
Teď jsem to zkusil (na čisté instalaci) a ten "problém" tam je. Zajímalo mě, kde se to bere a bohužel jsem se dostal až někam hluboko do jádra Joomla! a zdá se, že jde o dost starou funkcionalitu (snad ještě dokonce z Joomla! 1.5), která mně osobně ani nedává smysl. Možná jde pouze o chybičku v návrhu, kterou jen všichni dlouhodobě ignorují - jako já .
Pokud to někoho zajímá, tak toto jsem okolo toho objevil a pochopil:
Jedna možnost jak to tedy opravit je buď přímo komponentě Search (není to složité a je to jen upravený jeden řádek), ale to by bylo nutné aplikovat po každé aktualizaci, tak to tu uvádět nebudu. Další možností je v layoutu v šabloně ten konec navíc zase odříznout . Pro titulek ve vyhledávání např. takto:
/components/com_search/views/search/tmpl/default_results.php
* ten první řádek najdete v daném layoutu a ten druhý vložte rovnou za něj; pro textový obsah entity (např. článku) ve vyhledávání stačí přidat totožný řádek hned pod to a zaměnit $result->title za $result->text
Úpravu samozřejmě proveďte v šabloně a ne v komponentě...
PS: Toto řešení však neřeší případ, kdy je text zkrácený na těch 200 znaků (v případě, že je delší). Zde by měla ta trojtečka podle mého názoru zůstat, ale to už se řeší špatně, když v layoutu není k dispozici původní (nezkrácený) text a načítat ho třeba z DB mi přijde jako kanón na vrabce. Řešení by se asi našlo, ale nevím teď jestli úplně dokonalé...
co já vím, tak to Joomla! dělá odjakživa, ale nikdy jsem tomu nevěnoval moc pozornosti. Jen pro info, dělá to komponenta "Search", ale ne "Smart Search" (Finder).
Teď jsem to zkusil (na čisté instalaci) a ten "problém" tam je. Zajímalo mě, kde se to bere a bohužel jsem se dostal až někam hluboko do jádra Joomla! a zdá se, že jde o dost starou funkcionalitu (snad ještě dokonce z Joomla! 1.5), která mně osobně ani nedává smysl. Možná jde pouze o chybičku v návrhu, kterou jen všichni dlouhodobě ignorují - jako já .
Pokud to někoho zajímá, tak toto jsem okolo toho objevil a pochopil:
- U každého jazyka je pevně definovaná délka textu, který se má vypsat při hledání (titulek a asi i obsah nalezené entity - např. článku). To je první věc, čemu nerozumím, protože co to má společného s jazykem a proč je to nastavené napevno v kódu??? Jasně to podle mého patří někam do konfigurace pro "hledání". Výchozí hodnota je 200 znaků a pro češtinu je to stejné.
- A pak tu je ta funkce, co dodává tu trojtečku. Pokud by měl například nalezený článek titulek (nebo obsah) dejme tomu 500 znaků dlouhý, tak se výstup ořízne na těch 200 znaků (viz předchozí bod). A to tak, aby se zobrazila souvislá část, kde se hledané slovo vyskytuje (pokud se zde vyskytuje). Pokud pak titulek není zobrazen od začátku, tak se tam doplní ta trojtečka (na začátek). Problém však je, že na konci to nefunguje stejně (což by dávalo smysl) a ta trojtečka se tam doplní vždy! Tedy i když je titulek kratší než 200 znaků a je tedy zobrazen celý. To je druhá věc, které nerozumím, ale domnívám se, že to takto nikdo asi vyloženě nechtěl a je to skutečně spíše "chyba" v prvotní implementaci, která se bohužel táhne.
Jedna možnost jak to tedy opravit je buď přímo komponentě Search (není to složité a je to jen upravený jeden řádek), ale to by bylo nutné aplikovat po každé aktualizaci, tak to tu uvádět nebudu. Další možností je v layoutu v šabloně ten konec navíc zase odříznout . Pro titulek ve vyhledávání např. takto:
/components/com_search/views/search/tmpl/default_results.php
Code:
<?php foreach ($this->results as $result) : ?>
<?php if (strpos($result->title, ' ...', -9) !== false) $result->title = substr($result->title, 0, -9); ?>
Úpravu samozřejmě proveďte v šabloně a ne v komponentě...
PS: Toto řešení však neřeší případ, kdy je text zkrácený na těch 200 znaků (v případě, že je delší). Zde by měla ta trojtečka podle mého názoru zůstat, ale to už se řeší špatně, když v layoutu není k dispozici původní (nezkrácený) text a načítat ho třeba z DB mi přijde jako kanón na vrabce. Řešení by se asi našlo, ale nevím teď jestli úplně dokonalé...
Poděkovali: zpetr, Rudolf, monika.bonny