Mini-Tutorial: ItemId-Problem bei Joomla!-Suche
Kategorie: Tutorials | Geschrieben von Gerald Martin am Mittwoch, 30. September 2009 | 2275x gelesen

Es wurde schon an verschiedenen Stellen diskutiert: Nach wie vor liefert das Modul "mod_search" beim Absenden der Suchphrase immer die ItemId des Standardmenüpunkts. Wenn aber gleichzeitig ein Menülink auf "com_search" angelegt ist, soll in den meisten Fällen diese ItemId verwendet werden.

Lösung: Template Override!

1. Beide Dateien aus /modules/mod_search/tmpl/ nach  /templates/$templatename/html/mod_search/ kopieren.
2. Nach

<?php // no direct access
defined('_JEXEC') or die('Restricted access');

    folgenden Code einfügen:

/** get Itemid of com_search if exists */
$db = & JFactory::getDBO();
$query = "SELECT id FROM `#__menu` WHERE type='component'
AND link LIKE 'index.php?option=com_search&view=search'";
$db->setQuery($query);
$items = ($items = $db->loadObjectList()) ? $items:array();
$Itemid = $items[0]->id;

3. Nach

<input type="hidden" name="task"   value="search" />

    noch ein verstecktes Datenfeld einfügen:

<input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />

Aus der Datenbank wird der erste Menüpunkt ausgelesen, der als Such-Komponente (com_search) angelegt ist. Dessen ItemId wird dann übernommen.


  Artikel kommentieren

Kommentar schreiben
Name:
e-mail
Homepage
Titel:
Kommentar:

Sicherheitscode:* Code

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved