首頁 > 後端開發 > php教程 > 構建OctectCMS插件:Google Analytics(分析)

構建OctectCMS插件:Google Analytics(分析)

Joseph Gordon-Levitt
發布: 2025-02-19 09:59:09
原創
161 人瀏覽過

> coctcms插件開發:Google Analytics(分析)示例

>

Building OctoberCMS Plugins: Google Analytics

密鑰概念:

通過插件的>命令行界面簡化了插件的創建和管理,補充了CMS中的圖形接口(System≫ Updates)。
  • 組件對於用戶交互至關重要;它們是通過命令行或手動創建的,需要專用的“組件”文件夾。 可以進行廣泛的自定義,包括為用戶輸入創建設置表單(例如Google Analytics(分析跟踪ID)),並檢索這些設置以在組件中使用。
  • >
  • 項目概述:
  • >我們將構建一個使用組件標籤集成Google Analytics(分析)跟踪的插件。 在插件設置中配置跟踪ID後,您將插入組件標籤(

    插件管理:> 文件夾中。 管理通過:

    {% component 'gaCode' %}

    系統>更新:

    此頁面允許附加項目(需要十月cms帳戶),添加市場插件並更新您的網站。

    命令行:使用命令行安裝插件(儘管在網站上找到插件名稱是必需的)。 命令格式(在寫作時)通常涉及

    plugins

      插件創建:
    • 創建插件的精簡:
      • >手動方法:plugins>目錄中創建一個新文件夾。該文件夾名稱充當您的唯一名稱空間(在OctiotCMS網站上註冊您的名稱空間以避免衝突)。 在此示例中,我們將使用RAFIE.GoogleAnalyticsCode。 在內部,創建一個Plugin.php文件。
      • >腳手架(命令行):使用命令。這將自動生成必要的文件和文件夾,包括一個包含版本控制的文件的文件夾。 php artisan create:plugin RAFIE.GoogleAnalyticsCode uploadsversion.yaml文件的
      • 方法(覆蓋
      )定義插件:>

      Plugin.php如果未出現插件,請單擊“檢查更新”以刷新列表。 pluginDetails()> 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'
          ];
      }
      登入後複製

      >組件啟用與頁面的交互。 手動創建它們(在

      文件夾中)或通過命令行:

      >

      components

      方法(覆蓋
      php artisan create:component RAFIE.GoogleAnalyticsCode GoogleAnalytics
      登入後複製
      )定義了管理儀表板的組件詳細信息。 將組件註冊在

      >'s Building OctoberCMS Plugins: Google Analytics 方法中:

      componentDetails()組件最初渲染CmsClassesComponentBasePlugin.php registerComponents()

      >用Google Analytics(分析)跟踪代碼替換此信息:
      public function registerComponents() {
          return [
              'RAFIE\GoogleAnalyticsCode\Components\GoogleAnalytics' => 'gaCode'
          ];
      }
      登入後複製

      default.htm請記住,理想情況下應將腳本放在頁面末尾,具體取決於您的主題。

      <p>></p>This is the default markup for component GoogleAnalytics>
      <small>></small>You can delete this file if you want>
      登入後複製

      組件屬性和設置:

      (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');
      登入後複製
      >

      而不是硬編碼跟踪ID,而是使用組件屬性:>

      使用來定義屬性:

      >使用

      將值傳遞到頁面:
      {% component 'gaCode' code='UA-12345678-1' %}
      登入後複製

      defineProperties()對於更易於用戶友好的方法,請使用插件設置:>

      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'
              ]
          ];
      }
      登入後複製

      onRender()創建

      public function onRender() {
          $this->page['code'] = $this->property('code');
      }
      登入後複製

      創建

      Building OctoberCMS Plugins: Google Analytics

      models/GoogleAnalyticsSettings.php中的註冊設置:

      class GoogleAnalyticsSettings extends Model {
          public $implement = ['System.Behaviors.SettingsModel'];
          public $settingsCode = 'rafie_google_analytics_code';
          public $settingsFields = 'fields.yaml';
      }
      登入後複製

      models/fields.yaml

      fields:
        code:
          label: Your Google Analytics ID
          placeholder: UA-XXXXXXXX-X
      登入後複製

      中檢索設置:Plugin.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
              ]
          ];
      }
      登入後複製

      結論: Building OctoberCMS Plugins: Google Analytics >

      >經常詢問問題(常見問題解答):(所提供的常見問題解答已經結構良好。

  • 以上是構建OctectCMS插件:Google Analytics(分析)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板