Rumah >pembangunan bahagian belakang >tutorial php >Membina Plugin Oktobercms: Google Analytics

Membina Plugin Oktobercms: Google Analytics

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-19 09:59:09162semak imbas

Octobercms Plugin Development: Contoh Google Analytics

OktoberCMS adalah sistem pengurusan kandungan yang berkembang pesat (CMS), dan seperti semua platform CMS, fungsinya dipertingkatkan melalui plugin. Artikel ini menyediakan panduan asas untuk membuat plugin OktoberCMS, menggunakan integrasi Google Analytics sebagai contoh praktikal.

Building OctoberCMS Plugins: Google Analytics

Konsep Utama:

    Extensibility OctoberCMS melalui plugin membolehkan integrasi lancar, seperti menambah penjejakan Google Analytics.
  • Antara muka baris arahan memudahkan penciptaan dan pengurusan plugin, menambah antara muka grafik dalam CMS (Sistem & GT; kemas kini).
  • komponen adalah penting untuk interaksi pengguna; Mereka dicipta melalui baris arahan atau secara manual, memerlukan folder komponen yang berdedikasi.
  • Penyesuaian yang luas adalah mungkin, termasuk membuat borang tetapan untuk input pengguna (seperti ID Penjejakan Google Analytics), dan mengambil tetapan ini untuk digunakan dalam komponen.

Gambaran keseluruhan projek:

Kami akan membina plugin yang mengintegrasikan penjejakan Google Analytics menggunakan tag komponen. Selepas mengkonfigurasi ID penjejakan anda dalam tetapan plugin, anda akan memasukkan tag komponen (

) ke dalam halaman atau separa anda untuk membolehkan penjejakan. Kod Lengkap tersedia di GitHub. {% component 'gaCode' %}

Plugin Management:

Plugin OktoberCMS tinggal di folder plugins
    System & gt; Kemas kini:
  • Halaman ini membolehkan projek melampirkan (memerlukan akaun OktoberCMS), menambah plugin pasaran, dan mengemas kini laman web anda.
  • baris perintah:
  • Pasang plugin menggunakan baris arahan (walaupun mencari nama plugin di laman web diperlukan). Format arahan (pada masa penulisan) biasanya melibatkan . Author.PluginName
Penciptaan Plugin:

Membuat plugin diselaraskan:

  • Kaedah Manual: Buat folder baru dalam direktori . Nama folder bertindak sebagai ruang nama unik anda (mendaftarkan ruang nama anda di laman web OktoberCMS untuk mengelakkan konflik). Untuk contoh ini, kami akan menggunakan plugins. Di dalam, buat fail RAFIE.GoogleAnalyticsCode. Plugin.php
  • perancah (baris perintah): Gunakan perintah . Ini secara automatik menjana fail dan folder yang diperlukan, termasuk folder php artisan create:plugin RAFIE.GoogleAnalyticsCode yang mengandungi fail uploads untuk kawalan versi. version.yaml
kaedah

Plugin.php fail (overriding pluginDetails()) mentakrifkan 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>
Jika plugin tidak muncul, klik "Semak kemas kini" untuk menyegarkan senarai.

Menggunakan komponen:

Komponen membolehkan interaksi dengan halaman. Buat mereka secara manual (dalam folder

) atau melalui baris arahan: components

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

Building OctoberCMS Plugins: Google Analytics kaedah

(overriding

) mentakrifkan butiran komponen untuk papan pemuka admin. Daftar komponen dalam componentDetails() 's CmsClassesComponentBase kaedah: Plugin.php registerComponents()

komponen pada mulanya membuat
<code class="language-php">public function registerComponents() {
    return [
        'RAFIE\GoogleAnalyticsCode\Components\GoogleAnalytics' => 'gaCode'
    ];
}</code>
:

default.htm

Gantikan ini dengan kod penjejakan Google Analytics:
<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>

ingat bahawa skrip harus diletakkan pada akhir halaman, bergantung pada tema anda.
<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>

sifat komponen dan tetapan:

Daripada mengodkan id penjejakan, gunakan sifat komponen:

Tentukan sifat menggunakan
<code class="language-twig">{% component 'gaCode' code='UA-12345678-1' %}</code>
:

defineProperties()

Gunakan
<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>
untuk lulus nilai ke halaman:

onRender()

Untuk pendekatan yang lebih mesra pengguna, gunakan tetapan plugin:
<code class="language-php">public function onRender() {
    $this->page['code'] = $this->property('code');
}</code>

Buat Building OctoberCMS Plugins: Google Analytics :

models/GoogleAnalyticsSettings.php Buat

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

models/fields.yaml Daftar Tetapan dalam

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

Plugin.php

<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>
mengambil tetapan dalam

: Building OctoberCMS Plugins: Google Analytics

onRender() Kesimpulan:

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

OktoberCMS menawarkan sistem pembangunan plugin yang mantap dan fleksibel. Contoh ini menunjukkan prinsip teras; Penjelajahan lebih lanjut mengenai kod sumber dan sumber komuniti akan meningkatkan pemahaman anda.

Soalan Lazim (Soalan Lazim): (Soalan Lazim yang disediakan sudah berstruktur dan komprehensif. Tiada perubahan yang diperlukan.)

Atas ialah kandungan terperinci Membina Plugin Oktobercms: Google Analytics. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn