Joomla: so ändern Sie die Vorlage auf einen bestimmten Artikel
Gibt es eine Möglichkeit, ändern Sie die Vorlage auf einem bestimmten Artikel?
Beachten Sie, dass es funktionieren sollte ohne die Verknüpfung der Artikel zu jedem Menü.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen, dass die Vorlage nicht überschreiben, hängen die Menü-position als die standard-joomla-Möglichkeit der Zuweisung einer anderen Vorlage, um ein Menü wird nicht funktionieren. Sie müssen erhalten Sie Ihre Hände schmutzig, und einen benutzerdefinierten code schreiben. Sie müssen verwenden Sie die 'article_id' per als Auslöser für die Vorlage wechseln.
Ich habe sowas bei der Arbeit, aber nicht jetzt daran erinnern, wie genau dieses Ziel erreicht wird. Ich poste meinen code hier, sobald ich es gefunden.
BEARBEITEN: Finden Sie den code 🙂
Müssen Sie Bearbeiten Sie die Datei /includes/application.php speziell der getTemplate () - Methode. Am Ende dieser Methode, nur vor:
können Sie Ihre Bedingung für die Anwendung einer benutzerdefinierten Vorlage, etwa so:
Gilt dies für die benutzerdefinierte Vorlage, der name wird innerhalb der $custom_template_name Artikel mit der id=13. Sie können es auch verwenden, um eine andere Vorlage anwenden auf Bauteilen, wie ich mit simplecaddy:
Sollten Sie wirklich versuchen zu bleiben Weg von hard-Codierung alles, um Sie die Vorlage, wenn es vermieden werden kann. Nicht sicher, warum Sie würde angeben, dass der Artikel nicht verknüpft werden, aus einem Menü. Der einfachste Weg, dies zu erreichen, ohne zu schreiben, und der code wird ein neues Menü erstellen, dann fügen Sie ein Menü-Element, das links zu dem Artikel, den Sie möchten, geben Sie die Vorlage für. Sie nicht haben, um das Menü in ein Modul überall so, es wird nie zeigen, bis auf der Website, aber es wird zeigen, bis in die Menü-Zuordnung im template-manager.
Können Sie dies mit einzelne Artikel, Kategorien, Sektionen, oder sogar Komponenten. So lange, wie Sie einen Menü-link die Zuordnung der Vorlage zu. Ich erstelle immer ein Admin nur Menü-links, die erforderlich sind, um die Homepage laufen, aber müssen nicht von Benutzern zugegriffen werden.
Als Brent sagte, vermeiden Sie die Versuchung zu ändern, die core-Joomla-code! Dies wird wahrscheinlich verhindern, dass Sie tun, Joomla upgrades 'cos Sie wissen, es geht zu brechen, die die core-änderungen, die Sie vorgenommen haben.
Abgesehen von den "hidden Menü" - Technik (was nützlich ist, aber kann brechen SEF-URLs in einigen Situationen), ein nützliches tool ist Chameleon. Dies ermöglicht Ihnen, wählen Sie bestimmte Artikel/Kategorien/Abschnitte (plus Dinge wie browser-Typ, Benutzer-Gruppe, Komponente, was auch immer) und verwenden Sie diese zum auslösen einer bestimmten Vorlage.
Obwohl dies eine alte post, ich dachte, ich würde meine Gedanken zu teilen: Sie können leicht ändern Sie die Vorlage auf einen einzigen Artikel, durch die Umsetzung der onAfterInitialize() - Funktion in einem system-plugin. Keine Notwendigkeit, ändern Sie die Joomla core.
Dies funktioniert für Joomla 1.5, sollte aber auch arbeiten, die in 2.5:
In joomla 3.x-Versionen, url-Parameter werden unterschiedlich gehandhabt. Im folgenden wurde getestet, in joomla 3.4.8:
Mehr auf das schreiben von plugins für Joomla hier
$app->input->get('option') == "com_content"
passiert nichts, könnten Sie mir helfen?