Super, Danke Zorro!
Das war genau das was ich gebraucht habe.
Okay,
In der pathway.php im includesverzeichnis folgenden Block suchen (etwa Zeile 322):
PHP-Code:
if ( $Itemid && $Itemid != 99999999 ) {
echo '<span class="pathway">'. $home .' '. $path .'</span>';
}
und mit diesem Block ersetzen:
PHP-Code:
if ( $Itemid && $Itemid != 99999999 )
{
include('gethomsubitems.php');
if($option == "com_frontpage")
{
$showhome = 1;
}
else
{
$showhome = 0;
foreach($_SESSION['homsubitems'] as $preg)
{
if(preg_match("/$preg/", $path))
{
$showhome = 1;
}
}
}
if($showhome == 1)
{
$home = $img.' '.$home;
echo '<span class="pathway">'. $home .' '. $path .'</span>';
}
if($showhome == 0)
{
echo '<span class="pathway">'. $path .'</span>';
}
}
Dieses Script als gethomsubitems.php im Joomlaroot speichern:
PHP-Code:
<?php
$_SESSION['homsubitems'] = array();
include('configuration.php');
mysql_connect($mosConfig_host, $mosConfig_user, $mosConfig_password );
mysql_select_db($mosConfig_db);
$get = "SELECT name FROM ". $mosConfig_dbprefix."menu WHERE parent = 1";
$got = mysql_query($get);
$cnt = 1;
while($row = mysql_fetch_object($got))
{
$_SESSION['homsubitems'][$cnt++] = $row->name;
}
?>
Ich weis das es ein recht umständlicher Hack ist aber ich kenne mich mit dem Core einfach nicht aus, so dass ich die Submenuitems des Hompage Menüs extra aus der Datenbank lese und in einem Session Array speichere.
Der Befehl include('gethomsubitems.php'); in der veränderten pathway.php kann nach fertigstellung aller Submenuitems in include_once('gethomsubitems.php'); abgeändert werden. Dadurch wird die Datenbank nicht bei jedem Seitenaufruf erneut abgefragt.
Wer das besser und Core integrierte hinbekommt bitte zeigen =)
Grüße, Noel
Lesezeichen