chessio / module-matomo
适用于 Magento 2 的 Matomo 分析模块
Requires
- php: ~7.0.0|~7.1.0|~7.2.0|~7.3.0|~7.4.0|~8.1.0|~8.2.0
- magento/framework: ~101.0|~102.0|~103.0
- magento/module-catalog: ~102.0|~103.0|~104.0
- magento/module-catalog-search: ~100.0|~101.0|~102.0
- magento/module-checkout: ~100.0
- magento/module-config: ~101.0
- magento/module-customer: ~101.0|~102.0|~103.0
- magento/module-quote: ~101.0
- magento/module-sales: ~101.0|~102.0|~103.0
- magento/module-search: ~100.0|~101.0
- magento/module-store: ~100.0|~101.0
README
Chessio_Matomo 是一个适用于 Matomo 的 Web 分析模块,用于 Magento 2 电子商务平台。Matomo 是一个可扩展的免费/开源分析工具,可以自托管,让您拥有完整的数据所有权。Chessio_Matomo 允许您将 Matomo 集成到您的 Magento 2 商店前端。
本模块是 Henhed_Piwik 的继任者,因此继续使用其语义版本控制,从版本 v2.1.0
开始。如果您正在使用 2.2 之前的 Magento 版本,您将需要坚持使用原始 Henhed_Piwik 的 1.x 版本。对于手动安装,请参阅 发布存档。对于使用 Composer 的安装,您可以使用 波浪号 或 caret 版本约束运算符(例如 ~1.3
或 ^1.3.1
)。
安装
要安装 Chessio_Matomo,请下载并解压 主 zip 存档,然后将解压的文件夹移动到您的 Magento 2 安装目录下的 app/code/Chessio/Matomo。
unzip magento2-matomo-main.zip mkdir app/code/Chessio mv magento2-matomo-main app/code/Chessio/Matomo
或者,您可以将 Chessio_Matomo Git 仓库克隆到 app/code/Chessio_Matomo。
git clone https://github.com/fnogatz/magento2-matomo.git app/code/Chessio/Matomo
或者,如果您愿意,可以使用 Composer 安装它。
composer require chessio/module-matomo
最后,使用 Magento CLI 工具启用该模块。
php bin/magento module:enable Chessio_Matomo --clear-static-content
配置
安装后,配置选项可以在 Magento 2 管理面板的 商店/配置/销售/Matomo API 下找到。要开始跟踪,将 启用跟踪 设置为 是,输入您的 Matomo 安装的主机名,然后单击 保存配置。如果您在同一个 Matomo 安装中有多个网站,请确保在 Magento 中配置的 站点 ID 是正确的。
定制
如果您需要将一些自定义信息发送到您的 Matomo 服务器,Chessio_Matomo 允许您使用事件观察器来实现。
要为每个页面设置自定义数据,请使用 matomo_track_page_view_before
事件。一个跟踪器实例将随事件对象一起传递到您的观察器的 execute
方法。
public function execute(\Magento\Framework\Event\Observer $observer) { $tracker = $observer->getEvent()->getTracker(); /** @var \Chessio\Matomo\Model\Tracker $tracker */ $tracker->setDocumentTitle('My Custom Title'); }
如果您只想在特定情况下添加数据,请找到一个合适的事件并在观察器的构造函数中请求跟踪器单例。将跟踪器存储在类成员变量中,以便稍后在 execute
方法中使用。
public function __construct(\Chessio\Matomo\Model\Tracker $matomoTracker) { $this->_matomoTracker = $matomoTracker; }
请注意,在服务器端跟踪用户特定信息可能会引起缓存问题。相反,请使用 JavaScript 从 cookie、localStorage 或某些 Ajax 请求中检索用户数据,然后使用 Chessio_Matomo JS 组件或纯 Matomo 方法将数据推送到 Matomo...
require(['Chessio_Matomo/js/tracker'], function (trackerComponent) { trackerComponent.getTracker().done(function (tracker) { // Do something with tracker }); });
...
var _paq = _paq || []; _paq.push(['setDocumentTitle', 'My Custom Title']);
请参阅 Matomo 开发者文档 或 \Chessio\Matomo\Model\Tracker 源代码,了解跟踪 API 中所有可用的方法。