Hi Kati,
ich habe mir deine Datei mal angeschaut, was mir auffällt:
Diese Datei ist aus dem Jahre 2005
Code:
/**
* @version $Id: content.php,v 1.26 2005/02/16 17:14:40 kochp Exp $
* @package Mambo
* @subpackage Content
* @copyright (C) 2000 - 2005 Miro International Pty Ltd
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* Mambo is Free Software
*/
Ansonsten sieht die showSection Funktion in Ordnung aus.
Ich habe bei mir mal den Code angeschaut ( Joomla 1.0.11 ) und das Problem ist wahrscheinlich, das keine Itemid übergeben wird.
In diesem Abschnitt wird geprüft ob eine Itemid übergeben wird, wenn ja wird $params zu einer mosParameters Instanz, wenn nicht zu einer mosEmpty.
Code:
// Paramters
$params = new stdClass();
if ( $Itemid ) {
$menu = new mosMenu( $database );
$menu->load( $Itemid );
$params =& new mosParameters( $menu->params );
} else {
$menu = "";
$params =& new mosEmpty();
}
$orderby = $params->get( 'orderby', '' );
$params->set( 'type', 'section' );
Ich habe bei mir mal die Klasse mosEmpty gesucht und folgende Implementierung gefunden:
Code:
class mosEmpty {
function def( $key, $value='' ) {
return 1;
}
function get( $key, $default='' ) {
return 1;
}
}
So hier fehlt eindeutig die set Mehtode. Wenn jetzt in der content.php keine Itemid hat, wird eine mosEmpty Instanz erzeugt und versucht die set Mehtode aufzurufen, was natürlich schief geht und zu deiner Fehlermeldung passt.
Lange Rede kurzer Sinn, prüfe mal ob die Itemid. Dies kannst du wie folgt machen:
Code:
echo "<br>DEBUG: check Itemid<br>";
if ( $Itemid ) {
$menu = new mosMenu( $database );
$menu->load( $Itemid );
$params =& new mosParameters( $menu->params );
echo "--> found = $Itemid<br>";
} else {
$menu = "";
$params =& new mosEmpty();
echo "--> not found<br>";
}
Hast du mal einen Link zu deiner Seite wo ich selbst schauen kann?
Suche doch bitte mal die Klasse mosEmpty in deinem Quellcode.
gruss axel
Lesezeichen