Heim > Backend-Entwicklung > PHP-Tutorial > Erstellen von OctionCMS -Plugins: Google Analytics

Erstellen von OctionCMS -Plugins: Google Analytics

Joseph Gordon-Levitt
Freigeben: 2025-02-19 09:59:09
Original
169 Leute haben es durchsucht

OCTOCECMMS -Pluginentwicklung: Ein Google Analytics -Beispiel

OctoberCMS ist ein schnell wachsendes Content -Management -System (CMS), und wie alle CMS -Plattformen wird seine Funktionalität durch Plugins verbessert. Dieser Artikel enthält einen grundlegenden Leitfaden zum Erstellen eines OctionCMMS -Plugins mit einer Google Analytics -Integration als praktisches Beispiel.

Building OctoberCMS Plugins: Google Analytics

Schlüsselkonzepte:

  • OktoberCMS -Erweiterbarkeit durch Plugins ermöglicht nahtlose Integrationen, z. B. das Hinzufügen von Google Analytics Tracking.
  • Die Befehlszeilenschnittstelle vereinfacht die Erstellung und Verwaltung von Plugin und ergänzt die grafische Schnittstelle innerhalb des CMS (System & GT; Updates).
  • Komponenten sind für die Benutzerinteraktion von entscheidender Bedeutung. Sie werden über die Befehlszeile oder manuell erstellt, wobei ein dedizierter Ordner "Komponenten" erforderlich ist.
  • Eine umfangreiche Anpassung ist möglich, einschließlich des Erstellens von Einstellungsformularen für Benutzereingaben (wie der Google Analytics Tracking -ID) und Abzweigung dieser Einstellungen für die Verwendung in Komponenten.

Projektübersicht:

Wir erstellen ein Plugin, das die Google Analytics -Tracking mit einem Komponenten -Tag integriert. Nach dem Konfigurieren Ihrer Tracking -ID in den Einstellungen des Plugins fügen Sie das Komponenten -Tag ({% component 'gaCode' %}) in Ihre Seiten oder Teils ein, um die Verfolgung zu ermöglichen. Der vollständige Code ist auf Github verfügbar.

Plugin -Management:

Die Plugins von

OctoberCMS befinden sich im Ordner des Root -Verzeichnisses. Das Management wird durch: plugins behandelt

  • System & gt; Updates: Diese Seite ermöglicht das Anbringen von Projekten (für ein Oktobercms -Konto), das Hinzufügen von Marketplace -Plugins und das Aktualisieren Ihrer Website.
  • Befehlszeile: Plugins mithilfe der Befehlszeile installieren (es ist jedoch erforderlich, den Plugin -Namen auf der Website zu finden). Das Befehlsformat (zum Zeitpunkt des Schreibens) umfasst typischerweise . Author.PluginName

Plugin -Erstellung:

Erstellen eines Plugins ist optimiert:

  • Manuelle Methode: Erstellen Sie einen neuen Ordner im Verzeichnis plugins. Der Ordnername fungiert als ein eindeutiger Namespace (registrieren Sie Ihren Namespace auf der OctoberCMS -Website, um Konflikte zu vermeiden). In diesem Beispiel werden wir RAFIE.GoogleAnalyticsCode verwenden. Erstellen Sie eine Plugin.php Datei.
  • scastolding (Befehlszeile): Verwenden Sie den Befehl php artisan create:plugin RAFIE.GoogleAnalyticsCode. Dies generiert automatisch die erforderlichen Dateien und Ordner, einschließlich eines uploads -Fordners, der eine version.yaml -Datei für die Versionskontrolle enthält.

Die Methode Plugin.php Datei (überschreiben pluginDetails()) definiert das Plugin: SystemClassesPluginBase

public function pluginDetails() {
    return [
        'name'        => 'Google Analytics Code',
        'description' => 'Insert Google Analytics tracking code into your pages',
        'author'      => 'RAFIE Younes',
        'icon'        => 'icon-bar-chart-o'
    ];
}
Nach dem Login kopieren
Wenn das Plugin nicht angezeigt wird, klicken Sie auf "Nach Updates überprüfen", um die Liste zu aktualisieren.

Verwenden von Komponenten:

Komponenten ermöglichen die Interaktion mit der Seite. Erstellen Sie sie manuell (innerhalb eines

-Fordners) oder über die Befehlszeile: components

php artisan create:component RAFIE.GoogleAnalyticsCode GoogleAnalytics
Nach dem Login kopieren

Building OctoberCMS Plugins: Google Analytics

Die Methode

(überschreiben componentDetails()) definiert die Details der Komponente für das Admin -Dashboard. Registrieren Sie die Komponente in der CmsClassesComponentBase -Methode Plugin.php: registerComponents()

public function registerComponents() {
    return [
        'RAFIE\GoogleAnalyticsCode\Components\GoogleAnalytics' => 'gaCode'
    ];
}
Nach dem Login kopieren
Die Komponente rendert zunächst

: default.htm

<p>></p>This is the default markup for component GoogleAnalytics>
<small>></small>You can delete this file if you want>
Nach dem Login kopieren
Ersetzen Sie dies durch den Google Analytics Tracking -Code:

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', '{{ code }}', 'auto');
ga('send', 'pageview');
Nach dem Login kopieren
Denken Sie daran, dass das Skript je nach Thema idealerweise am Ende der Seite platziert werden sollte.

Komponenteneigenschaften und -einstellungen:

Verwenden Sie anstatt die Tracking -ID festzuhalten, und verwenden Sie die Komponenteneigenschaften:

{% component 'gaCode' code='UA-12345678-1' %}
Nach dem Login kopieren
Eigenschaften mit

: defineProperties() definieren

public function defineProperties() {
    return [
        'code' => [
            'title'             => 'Google Analytics tracking code',
            'description'       => 'Your Google Analytics tracking code',
            'default'           => '',
            'type'              => 'string',
            'validationPattern' => '^UA-\d{4,9}-\d{1,4}$',
            'validationMessage' => 'Invalid tracking code',
            'placeholder'       => 'UA-XXXXXXX'
        ]
    ];
}
Nach dem Login kopieren
Verwenden Sie

, um Werte an die Seite zu übergeben: onRender()

public function onRender() {
    $this->page['code'] = $this->property('code');
}
Nach dem Login kopieren
Verwenden Sie für einen benutzerfreundlicheren Ansatz Plugin-Einstellungen:

Building OctoberCMS Plugins: Google Analytics

erstellen

: models/GoogleAnalyticsSettings.php

class GoogleAnalyticsSettings extends Model {
    public $implement = ['System.Behaviors.SettingsModel'];
    public $settingsCode = 'rafie_google_analytics_code';
    public $settingsFields = 'fields.yaml';
}
Nach dem Login kopieren
erstellen

: models/fields.yaml

fields:
  code:
    label: Your Google Analytics ID
    placeholder: UA-XXXXXXXX-X
Nach dem Login kopieren
Registereinstellungen in

: Plugin.php registrieren

public function registerSettings() {
    return [
        'settings' => [
            'label'       => 'Google Analytics Code',
            'description' => 'Manage Google Analytics Settings',
            'icon'        => 'icon-bar-chart-o',
            'class'       => 'RAFIE\GoogleAnalyticsCode\Models\GoogleAnalyticsSettings',
            'order'       => 1
        ]
    ];
}
Nach dem Login kopieren

Building OctoberCMS Plugins: Google Analytics

Einstellungen in

: onRender() abrufen

public function onRender() {
    $settings = GoogleAnalyticsSettings::instance();
    $this->page['code'] = $settings->code;
}
Nach dem Login kopieren

Schlussfolgerung:

OctoberCMS bietet ein robustes und flexibles Plugin -Entwicklungssystem. Dieses Beispiel zeigt die Kernprinzipien; Eine weitere Untersuchung des Quellcode und der Community -Ressourcen verbessert Ihr Verständnis.

häufig gestellte Fragen (FAQs): (Die bereitgestellten FAQs sind bereits gut strukturiert und umfassend. Keine Änderungen erforderlich.)

Das obige ist der detaillierte Inhalt vonErstellen von OctionCMS -Plugins: Google Analytics. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage