Okay, ich habe mir das mal angeschaut. Die router.php verstehe ich, allerdings scheint es beim Aufruf meiner Komponente ein Problem zu geben, wenn SEF URLs eingeschaltet sind.
Die generierte URL im Menü sieht so aus, wenn SEF URLs aus sind:
localhost/astralis/index.php?option=com_evcal&view=evcal&Itemid=86&la ng=de
Und so, wenn sie an sind:
localhost/astralis/index.php/de?Itemid=86&option=
Und daran scheitert es.
Denn: Nach Sourcecodeanalyse ruft Joomla! die selbstgeschriebene router.php nur auf, wenn folgende Bedingung erfüllt ist:
PHP-Code:
function _parseSefRoute(&$uri)
{
$vars = array();
$menu =& JSite::getMenu(true);
$route = $uri->getPath();
//Get the variables from the uri
$vars = $uri->getQuery(true);
//Handle an empty URL (special case)
if(empty($route))
{
//If route is empty AND option is set in the query, assume it's non-sef url, and parse apropriately
if(isset($vars['option']) || isset($vars['Itemid'])) {
return $this->_parseRawRoute($uri);
}
Aus includes/router.php
Die $route ist aber leer, und daher verzweigt er.
Frage ist also, warum $uri->getPath() nichts zurückliefert, denn dadurch kommt der Joomla-Router garnicht erst soweit, den custom-Router aufzurufen, sondern geht in den If-Zweig und damit in _parseRawRoute().
Kann es sein dass ich beim Erstellen der Komponente einen Fehler gemacht habe?
Ist mein erstes Joomla-Projekt, daher will ich das absolut nicht ausschließen 
Thanks for help!
Lesezeichen