Willkommen Gast. Bitte anmelden oder registrieren.

Autor Thema: Joomla-Suche in Modul oder Template einbinden?  (Gelesen 3640 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Harmageddon

  • Bestätigter Nutzer
  • Beiträge: 23
    • ZweiIconKram
Joomla-Suche in Modul oder Template einbinden?
« am: 07. März 2012, 19:51:16 »
Moin zusammen!
Im Zuge des Upgrades meiner Seite auf J!2.5 habe ich ein paar Änderungen an der Seitenstruktur vorgenommen, die bewirken, dass die "pretty/friendly" URLs jetzt etwas anders aussehen, z.B. enthalten sie auch die ID des Artikels. Das führt natürlich dazu, dass man, wenn man eine der alten URLs aufruft, eine 404-Seite erhält. Auf dieser 404-Seite würde ich dem Benutzer dann gerne Vorschläge anzeigen, à la "meinten Sie vielleicht...", sodass man die Artikel schneller unter der neuen URL findet. Die Vorschläge müssten dann wohl auf Basis der URL generiert werden. Jetzt stellt sich mir im Moment die Frage: Kann ich hierfür in einem Modul oder direkt in der error.php des Templates die Joomla-eigene Suche insofern benutzen, dass ich Teile der URL, die auf den Beitrags- oder Kategorietitel schließen lassen, an die Suche übergebe und die Ergebnisse ausgeben lasse?
Mal ein kleines Beispiel zur Veranschaulichung: Früher wurde ein Artikel über "anleitungen/firebug.html" aufgerufen, jetzt lautet die URL "anleitungen/38-firebug.html". Wenn man "anleitungen/firebug.html" aufruft, wird ein 404-Error angezeigt. Auf dieser Error-Seite möchte ich nun die Suchergebnisse für "Firebug" als Vorschläge für den Benutzer anzeigen.
Kann ich dafür die Joomla-Suche irgendwie einbinden oder muss ich eine eigene Suche basteln? Falls es bereits ein Modul oder Plugin gibt, mit dem man so etwas realisieren kann, wäre ich auch dafür dankbar.

sybrek

  • Bestätigter Nutzer
  • Beiträge: 25
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #1 am: 07. März 2012, 21:20:31 »
Wurde nicht schon immer die ID des Artikels im SEFUrl-Part vorangestellt ?
Wäre es nicht ingesamt sinnvoller einfach die URLs zu behalten oder halt direkt Umleiten zu lassen ?

Harmageddon

  • Bestätigter Nutzer
  • Beiträge: 23
    • ZweiIconKram
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #2 am: 07. März 2012, 21:38:51 »
Das ist eben ein Resultat an den bereits angesprochenen leichten Änderungen der Seitenstruktur. Vorher war die ID nicht in der URL, da ich für jeden Beitrag einen eigenen Menüpunkt angelegt hatte. Jetzt lasse ich das Menü sozusagen automatisch generieren, mit dem Extended Menu. Daher wird nicht mehr über das Menü verlinkt, sondern auf die einzelnen Beiträge.

bembelimen

  • moderatives Dielektrikum
  • Beiträge: 227
  • Ich kam, sah und zensierte...
    • Joomla! Vereinsverwaltung
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #3 am: 08. März 2012, 00:27:27 »
Ich denke, dass du dir dazu am besten ein Modul schreibst, dass du dann per error.php lädst. Vom Prinzip her musst du dir wohl für jeden Komponententyp (wenn du mehr als com_content hast) eine Art Helper-Methode bauen, die anhand der aktuellen URL Ähnlichkeitsvergleiche auf die Aliase anwendet. Dazu als Stichwort evtl. Levenshtein, dieser Algorithmus ist nicht optimal, aber vielleicht ein Anfang, an dem du dich entlang hangeln kannst.
« Letzte Änderung: 08. März 2012, 00:45:53 von bembelimen »
Joomla! ist auch nur ein Mensch...

Harmageddon

  • Bestätigter Nutzer
  • Beiträge: 23
    • ZweiIconKram
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #4 am: 08. März 2012, 15:19:57 »
Klasse, vielen Dank für den Ansatz! Das hat mich schon deutlich weitergebracht. Jetzt stehe ich gerade vor der Frage, ob ich aus der URL irgendwie den Artikel-Alias extrahieren kann. Wenn die URL z.B. lautet: "anleitungen/firebug.html", brauche ich ja nur das "firebug". Gibts da in der JURI-Klasse o.ä. eine Funktion, die das kann oder muss ich da mit RegEx oder ähnlichem ran? Ich hab bisher nichts gefunden.

bembelimen

  • moderatives Dielektrikum
  • Beiträge: 227
  • Ich kam, sah und zensierte...
    • Joomla! Vereinsverwaltung
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #5 am: 08. März 2012, 15:49:06 »
Du musst eher anhand der (Artikel-) ID den aktuellen Alias bestimmen und diesen dann als Basis für den Vergleich nutzen.
Joomla! ist auch nur ein Mensch...

Harmageddon

  • Bestätigter Nutzer
  • Beiträge: 23
    • ZweiIconKram
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #6 am: 08. März 2012, 15:50:22 »
Da ich das Modul in erster Linie auf einer 404-Seite benutzen will, die hauptsächlich beim Aufrufen einer alten URL ohne ID auftritt, habe ich keine Artikel-ID.

bembelimen

  • moderatives Dielektrikum
  • Beiträge: 227
  • Ich kam, sah und zensierte...
    • Joomla! Vereinsverwaltung
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #7 am: 08. März 2012, 15:55:42 »
Ok, stimmt, da habe ich falsch gedacht. Schau doch mal, was dir JFactory::getUri(); liefert. Damit kannst du dann per explode den letzten Abschnitt nutzen.
Joomla! ist auch nur ein Mensch...

J-Worker

  • Bestätigter Nutzer
  • Beiträge: 18
  • Hat keine Ahnung. Davon aber ganz viel...
    • Webentwicklung mit Joomla!
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #8 am: 08. März 2012, 20:42:00 »
Hi,

sind es viele Artikel? Kannst du nicht einfach com_redirect nutzen?

jacxx

  • Bestätigter Nutzer
  • Beiträge: 30
  • Honk
    • naa:doo?
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #9 am: 13. März 2012, 01:24:31 »
Versuch mal "Qlue Custom 404" .. zu finden im Jed!
Veni vidi stupere

Harmageddon

  • Bestätigter Nutzer
  • Beiträge: 23
    • ZweiIconKram
Antw: Joomla-Suche in Modul oder Template einbinden?
« Antwort #10 am: 14. März 2012, 11:23:34 »
Hi,

sind es viele Artikel? Kannst du nicht einfach com_redirect nutzen?
Das Feature kannte ich bisher noch gar nicht. Dankeschön! Funktioniert einwandfrei.

@Jacxx: Soweit ich das in der Demo gesehen habe, funktioniert das ähnlich wie com_redirect, oder?