Dziękuję za pomoc! Zadziałało. Jednak pojawiły się kolejne schodki, mam nadzieję, że ostatnie.
Pierwszy problem to komunikat:
Kod:
Unknown column 'p.parent' in 'field list' SQL=SELECT m.*, count(p.parent) as cnt FROM q2szg_menu AS m LEFT JOIN q2szg_menu AS p ON p.parent = m.id WHERE m.menutype='topmenu' AND m.published='1' GROUP BY m.id ORDER BY m.parent, m.ordering
Nie bardzo rozumiem o co chodzi z "nieznanymi kolumnami"? "q2szg_" to przedrostek tabel ustalony przed instalacją Joomli 1.7, tylko pytanie co wymaga modyfikacji? W innym temacie dopatrzyłem się podpowiedzi związaną z naprawą tabel w SQL - zrobiłem to w PHP My Admin i nic to nie dało. Poniżej kod z menu.php chyba z tym związany (linie od 59 do 88):
Kod:
if ($mosConfig_shownoauth) {
$database = &JFactory::getDBO();
$database->setQuery( "SELECT m.*, count(p.parent) as cnt" .
"\nFROM #__menu AS m" .
"\nLEFT JOIN #__menu AS p ON p.parent = m.id" .
"\nWHERE m.menutype='$menutype' AND m.published='1'" .
"\nGROUP BY m.id ORDER BY m.parent, m.ordering ");
} else {
$database = &JFactory::getDBO();
$database->setQuery( "SELECT m.*, sum(case when p.published=1 then 1 else 0 end) as cnt" .
"\nFROM #__menu AS m" .
"\nLEFT JOIN #__menu AS p ON p.parent = m.id" .
"\nWHERE m.menutype='$menutype' AND m.published='1' AND m.access <= '$my->gid'" .
"\nGROUP BY m.id ORDER BY m.parent, m.ordering ");
}
$rows = $database->loadObjectList( 'id' );
echo $database->getErrorMsg();
//work out if this should be highlighted
$sql = &JFactory::getDBO();
$sql->setQuery( 'SELECT m.* FROM #__menu AS m WHERE menutype='.$menutype.' AND m.published=1'); // nie wiadomo po co to
$query = 'SELECT m.* FROM #__menu AS m WHERE menutype=\'.$menutype.\' AND m.published=1';
$database->setQuery( $query );
$subrows = $database->loadObjectList( 'id' );
$maxrecurse = 5;
$parentid = $Itemid;
Drugi kłopot to błąd w linii 113 (Invalid argument supplied for foreach() in ). Poniżej kod od linii 102 do 120 (113 pogrubiona na czerwono):
Kod:
// I think nav-wrapper is obsolete and can be removed. See comment in suckerfiss.css
echo "<div id=\"cssMenu1\" class=\"horizontal\">";
$indents = array(
// block prefix / item prefix / item suffix / block suffix
array( "<ul class=\"menu\">", "<li>" , "</li>", "</ul>" ),
);
// establish the hierarchy of the menu
$children = array();
// first pass - collect children
foreach ($rows as $v ) {
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
}
// second pass - collect 'open' menus
$open = array( $Itemid );
$count = 20; // maximum levels - to prevent runaway loop
$id = $Itemid;
while (--$count) {
if (isset($rows[$id]) && $rows[$id]->parent > 0) {
$id = $rows[$id]->parent;
$open[] = $id;
} else {
break;
}
}
$class_sfx = null;
mosRecurseListMenu( 0, 0, $children, $open, $indents, $class_sfx, $hilightid );