> coctcms插件开发:Google Analytics(分析)示例
密钥概念:
通过插件的插件管理:
{% component 'gaCode' %}
此页面允许附加项目(需要十月cms帐户),添加市场插件并更新您的网站。
命令行:。
plugins
plugins
>目录中创建一个新文件夹。该文件夹名称充当您的唯一名称空间(在OctiotCMS网站上注册您的名称空间以避免冲突)。 在此示例中,我们将使用RAFIE.GoogleAnalyticsCode
。 在内部,创建一个Plugin.php
文件。php artisan create:plugin RAFIE.GoogleAnalyticsCode
uploads
version.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 方法中:
componentDetails()
组件最初渲染CmsClassesComponentBase
:Plugin.php
registerComponents()
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.m.sbmmt.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'); }
创建
:
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 ] ]; }
结论: >经常询问问题(常见问题解答):(所提供的常见问题解答已经结构良好。
以上是构建OctectCMS插件:Google Analytics(分析)的详细内容。更多信息请关注PHP中文网其他相关文章!