it-swarm.com.de

Gab es eine bessere Lösung, um Module nur auf der Artikellistenseite (aber nicht auf der Artikelseite) anzuzeigen?

Ein typisches Szenario, auf das meiner Meinung nach alle Joomla-Benutzer gestoßen sind, ist: Sie haben ein Modul auf der Seite mit der Artikelliste (z. B. Kategorie-Blog), möchten jedoch nicht, dass dieses Modul auch auf der Seite mit dem Artikelinhalt angezeigt wird. = Da die Artikelseite jedoch die Item-ID der Blog-Seite erbt, wird das Modul auch auf dieser Seite angezeigt. Laut Joomlas Dokumentation können Sie für jeden Artikel ausgeblendete Menüelemente erstellen, um dies zu vermeiden. Dieser Ansatz gefällt mir jedoch aus zwei Gründen nicht:

1) Es ist eine schmerzhafte Arbeit, wenn ich hunderte von Artikeln habe; 2) Der Breadcrumb wäre homepage>article anstatt homepage>category>article

Ich denke, dass dies Joomla-Benutzer seit 1.5 abgehört hat, jetzt, da Joomla 3.8.2 herauskommt, gab es einen besseren Ansatz, um dieses Problem zu lösen? Ich kenne "Module anywhere", aber muss ich mich trotzdem auf die Erweiterung eines Drittanbieters verlassen, um dieses einfache Problem zu lösen? Wenn ja, kein Wunder Wordpress ist vorherrschender.

1
shenkwen

Sie können dies mit Regular Labs Advanced Module Manager tun.

Installieren und aktivieren Sie es und wählen Sie Folgendes für die Moduleinstellungen aus:

Für Aufgaben verwenden Sie Joomla! Inhalt, einschließlich Seitentyp, Auswahlkategorie Blog.

Dadurch erhalten Sie das Modul nur auf der Kategorie-Blog-Seite, nicht jedoch auf den einzelnen Seiten mit der Artikelansicht.

Erfolg!

2
Paul Kleingeld

Joomla 3.8.2 fügt Ihrem Problem keine Lösung hinzu.

Eine Lösung, die Sie nicht erwähnt haben, ist die Verwendung von CSS, um unerwünschte Module auf Artikellayoutseiten auszublenden.

Vorteile: Es ist einfach zu implementieren und abhängig davon, wie Ihre Vorlage die Klassenvariablen festlegt, in hohem Maße konfigurierbar.

Nachteile: Die versteckten Module müssen noch von Joomla erstellt/gerendert und zum DOM hinzugefügt werden, obwohl sie nicht gesehen/verwendet werden. Yuck.


Gestatten Sie mir, hier eine respektvolle Stellungnahme zu Ihrer Joomla-Kritik abzugeben:

Es mag ein Kinderspiel sein, den Kern für Sie zu erweitern, aber ich hatte noch nie einen Bedarf an solchen Funktionen und benutze Joomla seit 1,5 Tagen. Ich weiß also nicht, ob dieses Feature wirklich so groß ist, wie Sie vielleicht vermuten.

Was ist bis zu diesem Punkt falsch an der Installation der Erweiterungslösung von Drittanbietern? Für Installationen von Joomla und Wordpress gibt es mehrere Erweiterungen von Drittanbietern, die ich auf fast jeder Instanz beider CMS-Systeme installiere. Ich würde nicht sagen Wordpress Diesbezüglich ist es nicht besser. Es scheint die übliche Vorgehensweise für beide CMS zu sein (und ich gehe davon aus, dass Drupal ist der gleiche Weg).

1
Drew G

Dies kann auf Vorlagenebene behoben werden (dies ist die sauberste Methode hierfür), wie in hier beschrieben.

Im Wesentlichen müssen Sie die index.php - Datei Ihrer Vorlage so ändern, dass sie eine Bedingung enthält, mit der überprüft wird, ob es sich bei der aktuellen Ansicht nicht um eine Artikelansicht handelt. Fügen Sie in diesem Fall das Modul-Tag hinzu. Hier ist eine Beispielbedingung (Hinweis: Die Bedingung in dem Blog-Beitrag, auf den verlinkt wird, ist unterschiedlich, aber beide sollten funktionieren):

$option = JFactory::getApplication()->input->getCmd('option');
$view   = JFactory::getApplication()->input->getCmd('view');
if ($option == 'com_content' && $view == 'category'){
    //add the module tag
}

Diese Methode ist die stabilste Methode.

1
itoctopus