Vyhledávání  ...

monika.bonny
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.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Rudolf
08. úno 2019 16:28 - 08. úno 2019 16:29 #138864
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

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

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Pavel [byPV]
11. úno 2019 19:06 #138885
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:
  1. 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é.
  2. 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
<?php foreach ($this->results as $result) : ?>
	<?php if (strpos($result->title, '&#160;...', -9) !== false) $result->title = substr($result->title, 0, -9); ?>
* 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é...
Poděkovali: zpetr, Rudolf, monika.bonny

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od monika.bonny
14. úno 2019 23:06 #138947
Mockrát díky za čas a pomoc ;-).

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.