Zur Hauptnavigation springen Zum Inhalt springen Zur Fußnavigation springen

Hinzufügen neuer PHP-Funktionen

Das Hinzufügen eigener PHP-Funktionen zu einem Gantry-Thema ist möglich und kann dank DI (Dependency Injection) ein sehr einfacher Prozess sein. Dieser Leitfaden führt Sie durch die notwendigen Schritte, um Ihrer Website eigene PHP-Funktionen hinzuzufügen.

In diesem Beispiel werden wir Mobile Detect hinzufügen, eine Open-Source-PHP-Klasse, die mobile Geräte (einschließlich Tablets) erkennt, so dass Sie gerätespezifische Antworten auf Ihrer Website erstellen können.

Wenn Sie Ihre eigenen Themen von Grund auf neu entwickeln, ist dies eine großartige Methode, um diese Aufgabe zu erfüllen. Es ist nicht zu erwarten, dass dieser Prozess langfristig zur Standardlösung für Nutzer bestehender Themen wird. Das Überschreiben der theme.php auf ein bestehendes Design kann zu Problemen beim Upgrade führen. Ein saubereres, intuitiveres Verfahren zur Erweiterung der PHP-Funktionalität ist in Arbeit und dieses Dokument wird aktualisiert, sobald es verfügbar ist.

Überschreiben der Datei theme.php

Die Datei includes/theme.php definiert das Thema. Es kann auch verwendet werden, um zusätzliche PHP-Funktionen hinzuzufügen.

Im Moment ist es nicht möglich, die theme.php zu überschreiben. Wenn die Funktionalität verfügbar wird, können Sie eine Übersteuerung dieser Datei im Verzeichnis custom/includes/ erstellen, um Ihre Änderungen vorzunehmen und diese beibehalten zu lassen, falls das Design aktualisiert wird.

Da dies noch nicht möglich ist, müssen Sie die Datei theme.php, die sich unter includes/am Anfang des Themas befindet, direkt bearbeiten. Es wird empfohlen, dass Sie eine Kopie der Datei erstellen, falls Sie in den ursprünglichen Zustand zurückkehren müssen.

Vorbereitung auf die Nutzung von Mobile Detect

Um die Mobile Detect php-Funktion hinzuzufügen, müssen wir zunächst die Bibliothek herunterladen. Sie können die neueste stabile Version von Mobile_Detect.php von GitHub herunterladen und unter dem Custom/includes/ Ordner ablegen.

Ihr Themenordner sollte nun so aussehen:

Beispiel Bild

Jetzt sind Sie bereit, Mobile_Detect in Gantry einzubinden, indem Sie die Datei theme.php bearbeiten und die folgenden einfachen Codezeilen am Ende der Datei hinzufügen:

Beispiel Bild

Dadurch wird die Mobile Detect-Bibliothek den Zweigdateien über den Aufruf gantry.mobile_detect zur Verfügung gestellt. Jede Methode, die Mobile Detect bietet, steht Ihnen nun zur Verfügung.

Die Verwendung der Klasse

Sobald Sie die Klasse injiziert haben, können Sie sie aus einer beliebigen Twig-Datei des Themas referenzieren. Dazu gehören Kern-Twig-Dateien für das Thema, einzelne Partikel, etc.

Hier ist ein Beispiel für einen Anruf, der die Verwendung von Mobile Detect ermöglicht.

Beispiel Bild

Beispiel aus der Praxis

Lassen Sie uns ein einfaches neues Mobile Detect Partikel erstellen und alles, was wir gelernt haben, zusammenstellen.

Der erste Schritt besteht darin, die erforderlichen YAML- und Twig-Dateien für dieses neue Partikel zu erstellen. Sie können dies tun, indem Sie einen neuen Ordner custom/particles erstellen (wenn nicht bereits vorhanden) und zwei neue Dateien hinzufügen: mobile_detect.html.twig und mobile_detect.yaml.

Beispiel Bild

Um des Beispiels willen wird das Partikel ein extrem einfaches sein, und das ist der Inhalt, den wir für seine Dateien verwenden werden:

mobile_detect.html.twig

Beispiel Bild

mobile_detect.yaml

Beispiel Bild

Zu diesem Zeitpunkt wird das Partikel Mobile Detect im Gantry 5-Administrator angezeigt. Sie können das Partikel nun per Drag & Drop an eine beliebige Stelle im Layout-Manager ziehen und nach dem Speichern sehen Sie, dass Mobile Detect verwendet wird.

Aktualisieren Sie das Frontend, und Sie werden so etwas sehen:

Beispiel Bild