Ich habe eine Bestellkomponente erfolgreich erstellt.

Sie besteht im Frontend eigentlich nur aus 3 views.
  1. Bestellbare Publikationen anzeigen
  2. Bestellung anzeigen und Rechnungsadresse eingeben (sofern Bestellung vorhanden, ansonsten rücksprung auf "Bestellbare Publikationen"
  3. Danke Seite (sofern Bestellung, Adresse und Captcha alle i.O. sind... sonst entsprechender Rücksprung)

Alles funktioniert, nur dass der Menüpunkt, wo diese Komponente zugewiesen ist, ab der 2. View nicht mehr aktiv ist (der Menüpunkt bleibt immer gleich... also nichts mit categories und articles etc.).

Dies sollte ich ja über die Route-Funktion abfangen... aber hier happerts bei meinem Verständnis.

Der Menupunkt heisst "Publikationen" und wird im Menü über "index.php?option=com_aebpublikationen&view=aebpub likationen" zugewiesen.

Wird auf dieser Menüpunkt im Frontend aufgerufen
Code:
/index.php/publikationen.html
, ist dieser natürlich (noch) aktiv.
Aber bereits meine JRoute Funktion für das hier dargestellte Form, generiert folgendes:

Code:
<form method="post" name="aebpublikation" id="aebpublikation" action="/index.php/publikationen/aebpublikationen.html">
welcher in der 1. View folgendermassen generiert wird:

Code:
<form method="post" name="aebpublikation" id="aebpublikation" action="<?php echo JRoute::_('index.php?option=' . $this->option . '&view=aebpublikationen'); ?>">
Die route.php meiner Komponente lautet

Code:
<?php

function AebpublikationenBuildRoute( &$query )
{
	$segments = array();

	if( isset($query['view']) )
	{
		$segments[] = $query['view'];
		unset( $query['view'] );
	}
	return $segments;
}

function AebpublikationenParseRoute( $segments )
{
	$vars = array();
	
	//Count segments
	$count = count( $segments );
	//Handle View and Identifier
	switch( $segments[0] )
	{
		case 'aebpublikationen':
			$vars['view'] = 'aebpublikationen';
			$vars['task'] = 'adr';
			break;
		case 'address':
			$vars['view'] = 'address';
			$vars['task'] = 'send';
			break;
	}
	
	return $vars;
}
Nachdem also die 1. View übertragen wird, ist der Menüpunkt "Publikationen" nicht mehr aktiv... möchte ich aber...

Wie setze ich wieder den aktiven Menüpunkt auf "Publikationen"?

In der Funktion AebpublikationenParseRoute generiere ich zusätzlich die task-variabel, welche im controller.php die jeweiligen aktionen auswertet, bzw. bei fehlenden Required Felder, die view zurücksetzt. Hatte diese jeweils zuvor als hidden-field im jeweiligen formular. War mir nicht sicher, ob ich die in JRoute zwingend übergeben müsste... spielt aber eigentlich keine Rolle.

Auch habe ich in anderen Komponenten in ParseRoute folgende Anweisungen gesehen:
Code:
	$menu =& JSite::getMenu();
	$item =& $menu->getActive();
Wobei ich hierbei nicht ganz schlau wurde. Ein Dump auf $item zeigt mir ja den aktiven menüpunkt... wie setze ich den jetzt wieder...

Kann mir einer behilflich sein und mir ansatzweise erklären wo ich bei diesem Problem beginnen muss?

Danke

p.s. während ich diese zeilen schrieb, ist mir grundsätzlich die frage durch den kopf, ob ich eine "view" hätte wählen sollen und innerhalb desselben tmpl-verzeichnis die verschieden views speichern... jetzt ist jede view in einem eigenen "view"-verzeichnis... anyway... machbar sollte dies so ja trotzdem sein...

p.s.s. habe mehrtägig RTFM gemacht... und jetzt am verzw.... bzw. es muss so trivial sein, dass ich es einfach übersehe...