it-swarm.com.de

Kann ich eine Modulposition in einer eigenen Komponente deaktivieren?

Ich programmiere eine Komponente mit zwei Ansichten, sagen wir:

Ansicht1: Kategorie

Ansicht2: Artikel

Im Menü-Manager habe ich die Kategorie als Einstiegspunkt für meine Komponente festgelegt.

Die Vorlage hat eine Seitenleiste neben dem Inhalt, in der ich einige Module anzeige. Für die Kategorieansicht ist das in Ordnung; Ich möchte die Module in der Sidebar sehen, aber in der Artikelansicht möchte ich die Sidebar komplett deaktivieren, da diese Ansicht mehr Platz benötigt.

Da die Artikelansicht keinen Menüpunkt enthält, kann ich die Module im Menü-Manager nicht einfach deaktivieren, oder?

Also, mein Vorschlag wäre, die Render-Position-Funktionen von meiner Komponente aus zu deaktivieren (oder die Modulliste einer bestimmten Position zu leeren?)

Jede Hilfe wird sehr geschätzt :-)

Yosh

1
Yosha

Ändern Sie Ihre Hauptvorlagendatei (/templates/YOURTEMPLATE/index.php) und deaktiviere die Seitenleiste folgendermaßen:

$input = JFactory::getApplication()->input;
$component = $input->get('option');
$view = $input->get('view');

$disable_sidebar = ($component==='com_mycomponent' AND $view==='mycomponentarticleview');

Verwenden $disable_sidebar in Ihrer HTML-Vorlage, um zu entscheiden, ob die Seitenleiste sichtbar sein soll.

0
Artur Stępień