Hallo,
ich bin dabei mir eine kleine Komponente zu erstellen. Nun habe ich folgendes Problem. In der XML-Datei für die Installation ist folgende Menüstruktur gegeben:
Daraus erstell sich im Backend auch folgende Menüleiste:Code:<menu>My Komponent</menu> <submenu> <menu>Kontrollzentrum</menu> <menu>Konfiguration</menu> <menu>Information</menu> </submenu>
Eine entsprechende Seite wird auch angezeigt, jedoch wenn ich auf Information klicke, erhalte ich immer die "Default"-Seite...
Die Datei die letztendlich angezeigt wird ist "views/MyKomponent/tmpl/default.php"
Nun liegen unter dem tmpl-Verzeichnis weitere Dateien wie info.php.
Wenn ich nun auf Information klicke, soll die info.php angezeigt werden...
Dies ist aber leider noch nicht der Fall.
Wo und wie ermögliche ich es, dass ich die verschiedenen Dateien/Templates dort ablege und diese aufgerufen werden, sobald ich auf den Menüeintrag klicke...
Der Controller ist wie folgt erstellt worden:
Diese Datei befindet sich direkt im admin-Ordner und nennt sich admin.MyKomponent.php. Weiterhin existiert im Admin-Ordner eine Datei mit dem Namen controller.php. Diese ist wie folgt aufgebaut:PHP-Code:defined('_JEXEC') or die('Restricted acces');
require_once (JPATH_COMPONENT.DS.'controller.php');
$classname = 'MyKomponent';
$controller = new $classname();
$controller->execute(JRequest::getVar('task'));
$controller->redirect();
Wer kann mir zu meinem Problem weiterhelfen?PHP-Code:defined('_JEXEC') or die('Restricted acces');
jimport('joomla.application.component.controller');
class MyKomponent extends JController{
function display(){
parent::display();
}
}
Mit freundlichen Grüßen
M3Y3R
Edit:
Das Problem wurde wie folgt in der default.php gelöst:
Gibt es nicht noch einen anderen weg, der die Dateien direkt aufruft, ohne das man eine Switch-Case Anweisungerstellen muss?PHP-Code:$task = JArrayHelper::getValue($_REQUEST, 'task', '' );
switch($task){
default:
case 'control':
require_once('control.php');
break;
case 'config':
require_once('config.php');
break;
case 'info':
require_once('info.php');
break;
}


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen