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

Erstellen von OctionCMS -Plugins: Google Analytics

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-02-19 09:59:09164Durchsuche

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

<code class="language-php">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'
    ];
}</code>
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

<code class="language-bash">php artisan create:component RAFIE.GoogleAnalyticsCode GoogleAnalytics</code>

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()

<code class="language-php">public function registerComponents() {
    return [
        'RAFIE\GoogleAnalyticsCode\Components\GoogleAnalytics' => 'gaCode'
    ];
}</code>
Die Komponente rendert zunächst

: default.htm

<code class="language-html"><p>></p>This is the default markup for component GoogleAnalytics>
<small>></small>You can delete this file if you want></code>
Ersetzen Sie dies durch den Google Analytics Tracking -Code:

<code class="language-html">(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');</code>
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:

<code class="language-twig">{% component 'gaCode' code='UA-12345678-1' %}</code>
Eigenschaften mit

: defineProperties() definieren

<code class="language-php">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'
        ]
    ];
}</code>
Verwenden Sie

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

<code class="language-php">public function onRender() {
    $this->page['code'] = $this->property('code');
}</code>
Verwenden Sie für einen benutzerfreundlicheren Ansatz Plugin-Einstellungen:

Building OctoberCMS Plugins: Google Analytics

erstellen

: models/GoogleAnalyticsSettings.php

<code class="language-php">class GoogleAnalyticsSettings extends Model {
    public $implement = ['System.Behaviors.SettingsModel'];
    public $settingsCode = 'rafie_google_analytics_code';
    public $settingsFields = 'fields.yaml';
}</code>
erstellen

: models/fields.yaml

<code class="language-yaml">fields:
  code:
    label: Your Google Analytics ID
    placeholder: UA-XXXXXXXX-X</code>
Registereinstellungen in

: Plugin.php registrieren

<code class="language-php">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
        ]
    ];
}</code>

Building OctoberCMS Plugins: Google Analytics

Einstellungen in

: onRender() abrufen

<code class="language-php">public function onRender() {
    $settings = GoogleAnalyticsSettings::instance();
    $this->page['code'] = $settings->code;
}</code>

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!

Stellungnahme:
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