Zoekfunctie en het &-teken (ampersand)

  • Frits Jongbloets
  • Onderwerp Auteur
  • Gebruiker
  • Gebruiker
Meer
08 sep 2015 09:09 #3611 door Frits Jongbloets
Zoekfunctie en het &-teken (ampersand) werd gestart door Frits Jongbloets
Tekens als het &-teken (ampersand) worden genegeerd in de Joomla core zoekfunctie. Maar nu heb ik te maken met een site waarop kledingmerken zoals H&M en C&A als zoekterm gebruikt kunnen worden. Als ik hierop zoek, krijg ik een foutmelding: "De zoekterm moet minimaal 3 tekens bevatten".

Heeft iemand een tip hoe dit te omzeilen? (Overigens blijven het rottige zoektermen want mensen zullen vast ook allerlei varianten proberen, zoals "H en M", "C & A" etcetera.)
Onderwerp is gesloten.
  • Gast
  • Gebruiker
  • Gebruiker
Meer
08 sep 2015 09:09 #3612 door Gast
Beantwoord door Gast in topic Zoekfunctie en het &-teken (ampersand)
Je zou het minimaal aantal tekens kunnen verlagen. Dat is wel letterlijk in de core weggeschreven.

Stap 1: Zoek in /libraries/joomla/language/language.php naar het volgende blokje:
[PHP]
public function getLowerLimitSearchWord()
{
if ($this->lowerLimitSearchWordCallback !== null)
{
return call_user_func($this->lowerLimitSearchWordCallback);
}
else
{
return 3;
}
}
[/PHP]

Verander "return 3;" naar "return 2;"

Stap 2: pas minimum per taal aan in /language/nl-NL/nl-NL.localise.php
[PHP]
public static function getLowerLimitSearchWord()
{
return 3;
}
[/PHP]
Pas hier hetzelfde aan.

Toevoeging: een override maken op core classes is natuurlijk nog mooier. Don Gilbert heeft hier een plugin voor geschreven die staat op GitHub .
Onderwerp is gesloten.
  • Gast
  • Gebruiker
  • Gebruiker
Meer
08 sep 2015 09:09 #3613 door Gast
Beantwoord door Gast in topic Zoekfunctie en het &-teken (ampersand)
Het wordt waarschijnlijk veroorzaakt door JInput waarbij de filter niet op "RAW" staat. Als je vind waar in het zoekcomponent de JInput gebruikt wordt dan zou je ook de filter op raw kunnen zetten. Niet getest of geprobeerd, maar wie weet helpt het je op weg.

docs.joomla.org/Retrieving_request_data_using_JInput

@Adje, dat zou moeten kunnen, MySQL kan ook lege strings aan in queries (om bijvoorbeeld te checken of een veld leeg is).
Onderwerp is gesloten.
  • Gast
  • Gebruiker
  • Gebruiker
Meer
08 sep 2015 09:09 #3614 door Gast
Beantwoord door Gast in topic Zoekfunctie en het &-teken (ampersand)
Ik denk dat de 'raw' input nog wel escaped wordt, dus dat het nog wel veilig is, maar ik heb het niet getest.

Wat als je 'post' vervangt door 'string' of 'html'? Dat is namelijk de filter. Als het dan nog niet werkt zou je als laatste nog 'raw' kunnen proberen.
Onderwerp is gesloten.
  • Martijn Maandag
  • Admin
  • Admin
  • www.reisverslagen.net Vertaler van Joomla op crowdin.com/project/joomla-cms. Vertaler van document
Meer
08 sep 2015 09:09 #3615 door Martijn Maandag
Beantwoord door Martijn Maandag in topic Zoekfunctie en het &-teken (ampersand)
@wimmie Je hoeft niet alle artikelen opnieuw op te slaan. In het beheergedeelte kun je opnieuw indexeren.

www.reisverslagen.net
Vertaler van Joomla op Crowdin .
Vertaler van documentatie en helpschermen via het volunteers.joomla.org/teams/community-translation-te
Onderwerp is gesloten.
  • BramWaas
  • Gebruiker
  • Gebruiker
  • Eigenaar en onderhouder van enkele websites en een plugin
Meer
08 sep 2015 09:09 #3616 door BramWaas
Beantwoord door BramWaas in topic Zoekfunctie en het &-teken (ampersand)
Mijn eerste gedachte zou zijn H&M , maar dat heb je vast al geprobeerd.
Onderwerp is gesloten.
Gemaakt door Kunena