Heim >Backend-Entwicklung >PHP-Tutorial >Erstellen von OctionCMS -Plugins: Google Analytics
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.
Schlüsselkonzepte:
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
Author.PluginName
Plugin -Erstellung:
Erstellen eines Plugins ist optimiert: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. 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>
(ü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:
: 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>
: 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!