Wie erstelle ich eine Seite nur mit Modulen und ohne Komponente?


10

In Joomla muss ich jede Seite mit einer Komponentenansicht verknüpfen. Wie kann ich eine Seite ohne Komponentenausgabe erstellen ?

Beispiel: Auf meiner Homepage möchte ich nur eine Modulausgabe. Zu diesem Zweck kann ich die Startseite mit einem "leeren Artikel" verknüpfen. Gibt es jedoch eine bessere Möglichkeit, dies zu tun, ohne eine Erweiterung eines Drittanbieters zu verwenden?


2
Verwenden Sie eine benutzerdefinierte Vorlage oder eine kommerzielle Vorlage? Ich frage, weil viele von ihnen die Möglichkeit haben, den Komponentenbereich vollständig abzuschalten.
Brian Peat

@BrianPeat Ich verwende eine benutzerdefinierte Vorlage
Web-Tiki

Ah, okay. Nun, hier gibt es einige gute Antworten, die dann funktionieren sollten :)
Brian Peat

Antworten:


15

Es gibt keinen besseren Weg als diesen.

Die einzige andere Möglichkeit besteht darin, zu überprüfen, ob Sie sich in Ihrer Vorlagendatei auf der Startseite befinden. Um zu überprüfen, ob Sie sich auf der Homepage befinden, können Sie die in den Dokumenten hier beschriebene Methode verwenden:

http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

und mache so etwas wie:

<?php
$menu = JFactory::getApplication()->getMenu();

if ($menu->getActive() != $menu->getDefault()) { ?>
        <jdoc:include type="component" />
<?php } ?>

Auf diese Weise fügen Sie Ihre Komponente niemals auf der Startseite ein


1
Ein Hinweis zu dieser Methode: Wenn Sie einen Link von der Homepage haben, der nicht zu einer anderen Seite führt, kann dieser beim Laden unter dem Menüpunkt Homepage fehlerhaft erscheinen! Achten Sie auf einen Link, der ähnlich ist, example.com/component/com_name/viewda er unter dem Standardmenüelement geladen wird und die Ausgabe der Komponente nicht angezeigt wird.
David Fritsch

Vielleicht möchten Sie noch ein paar Überprüfungen hinzufügen, um sicherzustellen, dass die aktuelle Komponente und view ( JFactory::getApplication()->input->get('view')) auch nicht mit der view ( $menu->getActive()->view) des Menüs übereinstimmen
David Fritsch

@DavidFritsch: Ich denke, das $ menu-> getActive () -> view sollte $ menu-> getActive () -> query ['view'] sein;
FFrewin


4

Sie können mehrere Vorlagenlayouts in Ihrer Indexdatei haben.

<!--Layout 1-->
<?php if ($BConfig->html=='layoutA') : ?>

<jdoc:include type="component" />

<?php endif; ?>  <!--End Layout 1-->

<!--Dynamically Generated Layout 2-->
<?php if ($BConfig->html=='layoutB') : ?>

<jdoc:include type="modules" name="your-module"/>

<?php endif; ?> <!--End Layout 2-->

Stellen Sie dann sicher, dass Ihre templateDetails-Datei Option B enthält. Dann in Ihrem Joomla! Vorlagen können Sie mithilfe des Layouts eine zusätzliche Vorlage einrichten. b. Gehen Sie zu Ihrem Home-Menüpunkt und wählen Sie diese Vorlage aus. Die Komponente wird nicht geladen, Ihr Modul jedoch.


2

Dumme, sehr ähnliche, aber ziemlich einfache Lösung:

  1. Erstellen Sie eine Artikelkategorie
  2. Lass es ohne Inhalt (Artikel)
  3. Erstellen Sie einen Menülink dazu
  4. Ordnen Sie Ihre Module diesem Menülink zu

Möglicherweise müssen Sie einige Details deaktivieren, um diese Kategorie in den Kategorie- und / oder Menüelementparametern auszublenden.


1
Dies entspricht im Wesentlichen der Verwendung eines leeren Artikels.
Web-Tiki

1

Sie können eine leere Komponente erstellen. In der com_menus-Komponente können Sie also entscheiden, dass die Seite keine Ausgabe haben darf, wenn Sie nur diese leere Komponente auswählen. In dieser Komponente müssen Sie eine Ansicht und eine leere Vorlage default.php mit der Datei default.xml erstellen, damit diese Option angezeigt wird, wenn Sie die Komponente in der Komponente com_menus auswählen.


1

RocketThemes haben eine praktische Funktion zum Ausblenden von Artikeln mit com_content-Funktionen.

Ich veröffentliche eine leere Kategorie, um die Ausgabe zu minimieren, und verstecke sie mit etwas CSS-Stil.


1

Kopieren Sie die Vorlage, entfernen Sie die JDOC-Komponente und weisen Sie diesen Stil jedem Menüelement zu, für das die Komponente nicht erforderlich ist.


0

In Joomla! 3.x Sie können Folgendes tun:

  • Erstellen Sie zuerst Ihre Module,
  • Erstellen Sie eine neue Kategorie in einem neuen Artikel für die Hauptseite.
  • Überprüfen Sie, ob Sie den Plugin- Inhalt - Lademodule aktiviert haben

Standardmäßig ist Joomla! Enthält eine Bibliothek namens Bootstrap v2.3.2 , sodass Sie das CSS in dieser Bibliothek verwenden können, z. B. das Grid-System : http://getbootstrap.com/2.3.2/scaffolding.html#gridSystem

  • Von hier aus sehen Sie in Ihrem Artikel eine Schaltfläche namens Modul . Erstellen Sie einfach ein einfaches oder sehr komplexes Raster und weisen Sie Ihre Module jedem Block zu.

Ein Vorteil, den Sie auf diese Weise erzielen können, besteht darin, dass Sie eine Vorlage mit weniger Positionen und weniger PHP-, JS- und CSS-Code leichter erhalten. Wenn Sie also nicht viele Funktionen benötigen, können Sie sie selbst erstellen .

Grüße.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.