事件

事件

这是一个可用的钩子的完整列表。如果你不熟悉这个读我们的指导对事件

“仪表盘

“Dashboard.changeDefaultDashboardLayout”

中定义的Piwik /插件/仪表板/仪表板排队205年

允许其他插件修改默认仪表板布局。

回调函数签名:

函数(& defaultLayout美元)
  • 字符串& $ defaultLayout JSON编码的字符串的默认仪表板布局。包含一个数组的列,每一列是一个数组的小部件。每个小部件是一个关联数组w /以下元素:

    * * * uniqueId * *:小部件的唯一的ID。* * * * *参数:查询参数数组,应该使用这个小部件的报告。

访问

Access.Capability.addCapabilities

中定义的Piwik /访问/ CapabilitiesProvider排队43

触发来添加新功能。例子

公共函数addCapabilities(& $功能){$功能[]= new MyNewCapability ();}

回调函数签名:

函数(& $功能)
  • \能力美元的报告一个数组的报告

用法:

TagManager: addCapabilities

Access.Capability.filterCapabilities

中定义的Piwik /访问/ CapabilitiesProvider排队62年

引发了过滤/限制功能。例子

公共函数filterCapabilities(& $功能){foreach(功能指数= >美元美元能力){如果($功能- > getId () = = = tagmanager_write){}复原(美元(美元指数)功能);/ /删除给定功能}}}

回调函数签名:

函数(& $功能)
  • \能力美元的报告一个数组的报告

Access.modifyUserAccess

中定义的Piwik /访问排队302年

触发后的初始加载当前用户访问级别和权限。使用这个事件来修改当前用户的权限(例如,确保每个用户视图访问特定的网站)。例子

函数(& idsitesByAccess美元,美元登录){如果(登录= =美元somespecialuser){返回;}$ idsitesByAccess(“视图”)[]= $ mySpecialIdSite;}

回调函数签名:

函数(& $ this - > idsitesByAccess, $ this - >登录)
  • 数组& $ idsitesByAccess当前用户个人网站的访问级别。地图的作用和能力id列表网站id,例如:

    “的”(“视图”= >(1、2、3),“写”= >(4、5),“管理”= > [],)”“
  • 字符串美元的登录当前用户的登录。

行动

Actions.addActionTypes

中定义的Piwik /插件/行动/列/ ActionType排队59

触发来确定可用的行动类型插件可以使用此事件类型添加自己的行动,所以他们可以在数组分割内部id映射到可读的行动类型名称中使用游客的细节

例子

公共函数addActionTypes (& $ availableTypes) {$ availableTypes[] =数组(“id”= > 76, '名字' = > ' media_play ');}

回调函数签名:

函数(& $ availableTypes]
  • 数组& $ availableTypes

用法:

行动:addActionTypes

Actions.Archiving.addActionMetrics

中定义的Piwik /插件/行动/指标排队90年

回调函数签名:

函数(& metricsConfig美元)

用法:

带宽:addActionMetrics,PagePerformance: addActionMetrics

Actions.getCustomActionDimensionFieldsAndJoins

中定义的Piwik / Plugins /动作/ VisitorDetails排队295年

回调函数签名:

函数(& $ customFields & customJoins美元)

用法:

带宽:provideActionDimensionFields,内容::provideActionDimensionFields,CustomDimensions: provideActionDimensionFields,CustomVariables: provideActionDimensionFields,电子商务:provideActionDimensionFields,事件:provideActionDimensionFields

API

API。pluginName。methodName美元

中定义的Piwik / API /代理排队225年

派遣一个API请求之前触发。这个事件存在为了方便和直接后触发API.Request.dispatch事件被触发。它可以用来修改参数传递给一个API方法。

注意:这是可以实现的API.Request.dispatch事件,但该事件的事件处理程序必须做更多的工作。

例子

Piwik:: addAction (API.Actions。getPageUrls’,函数参数(& $){/ /力使用一个单一的网站。出于某种原因。参数(“idSite”) = 1美元;});

回调函数签名:

函数(& finalParameters美元)
  • 数组& $ finalParameters参数列表传递给API方法。

API。pluginName。methodName.end美元

中定义的Piwik / API /代理排队300年

触发后直接派遣一个API请求。这个事件存在为了方便和前立即触发API.Request.dispatch.end事件。它可以用来修改的输出API方法。

注意:这个可以实现的API.Request.dispatch.end事件,但该事件的事件处理程序必须做更多的工作。

例子

/ /添加(0支安打)的行标签的行0支安打Piwik:: addAction (“API.Actions。getPageUrls’,函数(& $ returnValue $ info)) {$ returnValue - >过滤器(“ColumnCallbackReplace”、“标签”,函数(标签,点击美元){如果(点击率= = = 0美元){返回$标签。“(0支安打)”;其他}{返回$标签;}},null,数组(' nb_hits '));}

回调函数签名:

endHookParams美元
  • 混合& $ returnedValue API方法的返回值。可以是一个对象,比如一个吗数据表实例。可能是一个数据表

  • 数组extraInfo美元一个数组来保存关于API请求的信息。将包含以下数据:

    - * *名称* *:namespace-d类名称被调用的API的实例。- * * * *模块:插件API请求的名称被派往。- * * * *行动:执行API方法的名称。* * - * *参数:参数的数组传递给API方法。

API.addGlossaryItems

中定义的Piwik /插件/ API /控制器排队191年

添加或修改术语表项触发。你可以修改一个现有的核心范畴“报告”和“指标”或添加自己的类别。例子

公共函数addGlossaryItems (& $ glossaryItems) {$ glossaryItems(“用户”)=数组(“标题”= >“用户的“条目”= >数组(数组(“名字”= >“User1”,“文档”= >“用户…”),数组('名字' = > ' User2 ', '文件' = > '这个用户…'),));$ glossaryItems['报告'][“条目”][]=数组(“名字”= >“我的报告”,“文档”= >“这报告…”);}

回调函数签名:

函数(& glossaryItems美元)
  • 数组& $ glossaryItems数组包含所有术语表项。

用法:

TagManager: addGlossaryItems

API.DocumentationGenerator。美元令牌

中定义的Piwik / API /代理排队645年

这个事件检查是否存在一个插件API方法标记为一个类或一个插件API@hideXYZ应该隐藏在API清单。

回调函数签名:

函数(& $隐藏)
  • bool &隐藏是否隐藏api标记牌美元应该显示出来。

API.getPagesComparisonsDisabledFor

中定义的Piwik /插件/ API / API排队641年

如果你的插件页面,你想比较功能被禁用,您可以添加他们通过这个事件。添加页面“CategoryId.SubcategoryId”。例子

公共函数getPagesComparisonsDisabledFor(& $页){$页面[]=“General_Visitors.MyPlugin_MySubcategory”;美元页面[]= " MyPlugin.myControllerAction”;/ /如果你想要你的插件定义了一个整个页面比较禁用}

回调函数签名:

函数(& $页面)
  • 字符串& $页面

用法:

生活:getPagesComparisonsDisabledFor,多点:getPagesComparisonsDisabledFor,反向链接::getPagesComparisonsDisabledFor,过渡:getPagesComparisonsDisabledFor,UserCountryMap: getPagesComparisonsDisabledFor

API.getReportMetadata.end

中定义的Piwik /插件/ API / ProcessedReport排队220年

触发后收集所有可用的报告。这个事件可以用来修改报告在其他插件元数据的报告。例如,您可以添加自定义指标每一个报告或删除报告从列表中可用的报告。

回调函数签名:

函数(& $ availableReports,作为$参数)
  • 数组& availableReports列表作为美元的所有报告元数据。读了API.getReportMetadata文档看看这个数组包含什么。

  • 数组美元的参数包含网站的价值,我们报告。一些报告依赖这些数据。例如,目标报告取决于站点id被请求。包含以下信息:

    - * * idSite * *:我们报告的网站ID。- * *期* *:类型,如“天”“,“周”,“月”,“年”,“范围”。- * *日* *:一个字符串日期期限内或日期范围,如“2013-01-01”或“2012-01-01,2013-01-01“。

用法:

目标::getReportMetadataEnd

API.Request.authenticate

中定义的Piwik / API /请求排队442年

时触发一个API请求进行身份验证,但只有在token_auth查询参数的要求。提供认证功能的插件应该订阅该事件,并确保全球认证对象(返回的对象StaticContainer: get (Piwik \身份验证))设置使用token_auth美元当它authenticate ()方法执行。

回调函数签名:

函数(tokenAuth美元)
  • 字符串token_auth美元的值token_auth查询参数。

用法:

登录:ApiRequestAuthenticate,LoginLdap: ApiRequestAuthenticate

API.Request.dispatch

中定义的Piwik / API /代理排队205年

派遣一个API请求之前触发。这个事件可以用来修改的参数传递到一个或多个API方法。

例子

Piwik:: addAction (API.Request。调度”,函数(& $参数,pluginName美元,美元methodName){如果($ pluginName = = '行动'){如果($ methodName = = getPageUrls) {/ /……做一些……其他}{/ /……做其他的事情……}}});

回调函数签名:

函数(& $ finalParameters pluginName美元,美元methodName)
  • 数组& $ finalParameters参数列表传递给API方法。

  • 字符串pluginName美元插件的名称属于的API方法。

  • 字符串methodName美元的名字将调用的API方法。

用法:

AnonymousPiwikUsageMeasurement: logStartTimeOfApiCall,CustomAlerts: checkApiPermission

API.Request.dispatch.end

中定义的Piwik / API /代理排队340年

触发后直接派遣一个API请求。这个事件可以用来修改任何API方法的输出。

例子

/ /添加(0支安打)的行标签的行0点击任何报告的“nb_hits”度量Piwik:: addAction (“API.Actions.getPageUrls。结束”,函数(& $ returnValue $ info)){/ /不过程non-DataTable nb_hits列报告和报告,没有如果!(returnValue instanceof DataTableInterface美元)| | in_array (nb_hits, returnValue美元- > getColumns())){返回;}$ returnValue - >过滤器(“ColumnCallbackReplace”、“标签”,函数(标签,点击美元){如果(点击率= = = 0美元){返回$标签。“(0支安打)”;其他}{返回$标签;}},null,数组(' nb_hits '));}

回调函数签名:

endHookParams美元
  • 混合& $ returnedValue API方法的返回值。可以是一个对象,比如一个吗数据表实例。

  • 数组extraInfo美元一个数组来保存关于API请求的信息。将包含以下数据:

    - * *名称* *:namespace-d类名称被调用的API的实例。- * * * *模块:插件API请求的名称被派往。- * * * *行动:执行API方法的名称。* * - * *参数:参数的数组传递给API方法。

用法:

AnonymousPiwikUsageMeasurement: trackApiCall,PagePerformance: enrichApi

API.Request.intercept

中定义的Piwik / API /代理排队240年

派遣一个API请求之前触发。使用此事件拦截API请求并执行自己的代码。如果你设置returnedValue美元在这一事件的处理程序,原始API方法不会被执行,结果将是你在事件处理程序中设置。

回调函数签名:

函数(& $ returnedValue finalParameters美元,美元pluginName, methodName美元,美元parametersRequest]
  • 混合& $ returnedValue设置这个设定和抢占正常API调用的结果。

  • 数组& $ finalParameters参数列表传递给API方法。

  • 字符串pluginName美元插件的名称属于的API方法。

  • 字符串methodName美元的名字将调用的API方法。

  • 数组parametersRequest美元这个请求的查询参数。

ArchiveProcessor

ArchiveProcessor.ComputeNbUniques.getIdSites

中定义的Piwik / ArchiveProcessor排队523年

触发改变哪些站点id应该看着当处理独立访客用户。

回调函数签名:

函数(&网站,美元参数- > getPeriod(), $参数- > getSegment ())
  • 与一个idSite数组& $ idSites数组。这个网站目前正在归档。取消查询你可以改变这个值到一个空数组。包括其他网站查询中可以添加更多idSites idSites这个列表。

  • 美元的时期的时间要求存档。

  • 美元市场的部分请求存档。

ArchiveProcessor.getArchive

中定义的Piwik / ArchiveProcessor排队126年

回调函数签名:

函数($ this - >归档)

ArchiveProcessor.Parameters.getIdSites

中定义的Piwik ArchiveProcessor /参数排队165年

回调函数签名:

函数(& $ idSites, $ this - > getPeriod ())

ArchiveProcessor.shouldAggregateFromRawData

中定义的Piwik / ArchiveProcessor / PluginsArchiver排队86年

触发检测如果文档应该从原始数据聚合使用MySQL查询(真正的)或总档案(假)。通常,数据从原始数据聚合“日”期间,所有其他时期和aggregregated档案。

回调函数签名:

函数(& $ shouldAggregateFromRawData, $ this - >参数)
  • bool& $ shouldAggregateFromRawData设置为真时,从原始数据聚合,或假聚合多个报告。

  • 参数美元的参数

存档

Archiving.getIdSitesToArchiveWhenNoVisits

中定义的Piwik ArchiveProcessor /加载程序排队397年

回调函数签名:

函数(& idSites美元)

Archiving.getIdSitesToMarkArchivesAsInvalidated

中定义的Piwik /归档/ ArchiveInvalidator排队317年

Matomo时会触发用户请求的失效报告档案。使用此事件,插件开发人员可以自动解除另一个网站,一个网站时失效。插件甚至可能从列表中删除一个idSite的网站应该无效,以防止它被无效。例子

公共函数getIdSitesToMarkArchivesAsInvalidates (& $ idSites){如果(in_array (1、$ idSites)) {idSites美元[]= 5;/ /当idSite 1无效,也无效idSite 5}}

回调函数签名:

函数(& $ idSites日期,美元,美元,美元的名字)
  • 数组& $ idSites数组包含一个站点id列表要求作废。

  • 数组美元的日期一个数组,其中包含无效的日期。

  • 字符串美元的时期一个字符串包含失效期。

  • \段美元市场一段对象包含部分无效。

  • 字符串美元的名字一个字符串包含档案的名称无效。

Archiving.makeNewArchiverObject

中定义的Piwik / ArchiveProcessor / PluginsArchiver排队329年

后一个新的触发插件文档实例被创建。用户这个事件可以配置插件文档,例如防止插件的归档的数据通过调用$文档- >禁用()方法。

回调函数签名:

函数(文档,pluginName美元,$ this - >参数,假)
  • 存储服务器& $存储服务器新创建的插件文档实例。

  • 字符串pluginName美元插件的名称的文档实例被创建。

  • 数组这个美元->params数组包含档案参数(地点、时间、日期和段)

  • bool假不建议使用这个参数,将被删除。

AssetManager

AssetManager.addStylesheets

中定义的Piwik / AssetManager UIAssetMerger / StylesheetUIAssetMerger排队105年

触发毕竟少样式表连接成一个长字符串,但之前缩小并合并成一个文件。少这个事件可以用来添加样式表不位于盘上的文件。

回调函数签名:

函数(& concatenatedContent美元)
  • 字符串& $ concatenatedContent所有连接较少的文件的内容。

用法:

CoreHome: addStylesheets

AssetManager.filterMergedJavaScripts

中定义的Piwik /插件/ CoreHome /测试/集成/ CoreHomeTest排队25

回调函数签名:

函数(& $内容)

用法:

CoreHome: filterMergedJavaScripts

AssetManager.filterMergedJavaScripts

中定义的Piwik /插件/ CoreHome /测试/集成/ CoreHomeTest排队33

回调函数签名:

函数(& $内容)

用法:

CoreHome: filterMergedJavaScripts

AssetManager.filterMergedJavaScripts

中定义的Piwik / AssetManager UIAssetMerger / JScriptUIAssetMerger排队68年

触发后所有的JavaScript文件Matomo(原名Piwik)中使用压缩和合并成一个单一的文件,但在合并后的JavaScript是写入磁盘。插件可以使用这个事件来修改合并JavaScript或做其他的事情。

回调函数签名:

函数(& mergedContent美元)
  • 字符串& $ mergedContent简化和合并JavaScript。

用法:

CoreHome: filterMergedJavaScripts

AssetManager.filterMergedStylesheets

中定义的Piwik / AssetManager UIAssetMerger / StylesheetUIAssetMerger排队145年

触发毕竟少CSS样式表编译,缩小并合并成一个文件,但在生成的CSS是写入磁盘。这个事件可以用来修改CSS合并。

回调函数签名:

函数(& mergedContent美元)
  • 字符串& $ mergedContent合并中并压缩CSS。

AssetManager.getJavaScriptFiles

中定义的Piwik / AssetManager UIAssetFetcher / JScriptUIAssetFetcher排队44

时触发收集所有JavaScript文件的列表Matomo及其所需的插件。插件,有自己的JavaScript应该利用这一事件让这些文件在浏览器中加载。

应该放置在一个JavaScript文件javascript在你的插件根目录的子目录中。

注意:当你发展你的插件应该启用配置设置[开发]disable_merged_assets所以每一个变化后立即将重新加载JavaScript文件。

例子

公共函数getJsFiles (& $ jsFiles) {$ jsFiles[] =“插件编写MyPlugin / javascript / myfile.js /”;美元jsFiles[] = "插件/编写MyPlugin / javascript / anotherone.js”;}

回调函数签名:

函数(& $ this - > fileLocations)
  • 字符串jsFiles美元加载JavaScript文件。

用法:

行动:getJsFiles,注释:getJsFiles,AnonymousPiwikUsageMeasurement: getJsFiles,内容::getJsFiles,CoreAdminHome: getJsFiles,CoreHome: getJsFiles,CorePluginsAdmin: getJsFiles,CoreVisualizations: getJsFiles,CoreVue: getJsFiles,CustomAlerts: getJavaScriptFiles,CustomDimensions: getJsFiles,仪表板:getJsFiles,反馈:getJsFiles,见解:getJsFiles,生活:getJsFiles,LogViewer: getJsFiles,登录:getJsFiles,LoginLdap: getJsFiles,市场:getJsFiles,覆盖:getJsFiles,PagePerformance: getJsFiles,反向链接::getJsFiles,搜索引擎优化:getJsFiles,ScheduledReports: getJsFiles,SegmentEditor: getJsFiles,TagManager: getJsFiles,旅游:getJsFiles,过渡:getJsFiles,TreemapVisualization: getJsFiles,TwoFactorAuth: getJsFiles,UserCountry: getJsFiles,UserCountryMap: getJsFiles,用户标识:getJavaScriptFiles,Widgetize: getJsFiles

AssetManager.getStylesheetFiles

中定义的Piwik / AssetManager UIAssetFetcher / StylesheetUIAssetFetcher排队69年

时触发收集所有的列表样式表(CSS和少)Matomo及其所需的插件。插件,样式表应该使用这个事件使这些样式表加载。

样式表应该被放置在一个样式表在你的插件根目录的子目录中。

例子

公共函数getStylesheetFiles(& $样式表){$样式表[]=“插件编写MyPlugin /样式表/ myfile.less /”;样式表美元[]= "插件/编写MyPlugin /样式表/ myotherfile.css”;}

回调函数签名:

函数(& $ this - > fileLocations)
  • 字符串& $样式表的列表样式表的路径。

用法:

插件:getStylesheetFiles,注释:getStylesheetFiles,CoreAdminHome: getStylesheetFiles,CoreHome: getStylesheetFiles,CorePluginsAdmin: getStylesheetFiles,CoreVisualizations: getStylesheetFiles,CustomAlerts: getStylesheetFiles,CustomDimensions: getStylesheetFiles,CustomVariables: getStylesheetFiles,DBStats: getStylesheetFiles,仪表板:getStylesheetFiles,DevicesDetection: getStylesheetFiles,诊断:getStylesheetFiles,事件:getStylesheetFiles,反馈:getStylesheetFiles,目标::getStylesheetFiles,见解:getStylesheetFiles,安装::getStylesheetFiles,生活:getStylesheetFiles,LogViewer: getStylesheetFiles,登录:getStylesheetFiles,LoginLdap: getStylesheetFiles,MarketingCampaignsReporting: getStylesheetFiles,市场:getStylesheetFiles,MobileMessaging: getStylesheetFiles,多点:getStylesheetFiles,PrivacyManager: getStylesheetFiles,ProfessionalServices: getStylesheetFiles,反向链接::getStylesheetFiles,RssWidget: getStylesheetFiles,ScheduledReports: getStylesheetFiles,SecurityInfo: getStylesheetFiles,SegmentEditor: getStylesheetFiles,SitesManager: getStylesheetFiles,TagManager: getStylesheetFiles,旅游:getStylesheetFiles,过渡:getStylesheetFiles,TreemapVisualization: getStylesheetFiles,TwoFactorAuth: getStylesheetFiles,UserCountry: getStylesheetFiles,UserCountryMap: getStylesheetFiles,UsersManager: getStylesheetFiles,VisitsSummary: getStylesheetFiles,Widgetize: getStylesheetFiles

类别

Category.addSubcategories

中定义的Piwik /插件/类别排队61年

触发来添加自定义子类。例子

公共函数addSubcategories(& $子类){$子类=新子类();$子类- > setId (“General_Overview”);$子类- > setCategoryId (“General_Visits”);$子类- > setOrder (5);子目录[]=美元子类;}

回调函数签名:

函数(& $子类)
  • 数组和数组$子类包含子目录的列表。

用法:

CustomDimensions: addSubcategories,仪表板:addSubcategories,目标::addSubcategories

变化

Changes.filterChanges

中定义的Piwik /变化/模型排队213年

事件触发之前更改显示可用于过滤掉不必要的变化

例子

Piwik: addAction('的变化。filterChanges’,函数(改变美元){foreach($变化$ k = > $ c){/ /隐藏变化CoreHome插件如果(收取($ c [' plugin_name ']) & & $ c [' plugin_name '] = = CoreHome){复原(美元($ k)变化);}}});

回调函数签名:

函数(& $更改)
  • 数组和美元的变化

CliMulti

CliMulti.supportsAsync

中定义的Piwik / CliMulti排队303年

触发允许插件强制使用异步的cli多执行或禁用它。例子

公共函数supportsAsync (& $ supportsAsync) {$ supportsAsync = false;/ /不允许异步执行climulti}

回调函数签名:

函数(& supportsAsync美元)
  • bool & supportsAsync是否异步支持美元。

配置

Config.badConfigurationFile

中定义的Piwik / FrontController排队370年

Matomo不能访问数据库数据时触发。这个事件可以用来启动安装过程或显示一个自定义的错误消息。

回调函数签名:

函数(异常)
  • \例外美元的例外除了从试图得到一个选项值。

用法:

安装::调度

Config.beforeSave

中定义的Piwik / Config / IniFileChain排队549年

触发配置之前写入/保存在本地文件系统。插件可以听它,修改这些设置将被保存在文件系统中。这允许您以防止保存配置值,一个插件集。说你对需求的配置中配置数据库密码在你的插件,你可以防止密码保存在实际配置文件通过听这个事件是这样的:

例子函数doNotSaveDbPassword(& $值){复原(美元值(“数据库”)['密码']);}

回调函数签名:

函数(& $值)
  • 数组和美元值配置值将被保存

Config.NoConfigurationFile

中定义的Piwik /应用程序/内核/ EnvironmentValidator排队110年

触发配置文件无法找到或阅读时,这通常意味着Matomo还没有安装。这个事件可以用来启动安装过程或显示一个自定义的错误消息。

回调函数签名:

函数(异常)
  • \例外美元的例外抛出的异常配置:getInstance ()

用法:

安装::调度,LanguagesManager: initLanguage

控制台

Console.filterCommands

中定义的Piwik /控制台排队196年

触发过滤/限制控制台命令。插件,希望限制命令应该从现有的订阅该事件和删除命令列表。例子

公共函数filterConsoleCommands(& $命令){$关键=函数(“Piwik \ Plugins \并且\ \ MyCommand命令”,命令美元);如果(假! = = $键){复原($命令[$ key]);}}

回调函数签名:

函数(& $命令)
  • 数组和数组$命令包含命令类名称的列表。

控制器

控制器。模块。美元的行动

中定义的Piwik / FrontController排队635年

直接触发控制器之前行动派。这个事件存在为了方便和直接后触发Request.dispatch事件被触发。

它可以用来做相同的事情Request.dispatch事件,但对于一个控制器动作。使用这个事件将导致更少的代码Request.dispatch

回调函数签名:

函数(& $参数)
  • & $参数数组的参数传递给控制器动作。

控制器。模块。action.end美元

中定义的Piwik / FrontController排队652年

触发控制器动作成功后调用。这个事件存在为了方便和前立即触发Request.dispatch.end事件被触发。

它可以用来做相同的事情Request.dispatch.end事件,但对于一个控制器动作。使用这个事件将导致更少的代码Request.dispatch.end

回调函数签名:

函数(因此,美元和参数)
  • 混合& $结果控制器动作的结果。

  • 数组美元的参数参数传递给控制器动作。

Controller.triggerAdminNotifications

中定义的Piwik /插件/ ControllerAdmin排队400年

贴在呈现一个管理页面,并通知任何警告或错误应该被触发。你可以用它例如当你有一个插件,需要配置为了工作和插件尚未配置。它也可以用来取消/删除其他通知通过调用通知\经理::取消(notificationId美元)

例子

公共函数onTriggerAdminNotifications部件(Piwik \ \ WidgetsList美元列表){如果(pluginFooIsNotConfigured美元){$通知=新通知(“插件foo尚未配置”);= $通知- >上下文通知::CONTEXT_WARNING;通知\经理::通知(“fooNotConfigured”,通知美元);}}

核心

Core.configFileChanged

中定义的Piwik /配置排队427年

INI配置文件时会触发改变磁盘上。

回调函数签名:

函数($ localPath]
  • 字符串localPath美元绝对路径改变了文件在服务器上。

Core.configFileDeleted

中定义的Piwik / Config /缓存排队87年

回调函数签名:

函数($ this - > getFilename ($ id))

Core.configFileSanityCheckFailed

中定义的Piwik /配置排队491年

触发INI配置文件时没有写正确预期的内容。

回调函数签名:

函数($ localPath]
  • 字符串localPath美元绝对路径改变了文件在服务器上。

CoreAdminHome

CoreAdminHome.customLogoChanged

中定义的Piwik /插件/ CoreAdminHome / CustomLogo排队235年

当用户触发上传一个定制的标志。这个事件触发大标志,logo-header越小。png文件,该图标。

回调函数签名:

函数($ absolutePath]
  • 字符串absolutePath美元的绝对路径标识文件Matomo服务器上。

CoreUpdater

CoreUpdater.update.end

中定义的Piwik /更新器排队525年

触发后Matomo已更新。

用法:

CustomJsTracker: updateTracker,TagManager: onPluginActivateOrInstall

CronArchive

CronArchive.archiveSingleSite.finish

中定义的Piwik / CronArchive / QueueConsumer排队320年

这个事件触发后立即cron归档过程为一个站点开始归档数据。注:多个归档流程可以发布这一事件。

回调函数签名:

函数($ this - > idSite, $ this - > pid)
  • intidSite美元网站我们的ID归档数据。

  • 字符串$ pid进程的PID处理档案。

CronArchive.archiveSingleSite.start

中定义的Piwik / CronArchive / QueueConsumer排队168年

这个事件触发cron归档过程开始前为一个站点归档数据。注:多个归档流程可以发布这一事件。

回调函数签名:

函数($ this - > idSite, $ this - > pid)
  • intidSite美元网站我们的ID归档数据。

  • 字符串$ pid进程的PID处理档案。

CronArchive.end

中定义的Piwik / CronArchive排队603年

这个事件被触发后归档。

回调函数签名:

函数(美元)
  • \ CronArchive这个美元

CronArchive.filterWebsiteIds

中定义的Piwik / CronArchive排队782年

引发的核心:存档控制台命令所以插件可以修改网站的优先级归档过程将启动。插件可以使用这个钩子将网站添加到归档文件,删除网站档案,或者改变网站的顺序将存档。

回调函数签名:

函数(& websiteIds美元)
  • 数组& $ websiteIds网站id的列表启动归档过程。

CronArchive.getIdSitesNotUsingTracker

中定义的Piwik ArchiveProcessor /加载程序排队537年

这个事件被触发时检测是否有网站,不要使用跟踪器。默认情况下我们只存档任何访问一个网站时,实际上是自上次存档。然而,一些插件导入数据从另一个来源,而不是使用跟踪器,因此不会有任何访问这个网站。以确保我们仍然归档数据对于这样一个网站当归档请求这个网站,你可以听听这个事件和idSite添加到列表的网站不使用跟踪器。

回调函数签名:

函数(& idSitesNotUsingTracker美元)
  • bool& $ idSitesNotUsingTrackeridSites的列表,而进口数据,而不是使用跟踪器

CronArchive.init.finish

中定义的Piwik / CronArchive排队339年

这个事件触发后CronArchive实例初始化。

回调函数签名:

函数($ this - > allWebsites]
  • 数组websiteIds美元这个网站id列表CronArchive实例处理。这将是id的完整列表不管一些已经处理。

CronArchive.init.start

中定义的Piwik / CronArchive排队296年

这个事件被触发时初始化归档。

回调函数签名:

函数(美元)
  • \ CronArchive这个美元

CustomJsTracker

CustomJsTracker.manipulateJsTracker

中定义的Piwik /插件/ CustomJsTracker / TrackingCode / PiwikJsManipulator排队56

触发后Matomo前不久生成JavaScript追踪和跟踪文件写入磁盘。你可以听听这事件例如自动添加一些代码来JS追踪文件。例子

函数onManipulateJsTracker(& $内容){$内容。= " \ nPiwik.DOM。onLoad(函数(){console.log(“加载”);});”;}

回调函数签名:

函数(& $内容)
  • 字符串& $内容生成的JavaScript代码跟踪

CustomJsTracker.shouldAddTrackerFile

中定义的Piwik /插件/ CustomJsTracker / TrackingCode / PluginTrackerFiles排队85年

检测一个自定义跟踪文件应该被添加到piwik。js追踪。这是有用的,例如如果一个插件只希望添加插件配置时它的跟踪文件。

回调函数签名:

函数(& $ shouldAddFile pluginName美元)
  • bool & $ shouldAddFile决定是否跟踪文件属于给定的插件应该添加。

  • 字符串pluginName美元这个文件属于插件的名称

用法:

PrivacyManager: shouldAddTrackerFile

CustomJsTracker.trackerJsChanged

中定义的Piwik /插件/ CustomJsTracker / TrackerUpdater排队142年

触发后追踪JavaScript内容(piwik的内容。js文件)是改变。

回调函数签名:

函数($ savedFile]
  • 字符串absolutePath美元新piwik的路径。js文件。

用法:

TagManager: regenerateReleasedContainers

CustomJsTracker.trackerJsChanged

中定义的Piwik /插件/ CustomJsTracker / TrackerUpdater排队160年

回调函数签名:

函数($ savedFile]

用法:

TagManager: regenerateReleasedContainers

CustomJsTracker.updateTracker

中定义的Piwik /插件/ PrivacyManager / API排队236年

用法:

CustomJsTracker: updateTracker

Db

Db.cannotConnectToDb

中定义的Piwik / FrontController排队347年

触发当Matomo无法连接到数据库。这个事件可以用来启动安装过程或显示一个自定义的错误消息。

回调函数签名:

函数(异常)
  • \例外美元的例外除了从创建和测试数据库连接。

用法:

安装::displayDbConnectionMessage

Db.getActionReferenceColumnsByTable

中定义的Piwik /插件/尺寸/ DimensionMetadataProvider排队91年

时触发检测log_action条目来保持。任何日志表使用log_action表引用文本通过ID应该添加表信息所以没有行动仍在使用将不小心删除了。例子

Piwik:: addAction (Db。getActionReferenceColumnsByTable’,函数(& $结果){$ tableNameUnprefixed =“log_example”;美元columnNameThatReferencesIdActionInLogActionTable =“idaction_example”;$ [$ tableNameUnprefixed] =结果数组($ columnNameThatReferencesIdActionInLogActionTable);});

回调函数签名:

函数(& $结果)
  • 数组& $结果

Db.getDatabaseConfig

中定义的Piwik / Db排队127年

建立一个数据库连接之前触发。这个事件可以用来更改设置用于建立一个连接。

回调函数签名:

函数(& dbConfig美元)
  • 数组*美元dbinfo引用一个数组,其中包含数据库连接信息,包括:

    - * *主* *:MySQL数据库的主机名或IP地址。- * *用户名* *:用户名连接到数据库时使用。- * * * *密码:密码连接到数据库时使用。* *:- * * dbname Matomo MySQL数据库的名称。- * * * *港口:MySQL数据库端口使用。- * *适配器* *:“PDO \ MYSQL”或“MYSQLI“- * * * *型:MYSQL引擎使用,例如“InnoDB”

Db.getTablesInstalled

中定义的Piwik / Db /模式/ Mysql排队477年

回调函数签名:

函数(& $ allMyTables]

用法:

AnonymousPiwikUsageMeasurement: getTablesInstalled,CustomAlerts: getTablesInstalled,CustomDimensions: getTablesInstalled,仪表板:getTablesInstalled,ExampleLogTables: getTablesInstalled,LanguagesManager: getTablesInstalled,PrivacyManager: getTablesInstalled,QueuedTracking: getTablesInstalled,ScheduledReports: getTablesInstalled,SegmentEditor: getTablesInstalled,TagManager: getTablesInstalled

Dimension.addDimensions

中定义的Piwik /列/维度排队720年

触发自动添加新的维度,无法拾起的平台。这是有用的,如果插件允许用户动态地创建报告/尺寸。例如CustomDimensions或CustomVariables。有一个变量的维度在这种情况下,它不会真的可能为其中的一个维度创建一个报告文件,因为它有多少自定义维度将是未知的。

例子

公共函数addDimension(& $维度){$维度[]= new MyCustomDimension ();}

回调函数签名:

函数(& $实例)
  • 美元的报告一个数组的维度

用法:

CustomDimensions: addDimensions,CustomVariables: addDimensions

Dimension.filterDimensions

中定义的Piwik /列/维度排队744年

触发过滤/限制的维度。例子

公共函数filterDimensions(& $维度){foreach($维度指数= >维美元){如果($维度- > getName() = = =页面URL){}复原($维度(美元指数));/ /删除这个维度}}}

回调函数签名:

函数(& $实例)
  • 美元的维度一个数组的维度

环境

Environment.bootstrapped

中定义的Piwik /应用程序/环境排队104年

反馈

Feedback.showQuestionBanner

中定义的Piwik /插件/反馈/反馈排队133年

回调函数签名:

函数(& $ shouldShowQuestionBanner]

文件系统

Filesystem.allCachesCleared

中定义的Piwik /文件系统排队55

毕竟非缓存清除触发(例如,通过缓存:明确的命令)。

FrontController

FrontController.modifyErrorPage

中定义的Piwik / ExceptionHandler排队188年

触发前Matomo错误页面是显示给用户。这个事件可以用来修改的内容显示错误页面出现异常时,抓住了。

回调函数签名:

函数(因此,美元&交货)
  • 字符串& $结果错误的HTML页面。

  • \例外美元的前女友除了显示在错误页面。

Http

Http.sendHttpRequest

中定义的Piwik / Http排队318年

触发发送一个HTTP请求。HTTP请求允许插件来解决自己或找到一个HTTP请求时触发记录这个信息例如监控工具。

回调函数签名:

函数(aUrl, httpEventParams美元,美元的反应,和地位,美元和美元头)
  • 字符串$ url需要请求的URL

  • 数组美元的参数HTTP参数——“httpMethod”(如GET、POST、…),——“身体”请求主体如果HTTP方法需要发布——“userAgent”——“超时”多少秒后请求应该时间——“头”字符串数组的头就像数组(接收语言:嗯,“…”)——“verifySsl”一个布尔值是否应该验证SSL证书——“destinationPath”如果设置HTTP请求的响应应该保存到该文件

  • 字符串& $响应一个插件听这个事件应该指定HTTP响应它收到了这个变量,例如“{值:true}”

  • 字符串和美元地位插件听这个事件应该将它收到HTTP状态代码分配给这个变量,例如“200”

  • 数组& $头插件听这个事件应该指定HTTP头收到这个变量,例如数组(内容长度' ' = > ' 5 ')

Http.sendHttpRequest.end

中定义的Piwik / Http排队804年

HTTP请求完成时触发。插件可以例如听听这和改变响应,状态代码,或者完成一个计时器插件是测量用了多长时间来执行请求

回调函数签名:

函数(aUrl, httpEventParams美元,美元的反应,和地位,美元和美元头)
  • 字符串$ url需要请求的URL

  • 数组美元的参数HTTP参数——“httpMethod”(如GET、POST、…),——“身体”请求主体如果HTTP方法需要发布——“userAgent”——“超时”多少秒后请求应该时间——“头”字符串数组的头就像数组(接收语言:嗯,“…”)——“verifySsl”一个布尔值是否应该验证SSL证书——“destinationPath”如果设置HTTP请求的响应应该保存到该文件

  • 字符串& $响应HTTP请求的响应,例如“{值:true}”

  • 字符串& $状态返回的HTTP状态码,例如“200”

  • 数组& $头返回的标题,例如数组(内容长度' ' = > ' 5 ')

的见解

Insights.addReportToOverview

中定义的Piwik /插件/观点/ API排队67年

触发收集所有报告都显示在“洞察力”和“运筹帷幄”综述报告。插件,需要添加新报告概述应该订阅这个事件并报告添加到传入的数组。API参数可以作为数组可选配置。

例子

公共函数addReportToInsightsOverview(& $报告){$报告[' Actions_getPageUrls '] =数组();报道[' Actions_getDownloads '] =美元阵列(“平”= > 1,“minGrowthPercent”= > 60);}

回调函数签名:

函数(& $报告)
  • 数组& $报告一个数组,其中包含一份报告惟一的id作为键和API参数作为数组值。

用法:

行动:addReportToInsightsOverview,MarketingCampaignsReporting: addReportToInsightsOverview,反向链接::addReportToInsightsOverview,UserCountry: addReportToInsightsOverview

安装

Installation.defaultSettingsForm.init

中定义的Piwik /插件/安装/控制器排队464年

触发初始化表单的定制默认Matomo设置(在安装过程)。

回调函数签名:

函数(美元)
  • \ Piwik \ Plugins \安装\ FormDefaultSettings美元的形式

用法:

GeoIp2: installationFormInit,PrivacyManager: installationFormInit

Installation.defaultSettingsForm.submit

中定义的Piwik /插件/安装/控制器排队475年

触发提交表单的定制默认Matomo设置(在安装过程)。

回调函数签名:

函数(美元)
  • \ Piwik \ Plugins \安装\ FormDefaultSettings美元的形式

用法:

GeoIp2: installationFormSubmit,PrivacyManager: installationFormSubmit

LanguagesManager

LanguagesManager.getAvailableLanguages

中定义的Piwik /插件/ LanguagesManager / API排队91年

钩之后调用加载可用语言文件。用这个钩子在Matomo定制languagesPath可用的列表。

回调函数签名:

函数(& $语言)
  • 数组

生活

Live.addProfileSummaries

中定义的Piwik /插件/生活/ ProfileSummaryProvider排队58

添加新的生活概要总结触发。例子

公共函数addProfileSummary (& $ profileSummaries) {$ profileSummaries [] = new MyCustomProfileSummary ();}

回调函数签名:

函数(& $实例)
  • \ ProfileSummaryAbstractprofileSummaries美元概要总结的数组

Live.addVisitorDetails

中定义的Piwik /插件/生活/访客排队70年

触发添加新访客的细节,不能被自动平台。例子

公共函数addVisitorDetails (& $ visitorDetails) {$ visitorDetails [] = new CustomVisitorDetails ();}

回调函数签名:

函数(& $实例)

Live.API.getIdSitesString

中定义的Piwik /插件/生活/模型排队449年

回调函数签名:

函数(& idSites美元)

Live.filterProfileSummaries

中定义的Piwik /插件/生活/ ProfileSummaryProvider排队80年

触发过滤/限制概要总结。例子

公共函数filterProfileSummary (& profileSummaries美元){foreach (profileSummaries美元指数= > profileSummary美元){如果($ profileSummary - > getId () = = = myid){}复原(profileSummaries美元(美元指数));/ /删除所有总结在这个ID}}}

回调函数签名:

函数(& $实例)
  • \ ProfileSummaryAbstractprofileSummaries美元概要总结的数组

Live.filterVisitorDetails

中定义的Piwik /插件/生活/访客排队98年

触发过滤/限制游客的细节。例子

公共函数filterVisitorDetails (& visitorDetails美元){foreach (visitorDetails美元指数= > visitorDetail美元){如果(大小写敏感(get_class (visitorDetail美元),MyPluginName) ! = = false){}复原(visitorDetails美元(美元指数));/ /删除所有访客细节为一个特定的插件}}}

回调函数签名:

函数(& $实例)

Live.makeNewVisitorObject

中定义的Piwik /插件/生活/ VisitorFactory排队39

触发在访问过滤插件。用户这个事件可以强制使用一个定制的访问者对象从\ Piwik \ Plugins \ \ VisitorInterface生活。

回调函数签名:

函数(& $访客,visitorRawData美元)
  • \ Piwik \ Plugins \ \生活VisitorInterface &访问者初始化为零美元,但是可以设置为一个新的访问者对象。如果不修改Matomo使用默认的类。

  • 数组visitorRawData美元原始数据使用游客对象的构造函数。

登录

Login.authenticate

中定义的Piwik /会议/ SessionInitializer排队58

回调函数签名:

函数($ auth - > getLogin ())

Login.authenticate

中定义的Piwik / Plugins /登录/ SessionInitializer排队128年

回调函数签名:

函数($ auth - > getLogin ())

Login.authenticate.failed

中定义的Piwik /会议/ SessionInitializer排队36

回调函数签名:

函数($ auth - > getLogin ())

用法:

登录:onFailedLoginRecordAttempt

Login.authenticate.failed

中定义的Piwik / Plugins /登录/ SessionInitializer排队106年

回调函数签名:

函数($ auth - > getLogin ())

用法:

登录:onFailedLoginRecordAttempt

Login.authenticate.successful

中定义的Piwik /会议/ SessionInitializer排队41

回调函数签名:

函数($ auth - > getLogin ())

用法:

登录:beforeLoginCheckBruteForce

Login.authenticate.successful

中定义的Piwik / Plugins /登录/ SessionInitializer排队111年

回调函数签名:

函数($ auth - > getLogin ())

用法:

登录:beforeLoginCheckBruteForce

Login.logout

中定义的Piwik /插件/登录/控制器排队523年

回调函数签名:

函数(Piwik: getCurrentUserLogin ())

Login.userRequiresPasswordConfirmation

中定义的Piwik / Piwik排队306年

触发,以检查是否需要用户密码确认。这个事件可用于自定义登录插件为某些用户跳过密码确认检查,如没有密码会可用。

注意:明智地使用这个事件。禁用密码确认降低了安全性。

回调函数签名:

函数(& requiresPasswordConfirmation美元,美元登录)
  • bool& $ requiresPasswordConfirmation表示是否应该检查密码

  • 字符串美元的登录登录用户的密码应该确认

用法:

LoginLdap: skipPasswordConfirmation

邮件

Mail.send

中定义的Piwik /邮件排队290年

这个事件发布之前发送的电子邮件。你可以用它来定制的电子邮件,例如,更换主题/身体,改变从地址,等等。

回调函数签名:

函数(邮件)
  • 邮件美元的邮件关于发送邮件实例。

Mail.shouldSend

中定义的Piwik /邮件排队402年

这个事件发布之前发送电子邮件。你可以用它来中止发送特定的电子邮件,如果你想要的。

回调函数签名:

函数(& shouldSendMail美元,美元的邮件)
  • bool & $ shouldSendMail是否发送这封邮件。设置为false跳过发送。

  • 邮件美元的邮件将发送的邮件实例。

MeasurableSettings

MeasurableSettings.updated

中定义的Piwik /设置/测量/ MeasurableSettings排队137年

一个插件设置更新后触发。例子

Piwik:: addAction (MeasurableSettings。更新”功能(MeasurableSettings设置美元){value =美元设置- > someSetting - > getValue ();/ /做一些新的设定值});

回调函数签名:

函数($,$ this - > idSite)
  • \设置美元的设置插件设置对象。

度规

Metric.addComputedMetrics

中定义的Piwik /列/ MetricsList排队152年

触发自动添加新的指标无法拾起的平台。这是有用的,如果插件允许用户动态地创建指标。例如CustomDimensions或CustomVariables。

例子

公共函数addMetric(& $列表){$列表- > addMetric(新MyCustomMetric ());}

回调函数签名:

函数(清单,computedFactory美元)
  • MetricsList美元的列表MetricsList的实例。你可以将指标添加到列表。

用法:

CoreHome: addComputedMetrics,电子商务:addComputedMetrics,目标::addComputedMetrics

Metric.addMetrics

中定义的Piwik /列/ MetricsList排队128年

触发自动添加新的指标无法拾起的平台。这是有用的,如果插件允许用户动态地创建指标。例如CustomDimensions或CustomVariables。

例子

公共函数addMetric(& $列表){$列表- > addMetric(新MyCustomMetric ());}

回调函数签名:

函数(列表)
  • MetricsList美元的列表MetricsList的实例。你可以将指标添加到列表。

用法:

目标::addMetrics

Metric.filterMetrics

中定义的Piwik /列/ MetricsList排队166年

触发筛选指标。例子

公共函数removeMetrics (Piwik \ \ MetricsList列列表美元){$列表- >删除类别($ = ' General_Visits ');/ /删除所有指标有这一类}

回调函数签名:

函数(列表)
  • MetricsList美元的列表MetricsList的实例。你可以改变的指标列表。

指标

Metrics.getDefaultMetricDocumentationTranslations

中定义的Piwik /指标排队502年

使用此事件注册翻译标准文档处理您的插件。

回调函数签名:

函数(& $翻译)
  • 字符串& $翻译column_name = > Plugin_TranslationForColumnDocumentation的数组映射

用法:

行动:addMetricDocumentationTranslations,内容::addMetricDocumentationTranslations,事件:addMetricDocumentationTranslations

Metrics.getDefaultMetricTranslations

中定义的Piwik /指标排队390年

使用此事件注册翻译指标处理你的插件。

回调函数签名:

函数(& $翻译)
  • 字符串& $翻译column_name = > Plugin_TranslationForColumn的数组映射

用法:

行动:addMetricTranslations,带宽:addMetricTranslations,内容::addMetricTranslations,DevicePlugins: addMetricTranslations,事件:addMetricTranslations,目标::addMetricTranslations,多点:addMetricTranslations,PagePerformance: addMetricTranslations,反向链接::getDefaultMetricTranslations,VisitFrequency: addMetricTranslations

Metrics.getEvolutionUnit

中定义的Piwik /指标排队324年

使用此事件定义单位自定义指标用于进化图和行。

回调函数签名:

函数(& $单位,列,美元idSite]
  • 字符串& $单位应持有单位(例如%,€,s或空字符串)

  • 字符串美元列的名字列来确定

  • 字符串idSite美元当前网站的id

用法:

带宽:getEvolutionUnit

Metrics.isLowerValueBetter

中定义的Piwik /指标排队281年

使用此事件定义,如果一个较低的值的指标更好。

回调函数签名:

函数(& isLowerBetter美元,美元列)
  • 字符串& $ isLowerBetter应该设置为一个布尔值表示如果低比较好

  • 字符串美元列的名字列来确定

例子

公共函数checkIsLowerMetricValueBetter (& $ isLowerBetter度量美元){如果($指标= = =“位置”){$ isLowerBetter = true;}}

用法:

PagePerformance: isLowerValueBetter

MobileMessaging

MobileMessaging.deletePhoneNumber

中定义的Piwik /插件/ MobileMessaging / API排队180年

电话号码已被删除后触发。这个事件应该被用来清理任何相关的数据现在删除电话号码。ScheduledReports插件,例如,使用这个事件把电话号码从所有报告来确保没有短信将发送到这个电话号码。例子

公共函数deletePhoneNumber ($ phoneNumber) {$ this - > unsubscribePhoneNumberFromScheduledReport ($ phoneNumber);}

回调函数签名:

函数(美元phoneNumber)
  • 字符串phoneNumber美元电话号码,只是删除。

用法:

CustomAlerts: removePhoneNumberFromAllAlerts,ScheduledReports: deletePhoneNumber

多点

MultiSites.filterRowsForTotalsCalculation

中定义的Piwik /插件/多站点/ API排队563年

触发过滤/限制这行应该纳入到多点(所有网站仪表板)总额计算例子

公共函数filterMultiSitesRows(& $行){foreach(行美元指数= >行)美元{如果($行- > getColumn('标签')= = = 5){复原($行(美元指数));/ /删除idSite 5从总数}}}

回调函数签名:

函数(& $行)
  • \行& $行数组包含行,每一行的网站。等于idSite标签列。

平台

Platform.initialized

中定义的Piwik /插件/ Widgetize /测试/系统/部件排队63年

用法:

插件:detectIsApiRequest,CoreUpdater: updateCheck,LanguagesManager: initLanguage,UsersManager: onPlatformInitialized

Platform.initialized

中定义的Piwik / FrontController排队459年

平台初始化后触发用户已经通过身份验证之后,但在平台处理请求。Matomo使用这个事件来检查Matomo的更新。

用法:

插件:detectIsApiRequest,CoreUpdater: updateCheck,LanguagesManager: initLanguage,UsersManager: onPlatformInitialized

PluginManager

PluginManager.pluginActivated

中定义的Piwik /插件/经理排队723年

事件触发后插件被激活。

回调函数签名:

函数(pluginName美元)
  • 字符串pluginName美元插件被激活。

用法:

CorePluginsAdmin: onPluginActivated,CustomJsTracker: updateTracker,TagManager: onPluginActivateOrInstall

PluginManager.pluginDeactivated

中定义的Piwik /插件/经理排队553年

事件触发后插件被禁用。

回调函数签名:

函数(pluginName美元)
  • 字符串pluginName美元这个插件已经被关闭了。

用法:

CustomJsTracker: updateTracker,TagManager: onPluginActivateOrInstall

PluginManager.pluginInstalled

中定义的Piwik /插件/经理排队1389年

事件触发后,一个新的插件已经安装。注意:可能引发了不止一次,如果配置文件不是可写的

回调函数签名:

函数(pluginName美元)
  • 字符串pluginName美元已安装的插件。

用法:

CorePluginsAdmin: addPluginChanges,CustomJsTracker: updateTracker,TagManager: onPluginActivateOrInstall

PluginManager.pluginUninstalled

中定义的Piwik /插件/经理排队642年

事件触发后插件已经被卸载。

回调函数签名:

函数(pluginName美元)
  • 字符串pluginName美元已经卸载的插件。

用法:

CorePluginsAdmin: removePluginChanges,CustomJsTracker: updateTracker,TagManager: onPluginActivateOrInstall

PrivacyManager

PrivacyManager.deleteDataSubjects

中定义的Piwik /插件/ PrivacyManager /模型/ DataSubjects排队120年

让你删除数据对象让你的插件GDPR兼容。这可能是有用的,如果你开发了一个插件存储任何数据的访问,但不使用任何核心逻辑来存储这些数据。如果核心API的使用,例如日志表,数据可能会被自动删除。

例子

因此,美元公共职能deleteDataSubjects (& visitsToDelete) {$ numDeletes = $ this - > deleteVisits (visitsToDelete美元)结果['并且']= numDeletes美元;}

回调函数签名:

函数(& $ results,美元访问)
  • 数组和数组$ results存储多少数据被删除的结果。

  • 与多个访问数组& $访问数组包含idvisit和idsite每个条目。这些访问请求的数据被删除。

PrivacyManager.deleteLogsOlderThan

中定义的Piwik /插件/ PrivacyManager / LogDataPurger排队104年

插件时会触发应该删除日志/原始数据,超过一定数量的天。例子

公共函数deleteLogsOlderThan (dateUpperLimit, deleteLogsOlderThan美元){Db:查询(“删除从mytable creation_date <”。$ dateUpperLimit - > getDateTime ());}

回调函数签名:

函数(dateUpperLimit, deleteLogsOlderThan美元)
  • 日期dateUpperLimit美元在此之前发生的一个日期,访问应该删除。

  • intdeleteLogsOlderThan美元的天数后日志条目被认为是老了。访问和相关数据的年龄大于这个数字将被清除。

PrivacyManager.exportDataSubjects

中定义的Piwik /插件/ PrivacyManager /模型/ DataSubjects排队448年

让你充实数据导出为一个或多个数据对象让你的插件GDPR兼容。这可能是有用的,如果你开发了一个插件存储任何数据的访问,但不使用任何核心逻辑来存储这些数据。如果核心API的使用,例如日志表,数据可能被自动导出。

例子

公共函数exportDataSubjects(进出口,visitsToExport美元){$出口['并且']=数组();foreach (visitsToExport访问美元美元){出口美元['并且'][]=“导出数据”;}}

回调函数签名:

函数(& $ results,美元访问)
  • & $ results数组包含导出的数据对象的一个数组。

  • 与多个访问数组& $访问数组包含idvisit和idsite每个条目。这些访问请求的数据被导出。

PrivacyManager.shouldIgnoreDnt

中定义的Piwik /插件/ PrivacyManager / DoNotTrackHeaderChecker排队76年

回调函数签名:

函数(& shouldIgnore美元)

提供者

Provider.getCleanHostname

中定义的Piwik /插件/供应商/供应商排队89年

时触发美化了主机名的字符串。这个事件可用于自定义主机名的方式是显示在供应商报告。

例子

公共函数getCleanHostname (& cleanHostname美元,美元主机名){如果(“fvae.VARG.ceaga.site.co.jp”= = $主机名){$ cleanHostname =“site.co.jp”;}}

回调函数签名:

函数(& cleanHostname美元,美元的主机名)
  • & $ cleanHostname主机名字符串显示字符串。设定的事件处理程序。

  • 字符串美元的主机名完整的主机名。

介绍人

Referrer.addSearchEngineUrls

中定义的Piwik /插件/反向链接/引擎排队64年

回调函数签名:

函数(& $ this - > definitionList)

Referrer.addSocialUrls

中定义的Piwik /插件/反向链接/社会排队62年

回调函数签名:

函数(& $ this - > definitionList)

报告

Report.addReports

中定义的Piwik /插件/ ReportsProvider排队142年

触发自动添加新的报道称,无法拾起的平台。这是有用的,如果插件允许用户动态地创建报告/尺寸。例如CustomDimensions或CustomVariables。有一个变量的维度在这种情况下,它不会真的可能为其中的一个维度创建一个报告文件,因为它有多少自定义维度将是未知的。

例子

公共函数addReport(& $报告){$报告[]= new MyCustomReport ();}

回调函数签名:

函数(& $实例)
  • 报告美元的报告一个数组的报告

用法:

CustomDimensions: addReports

Report.filterReports

中定义的Piwik /插件/ ReportsProvider排队164年

触发过滤/限制报告。例子

公共函数filterReports(& $报告){foreach(美元指数= >报告报告)美元{如果($报告- > getCategoryId () = = = General_Actions){复原($(美元指数)报告);/ /删除所有报告在这个动作}}}

回调函数签名:

函数(& $实例)
  • 报告美元的报告一个数组的报告

用法:

MarketingCampaignsReporting: removeOriginalCampaignReport

Report.unsubscribe

中定义的Piwik /插件/ ScheduledReports / SubscriptionModel排队91年

回调函数签名:

函数(reportfunction美元(' idreport '],美元的电子邮件)

请求

Request.dispatch

中定义的Piwik /插件/ SitesManager /测试/集成/ SitesManagerTest排队92年

回调函数签名:

函数(& $模块,和行动,美元和美元params)

用法:

CustomAlerts: checkControllerPermission,安装::dispatchIfNotInstalledYet,LanguagesManager: initLanguage,SitesManager: redirectDashboardToWelcomePage

Request.dispatch

中定义的Piwik /插件/ SitesManager /测试/集成/ SitesManagerTest排队112年

回调函数签名:

函数(& $模块,和行动,美元和美元params)

用法:

CustomAlerts: checkControllerPermission,安装::dispatchIfNotInstalledYet,LanguagesManager: initLanguage,SitesManager: redirectDashboardToWelcomePage

Request.dispatch

中定义的Piwik /插件/ SitesManager /测试/集成/ SitesManagerTest排队132年

回调函数签名:

函数(& $模块,和行动,美元和美元params)

用法:

CustomAlerts: checkControllerPermission,安装::dispatchIfNotInstalledYet,LanguagesManager: initLanguage,SitesManager: redirectDashboardToWelcomePage

Request.dispatch

中定义的Piwik /插件/ SitesManager /测试/集成/ SitesManagerTest排队152年

回调函数签名:

函数(& $模块,和行动,美元和美元params)

用法:

CustomAlerts: checkControllerPermission,安装::dispatchIfNotInstalledYet,LanguagesManager: initLanguage,SitesManager: redirectDashboardToWelcomePage

Request.dispatch

中定义的Piwik /插件/ SitesManager /测试/集成/ SitesManagerTest排队173年

回调函数签名:

函数(& $模块,和行动,美元和美元params)

用法:

CustomAlerts: checkControllerPermission,安装::dispatchIfNotInstalledYet,LanguagesManager: initLanguage,SitesManager: redirectDashboardToWelcomePage

Request.dispatch

中定义的Piwik / FrontController排队617年

直接触发控制器之前行动派。这个事件可以用来修改的参数传递到一个或多个控制器动作,可以用来改变控制器动作被派去。

回调函数签名:

函数(& $模块,和行动,美元和美元参数)
  • 字符串& $模块插件的名称被派去。

  • 字符串& $行动被派往控制器方法的名称。

  • & $参数数组的参数传递给控制器动作。

用法:

CustomAlerts: checkControllerPermission,安装::dispatchIfNotInstalledYet,LanguagesManager: initLanguage,SitesManager: redirectDashboardToWelcomePage

Request.dispatch.end

中定义的Piwik /插件/ TwoFactorAuth /测试/系统/ TwoFactorAuthTest排队64年

回调函数签名:

函数(& $ html、“模块”、“行动”,函数())

Request.dispatch.end

中定义的Piwik / FrontController排队662年

触发控制器动作成功后调用。这个事件可以用来修改控制器动作输出(如果有的话)之前返回的输出。

回调函数签名:

函数(因此,美元和模块,行动,美元美元参数)
  • 混合& $ result控制器动作的结果。

  • 数组美元的参数参数传递给控制器动作。

Request.dispatchCoreAndPluginUpdatesScreen

中定义的Piwik / FrontController排队385年

触发后初始化平台和插件加载。这个事件可以用来做初始化。

注意:在这一点上,用户还没有经过身份验证的。

用法:

CoreUpdater:调度,LanguagesManager: initLanguage

Request.getRenamedModuleAndAction

中定义的Piwik / API /请求排队173年

这个事件发布在请求调度程序,可以用来覆盖调度模块和行动。这是一些有用的控制器方法或API方法重命名或者移动到另一个插件。

回调函数签名:

函数(和模块,美元和美元的行动)
  • & $模块字符串

  • & $行动字符串

用法:

反向链接::renameDeprecatedModuleAndAction,RssWidget: renameExampleRssWidgetModule,ScheduledReports: renameDeprecatedModuleAndAction

Request.initAuthenticationObject

中定义的Piwik /插件/ API /测试/集成/ APITest排队87年

用法:

登录:onInitAuthenticationObject,LoginLdap: initAuthenticationObject

Request.initAuthenticationObject

中定义的Piwik /插件/ BulkTracking /追踪/处理程序排队125年

用法:

登录:onInitAuthenticationObject,LoginLdap: initAuthenticationObject

Request.initAuthenticationObject

中定义的Piwik /追踪/请求排队218年

用法:

登录:onInitAuthenticationObject,LoginLdap: initAuthenticationObject

Request.initAuthenticationObject

中定义的Piwik /控制台排队302年

用法:

登录:onInitAuthenticationObject,LoginLdap: initAuthenticationObject

Request.initAuthenticationObject

中定义的Piwik / FrontController排队744年

引发用户身份验证之前,当全球应该创建身份验证对象。提供自己的身份验证插件实现应该利用这一事件来设置全局身份验证对象(必须来自身份验证)。

例子

Piwik: addAction(“请求。initAuthenticationObject’, function () {StaticContainer: getContainer() - >设置(“Piwik \身份验证”,新的MyAuthImplementation ());});

用法:

登录:onInitAuthenticationObject,LoginLdap: initAuthenticationObject

Request.shouldDisablePostProcessing

中定义的Piwik / API /请求排队696年

后一个API方法返回一个值,该值后加工(如行排序的基础上filter_sort_column查询参数,行被截断的基础上filter_limit/filter_offset参数,还有其他一些东西)。如果你创建一个插件,需要完全禁用后置处理特定的请求,使用这个事件。

回调函数签名:

函数(& $ shouldDisable, $ this - >请求)
  • bool & $ shouldDisable设置为true来禁用datatable post处理一个请求。

  • 数组美元的请求请求参数。

用法:

PrivacyManager: shouldDisablePostProcessing

ScheduledReports

ScheduledReports.allowMultipleReports

中定义的Piwik /插件/ ScheduledReports / API排队958年

触发,当我们确定计划报告传输介质可以处理发送多个Matomo报告在一个预定的报告。插件,提供自己的传输媒介应该利用这一事件来指定他们的后端是否可以发送多个Matomo报告一次。

回调函数签名:

函数(& allowMultipleReports美元,美元reportType]
  • bool & $ allowMultipleReports后端类型是否可以处理多个Matomo报告。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

用法:

MobileMessaging: allowMultipleReports,ScheduledReports: allowMultipleReports

ScheduledReports.getRendererInstance

中定义的Piwik /插件/ ScheduledReports / API排队553年

触发时,获得一个渲染器实例的基础上,计划报告输出格式。插件,提供新的计划报告输出格式应该利用这一事件来处理他们的新报告格式。

回调函数签名:

函数(& $ reportRenderer reportType美元,outputType美元,美元报告)
  • \ ReportRenderer & $ ReportRenderer这个变量应该设置为一个实例扩展\ Piwik \ ReportRenderer通过一个事件的订阅者。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

  • 字符串outputType美元报告的输出格式,例如,“html”,“pdf”等。

  • 数组& $报告一个数组描述生成的计划报告。

用法:

MobileMessaging: getRendererInstance,ScheduledReports: getRendererInstance

ScheduledReports.getReportFormats

中定义的Piwik /插件/ ScheduledReports / API排队1005年

收集所有可用的计划报告格式时触发。插件,提供自己的计划报告格式应该利用这一事件让他们可用的格式。

回调函数签名:

函数(& reportFormats美元,美元reportType]
  • 数组& $ reportFormats映射数组字符串id为每个可用的计划报告格式图标路径的格式。你的新格式的ID添加到这个数组。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

用法:

MobileMessaging: getReportFormats,ScheduledReports: getReportFormats

ScheduledReports.getReportMetadata

中定义的Piwik /插件/ ScheduledReports / API排队930年

TODO:改变这一事件所以它返回一个元数据API方法而不是报告列表数组。触发收集Matomo报告列表时,可以使用一个传输介质。

插件,提供自己的传输媒介应该利用这一事件来列出Matomo报告说,他们的后台支持。

回调函数签名:

函数(& $ availableReportMetadata reportType美元,美元idSite]
  • 数组& $ availableReportMetadata数组包含元数据为每个支持的报告。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

  • intidSite美元网站我们的ID可用的报告。

用法:

MobileMessaging: getReportMetadata,ScheduledReports: getReportMetadata

ScheduledReports.getReportParameters

中定义的Piwik /插件/ ScheduledReports / API排队760年

时触发计划报告收集可用的参数类型。插件,提供自己的计划报告传输媒介应该使用这个事件列出可用的报表参数的传输介质。

回调函数签名:

函数(& availableParameters美元,美元reportType]
  • 数组& $ availableParameters这份报告的可用参数列表类型。这是一个地图和一个布尔参数id数组表示是否参数是强制性的。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

用法:

MobileMessaging: getReportParameters,ScheduledReports: getReportParameters

ScheduledReports.getReportRecipients

中定义的Piwik /插件/ ScheduledReports / API排队1036年

时触发计划报告的收件人列表。插件,提供自己的计划报告传输媒介应该利用这一事件来提取收件人列表中后台的具体计划报表格式。

回调函数签名:

函数(&接受美元,美元reportfunction('类型'],美元报告]
  • 数组和接收一个字符串数组描述每一个美元计划报告接受者。可以,例如,一个电子邮件地址或电话号码列表或者其他插件使用。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

  • 数组美元的报告一个数组描述生成的计划报告。

用法:

MobileMessaging: getReportRecipients,ScheduledReports: getReportRecipients

ScheduledReports.getReportTypes

中定义的Piwik /插件/ ScheduledReports / API排队981年

时触发收集所有可用的传输媒介。插件,提供自己的传输媒介应该使用这个事件中可用。

回调函数签名:

函数(& $ reportTypes]
  • 传输介质id数组& $ reportTypes数组映射路径的这些媒介的图标。添加新的后端ID数组。

用法:

MobileMessaging: getReportTypes,ScheduledReports: getReportTypes

ScheduledReports.processReports

中定义的Piwik /插件/ ScheduledReports / API排队531年

生成计划报告的内容时触发。这个事件可以用来修改数据或报告元数据的一个或多个报告计划报告,之前计划报告呈现和传递。

TODO:美元报告中可用数据列表或一个新类,可以记录(所有其他事件,使用美元的报告)

回调函数签名:

函数(& $ processedReports reportType美元,outputType美元,美元报告)
  • 数组& $ processedReports处理列表的报道计划报告。为每个报告条目包含报告数据和元数据。

  • 字符串reportType美元字符串ID描述如何将报告将被发送,如“短信”“电子邮件”

  • 字符串outputType美元报告的输出格式,例如,“html”,“pdf”等。

  • 数组美元的报告一个数组描述生成的计划报告。

用法:

PagePerformance: processReports,ScheduledReports: processReports

ScheduledReports.sendReport

中定义的Piwik /插件/ ScheduledReports / API排队695年

时触发发送计划报告。插件,提供新的计划报告传输媒介应该使用这个事件发送计划报告。

回调函数签名:

函数(& reportType美元,美元的报告,内容,美元$ filename = basename (outputFilename美元),$ prettyDate reportSubject美元,美元reportTitle, additionalFiles美元\ Piwik \时期\工厂::构建(reportfunction美元(' period_param '],美元日期),迫使美元)
  • 字符串& $ reportTypeID字符串描述报告发送,如“短信”“电子邮件”

  • 数组& $报告一个数组描述生成的计划报告。

  • 字符串美元的内容定期生成报告的内容,现在应该发送。

  • 字符串美元的文件名定期报告的文件路径已经保存。

  • 字符串prettyDate美元他们日期字符串中的数据定期报告。

  • 字符串reportSubject美元一个字符串描述的计划报告。

  • 字符串reportTitle美元给出的计划报告的标题(由Matomo用户)。

  • 数组additionalFiles美元附加文件的列表应该发送报告。

  • 美元的时期已生成的报告。

  • 布尔美元的力量每段只能发送一次报告。设置为true将迫使发送报告,即使它已经被发送。

用法:

MobileMessaging: sendReport,ScheduledReports: sendReport

ScheduledReports.validateReportParameters

中定义的Piwik /插件/ ScheduledReports / API排队787年

预定时触发验证参数报告。插件,提供自己的计划报告后端应该利用这一事件来验证自定义参数定义ScheduledReports:: getReportParameters ()。

回调函数签名:

函数(参数,美元& reportType]
  • 数组& $参数参数列表的计划报告。

  • 字符串reportType美元ID字符串描述报告发送,如“短信”“电子邮件”

用法:

MobileMessaging: validateReportParameters,ScheduledReports: validateReportParameters

ScheduledTasks

ScheduledTasks.execute

中定义的Piwik /调度器/调度器排队305年

直接触发之前预定的任务执行

回调函数签名:

函数(& $任务)
  • 任务& $任务将要执行的任务

ScheduledTasks.execute.end

中定义的Piwik /调度器/调度器排队332年

预定的任务是成功执行后触发。您可以使用事件例如执行另一个任务时执行一个特定任务或清理某些资源。

回调函数签名:

函数(& $任务)
  • 任务& $任务只是执行的任务

ScheduledTasks.shouldExecuteTask

中定义的Piwik /调度器/调度器排队149年

执行任务前触发。一个插件可以听和修改是否应该执行特定的任务。这样你可以强制执行某些任务或例如从未执行。

回调函数签名:

函数(& shouldExecuteTask美元,美元的任务)
  • bool & $ shouldExecuteTask决定是否将执行的任务。

  • 任务美元的任务将要执行的任务。

Segment.addSegments

中定义的Piwik /部分/ SegmentsList排队129年

添加自定义部分定义触发。例子

公共函数addSegments(& $段){$段= new段();$段- > setSegment (“my_segment_name”);$段- > setType(段::TYPE_DIMENSION);$段- > setName(“我的部分名称”);$段- > setSqlSegment (“log_table.my_segment_name”);段[]=美元段;}

回调函数签名:

函数(列表)
  • SegmentsList美元的列表SegmentsList的实例。您可以将部分添加到列表。

Segment.filterSegments

中定义的Piwik /部分/ SegmentsList排队147年

过滤段定义触发。例子

公共函数filterSegments (& segmentList美元){$ segmentList - >删除(类别);}

回调函数签名:

函数(列表)

SegmentEditor

SegmentEditor.deactivate

中定义的Piwik /插件/ SegmentEditor / API排队217年

前一段是删除或无形的触发。这个事件可以通过插件抛出异常或者做其他的事情。

回调函数签名:

函数(idSegment美元)
  • intidSegment美元段的ID被删除。

用法:

ScheduledReports: segmentDeactivation

SegmentEditor.update

中定义的Piwik /插件/ SegmentEditor / API排队271年

一段被修改之前触发。这个事件可以通过插件抛出异常或者做其他的事情。

回调函数签名:

函数(idSegment,绑定美元)
  • intidSegment美元段的ID,能见度降低。

用法:

ScheduledReports: segmentUpdated

Segments.getKnownSegmentsToArchiveAllSites

中定义的Piwik / SettingsPiwik排队103年

触发cron归档过程中收集所有网站应该预处理段。归档过程将启动归档数据时的每一个片段。这个事件可以用来添加段预处理。如果你的插件依赖于数据从一个特定的部分,这个事件可以用来提供增强的性能。

注意:如果您想添加一个部分由用户管理、使用SegmentEditor API。

例子

Piwik: addAction(“段。getKnownSegmentsToArchiveAllSites’,函数(& $段){$段[]=“东京国家= jp;城市=”;});

回调函数签名:

函数(& segmentsToProcess美元)
  • 数组& $ segmentsToProcess组定义列表,如

    阵列(“browserCode = ff;分辨率= 800 x600 ', '国家= jp;城市东京= ')段添加到这个数组在您的事件处理程序。

用法:

SegmentEditor: getKnownSegmentsToArchiveAllSites

Segments.getKnownSegmentsToArchiveForSite

中定义的Piwik / SettingsPiwik排队153年

cron归档过程中触发收集应预处理段为一个特定的网站。归档的过程将启动归档数据时的每一个片段一个站点。这个事件可以用来添加段是一个站点的预处理。

注意:如果您想添加一个部分由用户管理,您应该使用SegmentEditor API。

例子

Piwik: addAction(“段。getKnownSegmentsToArchiveForSite’,函数(& $段,idSite美元){$段[]=“东京国家= jp;城市=”;});

回调函数签名:

函数(& $段,idSite美元)
  • 数组& $ segmentsToProcess组定义列表,如

    阵列(“browserCode = ff;分辨率= 800 x600 ', '国家= JP;城市东京= ')段添加到这个数组在您的事件处理程序。
  • intidSite美元网站获得部分的ID。

用法:

SegmentEditor: getKnownSegmentsToArchiveForSite

搜索引擎优化

SEO.getMetricsProviders

中定义的Piwik /插件/ SEO /标准/聚合器排队59

使用这个事件注册新的搜索引擎优化指标提供者。

回调函数签名:

函数(& $提供者]
  • 数组& $提供者包含一个数组Piwik \ Plugins \ SEO \度量\ MetricsProvider实例。

SitesManager

SitesManager.addSite.end

中定义的Piwik /插件/ SitesManager / API排队748年

触发后的网站已被添加。

回调函数签名:

函数($ idSite]
  • intidSite美元添加网站的ID。

用法:

TagManager: onSiteAdded

SitesManager.deleteSite.end

中定义的Piwik /插件/ SitesManager / API排队861年

网站已经被删除后触发。插件可以使用此事件删除站点特定的值或设置,如去除所有目标,属于一个特定的网站。如果您存储任何数据相关的网站你应该清理这些信息。

回调函数签名:

函数($ idSite]
  • intidSite美元网站的ID被删除。

用法:

CustomAlerts: deleteAlertsForSite,CustomDimensions: deleteCustomDimensionDefinitionsForSite,目标::deleteSiteGoals,ScheduledReports: deleteSiteReport,SegmentEditor: onDeleteSite,SitesManager: onSiteDeleted,TagManager: onSiteDeleted,UsersManager: deleteSite

SitesManager.getImageTrackingCode

中定义的Piwik /插件/ SitesManager / API排队222年

时触发生成图像链接跟踪代码服务器端。插件可以使用这个事件定制图像跟踪代码,显示给用户。

回调函数签名:

函数(& $ piwikUrl & $ urlParams]
  • 字符串& $ piwikHost Matomo域和URL路径安装,如'examplepiwik.com/path/to/piwik'

  • 数组& $ urlParams中使用的查询参数元素的src URL。看到Matomo图像跟踪文档的更多信息。

SitesManager.shouldPerformEmptySiteCheck

中定义的Piwik /插件/ SitesManager / SitesManager排队149年

发布前检查显示“没有数据记录”信息。如果你的可衡量的不应该访问,您可以使用此事件,以确保消息不会显示。

回调函数签名:

函数(& shouldPerformEmptySiteCheck美元,美元siteId]
  • bool & shouldPerformEmptySiteCheck美元将这个值设置为true来执行检查,如果否则假。

  • intsiteId美元网站的ID执行检查。

SitesManager.showMatomoLinksInTrackingCodeEmail

中定义的Piwik /插件/安装/控制器排队400年

回调函数签名:

函数(& showMatomoLinks美元)

系统

System.addSystemSummaryItems

中定义的Piwik /插件/ CoreHome / widget / GetSystemSummary排队66年

添加触发系统总结项显示在系统总结小部件。例子

公共函数addSystemSummaryItem (& $ systemSummary) {$ numUsers = 5;systemSummary美元[]=新systemSummary \项(键=“用户的美元,Piwik:翻译(General_NUsers, numUsers美元),美元价值= null,数组(“模块”= >“UsersManager”,“行动”= >“索引”),图标美元= ' icon-user ');}

回调函数签名:

函数(& systemSummary美元)
  • \项目& $ systemSummary数组包含系统总结项目。

用法:

CoreAdminHome: addSystemSummaryItems,CorePluginsAdmin: addSystemSummaryItems,目标::addSystemSummaryItems,SegmentEditor: addSystemSummaryItems,SitesManager: addSystemSummaryItems,TagManager: addSystemSummaryItems,UsersManager: addSystemSummaryItems

System.filterSystemSummaryItems

中定义的Piwik /插件/ CoreHome / widget / GetSystemSummary排队One hundred.

引发了过滤系统总结项显示在系统总结小部件。一种插件也可能系统总结项目不同。例子

公共函数filterSystemSummaryItems (& systemSummary美元){foreach (systemSummaryItems美元美元指数= > $ item){如果($项目& & $ item - > getKey() = = =“用户”){systemSummaryItems美元(美元指数)=零;}}}

回调函数签名:

函数(& systemSummary美元)
  • \项目& $ systemSummary数组包含系统总结项目。

SystemSettings

SystemSettings.updated

中定义的Piwik /设置/插件/ SystemSettings排队106年

系统设置更新后触发。例子

Piwik:: addAction (SystemSettings。更新”,函数(SystemSettings设置美元){如果(设置- > getPluginName美元()= = = PluginName) {$ value = $设置- > someSetting - > getValue ();/ /做一些新的设定值}});

回调函数签名:

函数(美元)
  • \设置美元的设置插件设置对象。

TagManager

TagManager.addTags

中定义的Piwik /插件/ TagManager /模板/标签/ TagsProvider排队91年

添加自定义标记事件。过滤标签看一看TagManager.filterTags事件。例子

公共函数addTags(& $标签){$标记[]= new MyCustomTag ();}

回调函数签名:

函数(& $标签)
  • BaseTag& $标记数组包含标签的列表。

TagManager.addTriggers

中定义的Piwik /插件/ TagManager /模板/触发/ TriggersProvider排队90年

事件添加自定义触发器。过滤触发看一下TagManager.filterTriggers事件。例子

公共函数addTriggers(&触发美元){$触发[]= new MyCustomTrigger ();}

回调函数签名:

函数(& $触发)
  • BaseTrigger& $触发一个数组,其中包含一组触发器。

TagManager.addVariables

中定义的Piwik /插件/ TagManager /模板/变量/ VariablesProvider排队106年

事件添加自定义变量。过滤变量看一看TagManager.filterVariables事件。例子

公共函数addVariables(& $变量){$变量[]= new MyCustomVariable ();}

回调函数签名:

函数(& $变量)

TagManager.containerFileChanged

中定义的Piwik /插件/ TagManager /背景/存储/文件系统排队33

引发插件可以检测到更改的文件,例如同步到其他服务器。

回调函数签名:

函数(名称)

TagManager.containerFileDeleted

中定义的Piwik /插件/ TagManager /背景/存储/文件系统排队44

所以插件可以触发检测删除文件,例如同步到其他服务器。

回调函数签名:

函数(名称)

TagManager.deleteContainer.end

中定义的Piwik /插件/ TagManager / API排队1146年

回调函数签名:

函数(函数(“idSite”= > idSite美元,“idContainer”= > idContainer美元))

TagManager.deleteContainerTag.end

中定义的Piwik /插件/ TagManager / API排队545年

回调函数签名:

函数(函数(“idSite”= > idSite美元,“idContainer”= > idContainer美元,“idContainerVersion”= > idContainerVersion美元,“idTag”= > idTag美元))

TagManager.deleteContainerTrigger.end

中定义的Piwik /插件/ TagManager / API排队700年

回调函数签名:

函数(函数(“idSite”= > idSite美元,“idContainer”= > idContainer美元,“idContainerVersion”= > idContainerVersion美元,“idTrigger”= > idTrigger美元))

TagManager.deleteContainerVariable.end

中定义的Piwik /插件/ TagManager / API排队936年

回调函数签名:

函数(函数(“idSite”= > idSite美元,“idContainer”= > idContainer美元,“idContainerVersion”= > idContainerVersion美元,“idVariable”= > idVariable美元))

TagManager.deleteContainerVersion.end

中定义的Piwik /插件/ TagManager / API排队1101年

回调函数签名:

函数(函数(“idSite”= > idSite美元,“idContainer”= > idContainer美元,“idContainerVersion”= > idContainerVersion美元))

TagManager.filterTags

中定义的Piwik /插件/ TagManager /模板/标签/ TagsProvider排队124年

触发过滤/限制标记。例子

公共函数filterTags(& $标签){foreach(美元指数= >标签标记美元){如果($标签- > getId () = = = CustomHtml){}复原($标签(美元指数));/ /删除标签在这个ID}}}

回调函数签名:

函数(& $标签)
  • BaseTag& $标记数组包含标签的列表。

TagManager.filterTriggers

中定义的Piwik /插件/ TagManager /模板/触发/ TriggersProvider排队123年

事件过滤/限制触发器。例子

公共函数filterTriggers(&触发美元){foreach(触发美元指数= >触发美元){如果($触发- > getId () = = = CustomJs){}复原($触发器(美元指数));/ /删除触发器有这个ID}}}

回调函数签名:

函数(& $触发)
  • BaseTrigger& $触发一个数组,其中包含一组触发器。

TagManager.filterVariables

中定义的Piwik /插件/ TagManager /模板/变量/ VariablesProvider排队140年

事件过滤/限制变量。例子

公共函数filterVariables(& $变量){foreach(变量指数= >美元$变量){如果($变量- > getId () = = = CustomVariable){}未设置的变量($(美元指数));/ /删除变量在这个ID}}}

回调函数签名:

函数(& $变量)

TagManager.regenerateContainerReleases

中定义的Piwik /插件/ TagManager /命令/ RegenerateContainers排队30.

回调函数签名:

函数($ onlyPreview]

用法:

TagManager: regenerateReleasedContainers

模板

Template.afterCustomVariablesReport

中定义的Piwik /插件/ CustomVariables /报告/ GetCustomVariables排队68年

回调函数签名:

函数(& $)

用法:

ProfessionalServices: getCustomVariablesPromo

Template.afterReferrerTypeReport

中定义的Piwik /插件/反向链接/报告/ GetReferrerType排队124年

回调函数签名:

函数(& $)

用法:

ProfessionalServices: getReferrerTypePromo

Template.beforeGoalListActionsBody

中定义的Piwik /插件/目标/控制器排队154年

回调函数签名:

函数(& str美元,美元目标]

Template.beforeGoalListActionsHead

中定义的Piwik /插件/目标/控制器排队163年

回调函数签名:

函数(& $ str]

Template.endGoalEditTable

中定义的Piwik /插件/目标/控制器排队169年

回调函数签名:

函数(& $ str]

Template.jsGlobalVariables

中定义的Piwik /插件/ AnonymousPiwikUsageMeasurement /测试/集成/ AnonymousPiwikUsageMeasurementTest排队75年

回调函数签名:

函数(& $)

用法:

AnonymousPiwikUsageMeasurement: addMatomoClientTracking,CoreAdminHome: addJsGlobalVariables,LanguagesManager: jsGlobalVariables,生活:addJsGlobalVariables,过渡:addJsGlobalVariables

Template.jsGlobalVariables

中定义的Piwik /插件/ AnonymousPiwikUsageMeasurement /测试/集成/ AnonymousPiwikUsageMeasurementTest排队90年

回调函数签名:

函数(& $)

用法:

AnonymousPiwikUsageMeasurement: addMatomoClientTracking,CoreAdminHome: addJsGlobalVariables,LanguagesManager: jsGlobalVariables,生活:addJsGlobalVariables,过渡:addJsGlobalVariables

Template.jsGlobalVariables

中定义的Piwik /插件/ AnonymousPiwikUsageMeasurement /测试/集成/ AnonymousPiwikUsageMeasurementTest排队103年

回调函数签名:

函数(& $)

用法:

AnonymousPiwikUsageMeasurement: addMatomoClientTracking,CoreAdminHome: addJsGlobalVariables,LanguagesManager: jsGlobalVariables,生活:addJsGlobalVariables,过渡:addJsGlobalVariables

Template.jsGlobalVariables

中定义的Piwik /插件/ AnonymousPiwikUsageMeasurement /测试/集成/ AnonymousPiwikUsageMeasurementTest排队120年

回调函数签名:

函数(& $)

用法:

AnonymousPiwikUsageMeasurement: addMatomoClientTracking,CoreAdminHome: addJsGlobalVariables,LanguagesManager: jsGlobalVariables,生活:addJsGlobalVariables,过渡:addJsGlobalVariables

之旅

Tour.filterChallenges

中定义的Piwik /插件/旅游/订婚/挑战排队114年

引发了新的挑战添加到“欢迎来到Matomo之旅”。例子

公共函数addChallenge(&挑战美元){挑战美元[]= new MyChallenge ();}

回调函数签名:

函数(&挑战美元)
  • 挑战& $挑战一系列的挑战

跟踪器

Tracker.Cache.getSiteAttributes

中定义的Piwik /追踪/缓存排队131年

引发现场实体的属性,可能使用的追踪。插件添加新网站属性用于其他跟踪事件必须使用这个事件把这些属性在跟踪器缓存中。

例子

公共函数getSiteAttributes(内容、idSite美元){$ sql =”从“选择信息。常见的::prefixTable (“myplugin_extra_site_info”)。“idsite =哪里?”;内容[' myplugin_site_data '] = Db:美元:fetchOne ($ sql,数组(idSite美元));}

回调函数签名:

函数(& $内容,idSite美元)
  • 数组& $内容数组映射站点属性的名称和值。

  • intidSite美元该网站ID属性。

用法:

CustomDimensions: addCustomDimensionsAttributes,目标::fetchGoalsFromDb,UsersManager: recordAdminUsersInCache

Tracker.detectReferrerSearchEngine

中定义的Piwik /插件/反向链接/列/基地排队305年

时触发检测的搜索引擎引用URL。插件可以使用这个事件来提供定制搜索引擎检测逻辑。

回调函数签名:

函数(& $ searchEngineInformation, $ this - > referrerUrl]
  • 数组& $ searchEngineInformation数组使用以下信息:

    - * *姓名* *:搜索引擎的名字。- * *关键字* *:所使用的搜索关键词。这个参数初始化结果Matomo的默认搜索引擎检测逻辑。
  • referrerUrl引用从跟踪请求URL的字符串。

Tracker.detectReferrerSocialNetwork

中定义的Piwik /插件/反向链接/列/基地排队356年

时触发检测引用URL的社交网络。插件可以使用这个事件来提供定制的社交网络检测逻辑。

回调函数签名:

函数(& $ socialNetworkName, $ this - > referrerUrl]
  • 字符串& $ socialNetworkName社交网络的名称,或假如果没有检测到

    这个参数初始化结果Matomo违约的社交网络检测逻辑。
  • referrerUrl引用从跟踪请求URL的字符串。

Tracker.end

中定义的Piwik /插件/ QueuedTracking /命令/过程排队92年

Tracker.end

中定义的Piwik /跟踪器排队134年

Tracker.getDatabaseConfig

中定义的Piwik /追踪/ Db排队262年

触发数据库连接之前建立的追踪。这个事件可以用来改变使用的数据库连接设置跟踪。

回调函数签名:

函数(& configDb美元)
  • 数组dbinfo美元引用一个数组,其中包含数据库连接信息,包括:

    - * *主* *:MySQL数据库的主机名或IP地址。- * *用户名* *:用户名连接到数据库时使用。- * * * *密码:密码连接到数据库时使用。* *:- * * dbname Matomo MySQL数据库的名称。- * * * *港口:MySQL数据库端口使用。- * *适配器* *:“PDO \ MYSQL”或“MYSQLI“- * * * *型:MYSQL引擎使用,例如“InnoDB”

Tracker.getJavascriptCode

中定义的Piwik /追踪/ TrackerCodeGenerator排队211年

时触发生成服务器端JavaScript跟踪代码。插件可以使用此事件定制JavaScript代码,跟踪显示给用户。

回调函数签名:

函数(& codeImpl美元,美元参数)
  • 数组& $ codeImpl数组包含事件处理程序可以修改的代码片段。将包含以下元素:

    - * * idSite * *:网站被跟踪的ID。- * * piwikUrl * *:使用跟踪器的URL。- * * * *选择:一个字符串)JavaScript追踪的JavaScript代码。- * * optionsBeforeTrackerUrl * *:一个字符串的Javascript代码)的Javascript跟踪内部匿名函数之前添加setTrackerUrl paq。- * *协议* *:Matomo url协议。- * * loadAsync * *:布尔piwik是否。js应该同步或异步加载* * httpsPiwikUrl * *元素可以设置如果HTTPS域是不同于正常的域。
  • 数组美元的参数的参数提供给TrackerCodeGenerator:生成()

Tracker.isExcludedVisit

中定义的Piwik /追踪/ VisitExcluded排队97年

每个跟踪请求触发。这个事件可以用来告诉追踪记录这个特定的操作或访问。

回调函数签名:

函数(& $排除在外,$ this - >请求)
  • bool & $排除是否请求应该被排除在外。初始化为。事件订阅者应设置它真正的为了排除请求。

  • \请求美元的请求请求对象包含所有请求的信息

用法:

TrackingSpamPrevention: isExcludedVisit

Tracker.makeNewVisitObject

中定义的Piwik /追踪/访问/工厂排队38

之前引发一个新的访问跟踪对象被创建。用户这个事件可以强制使用一个自定义访问跟踪对象,从Piwik \追踪\ VisitInterface。

回调函数签名:

函数(& $访问)
  • \ Piwik \追踪\ VisitInterface &访问初始化为零美元,但是可以设置为一个新的访问对象。如果不修改Matomo使用默认的类。

Tracker.PageUrl.getQueryParametersToExclude

中定义的Piwik /追踪/ PageUrl排队103年

触发设置行动之前url Piwik \追踪\行动插件可以注册参数被排除在跟踪url(例如运动参数)。

回调函数签名:

函数(& parametersToExclude美元)
  • 数组& $ parametersToExclude数组的参数来排除跟踪网址。

用法:

MarketingCampaignsReporting: getQueryParametersToExclude,TagManager: getQueryParametersToExclude

Tracker.Request.getIdSite

中定义的Piwik /追踪/请求排队589年

触发时获得的ID跟踪访问网站。这个事件可以用来改变站点ID数据跟踪不同的网站。

回调函数签名:

函数(& $ idSite, $ this - >参数)
  • int & $ idSite初始化的值idsite查询参数。如果一个用户设置这个变量,它使用的值必须大于0。

  • 数组美元的参数整个数组当前跟踪请求的请求参数。

Tracker.setTrackerCacheGeneral

中定义的Piwik /追踪/缓存排队212年

触发前一般追踪缓存保存到磁盘。这个事件可以用来添加额外的缓存的内容。中使用的数据跟踪,但昂贵的计算/查询应该缓存的效率保持跟踪。这些数据的一个例子是选择表中存储的选项。查询数据为每个跟踪请求意味着额外的不必要的数据库查询每个访问者的行动。使用缓存解决这个问题。

例子

公共函数setTrackerCacheGeneral (& cacheContent美元){$ cacheContent['并且。myCacheKey ') =选择::(' MyPlugin_myOption ');}

回调函数签名:

函数(& cacheContent美元)
  • 缓存数据的数组& $ cacheContent数组。每一块数据必须被映射的名字。

用法:

CoreHome: setTrackerCacheGeneral,CustomDimensions: setTrackerCacheGeneral,CustomVariables: getCacheGeneral,PrivacyManager: setTrackerCacheGeneral,反向链接::setTrackerCacheGeneral,SitesManager: setTrackerCacheGeneral,TrackingSpamPrevention: setTrackerCacheGeneral,UserCountry: setTrackerCacheGeneral

TrackingSpamPrevention

TrackingSpamPrevention.banIp

中定义的Piwik /插件/ TrackingSpamPrevention / BlockedIpRanges排队152年

这个事件发布当一个IP被禁止跟踪。你可以用它例如通知某人这个IP是被禁止的。

回调函数签名:

函数(ipRange, ip)美元
  • 字符串ipRange美元IP范围将会被禁止

  • 字符串ip美元导致这个范围内的IP被封

用法:

TrackingSpamPrevention: onBanIp

翻译

Translate.getClientSideTranslationKeys

中定义的Piwik /翻译/翻译排队178年

触发之前生成的JavaScript代码,允许i18n字符串中使用浏览器。插件应该订阅该事件来指定哪些翻译应该用于JavaScript。

事件处理程序应该添加整个翻译键,即密钥,包括插件名称。

例子

公共函数getClientSideTranslationKeys(& $结果){$结果[]=“MyPlugin_MyTranslation”;}

回调函数签名:

函数(& $结果)
  • 数组& $结果整个客户端翻译键的列表。

用法:

插件:getClientSideTranslationKeys,注释:getClientSideTranslationKeys,CoreAdminHome: getClientSideTranslationKeys,CoreHome: getClientSideTranslationKeys,CorePluginsAdmin: getClientSideTranslationKeys,CoreVisualizations: getClientSideTranslationKeys,CustomAlerts: getClientSideTranslationKeys,CustomDimensions: getClientSideTranslationKeys,CustomVariables: getClientSideTranslationKeys,DBStats: getClientSideTranslationKeys,仪表板:getClientSideTranslationKeys,DevicesDetection: getClientSideTranslationKeys,诊断:getClientSideTranslationKeys,电子商务:getClientSideTranslationKeys,反馈:getClientSideTranslationKeys,GeoIp2: getClientSideTranslationKeys,目标::getClientSideTranslationKeys,安装::getClientSideTranslationKeys,Intl: getClientSideTranslationKeys,LanguagesManager: getClientSideTranslationKeys,生活:getClientSideTranslationKeys,LogViewer: getClientSideTranslationKeys,登录:getClientSideTranslationKeys,LoginLdap: getClientSideTranslationKeys,市场:getClientSideTranslationKeys,MobileMessaging: getClientSideTranslationKeys,多点:getClientSideTranslationKeys,覆盖:getClientSideTranslationKeys,PagePerformance: getClientSideTranslationKeys,PrivacyManager: getClientSideTranslationKeys,反向链接::getClientSideTranslationKeys,ScheduledReports: getClientSideTranslationKeys,SecurityInfo: getClientSideTranslationKeys,SegmentEditor: getClientSideTranslationKeys,SitesManager: getClientSideTranslationKeys,TagManager: getClientSideTranslationKeys,TasksTimetable: getClientSideTranslationKeys,过渡:getClientSideTranslationKeys,TwoFactorAuth: getClientSideTranslationKeys,UserCountry: getClientSideTranslationKeys,UserCountryMap: getClientSideTranslationKeys,用户标识:getClientSideTranslationKeys,UsersManager: getClientSideTranslationKeys,VisitorGenerator: getClientSideTranslationKeys,Widgetize: getClientSideTranslationKeys

TwoFactorAuth

TwoFactorAuth.disabled

中定义的Piwik /插件/ TwoFactorAuth / TwoFactorAuthentication排队70年

回调函数签名:

函数(登录)

TwoFactorAuth.enabled

中定义的Piwik /插件/ TwoFactorAuth /控制器排队226年

回调函数签名:

函数(登录)

TwoFactorAuth.requiresTwoFactorAuthentication

中定义的Piwik /插件/ TwoFactorAuth / TwoFactorAuth排队257年

回调函数签名:

函数(& $ requiresAuth模块,美元行动,美元参数)

用法:

TagManager: requiresTwoFactorAuthentication

更新器

Updater.componentInstalled

中定义的Piwik /更新器排队111年

事件触发后安装一个新的组件。

回调函数签名:

函数(名称)
  • 字符串美元的名字已经安装的组件。

Updater.componentUninstalled

中定义的Piwik /更新器排队161年

事件触发后组件已经被卸载。

回调函数签名:

函数(名称)
  • 字符串美元的名字已卸载的组件。

Updater.componentUpdated

中定义的Piwik /更新器排队139年

事件触发后组件已更新。可以用来处理逻辑组件更新后应该做什么

例子

Piwik: addAction (Updater.componentUpdated,函数(componentName, updatedVersion美元){$邮件=新邮件();$邮件- > setDefaultFromPiwik ();邮件- >遭受美元(“test@example.org”);$邮件- > setSubject(“组件更新);美元消息= sprintf (% 1 $ s的组件已经更新到版本% 2 $ s’, componentName美元,美元updatedVersion);(邮件- > setBodyText美元消息);$邮件- >发送();});

回调函数签名:

函数(名称、版本)美元
  • 字符串componentName美元“核心”,插件名称或维度的名字

  • 字符串updatedVersion美元版本更新

用法:

CorePluginsAdmin: addPluginChanges,CustomJsTracker: updateTracker,TagManager: regenerateReleasedContainers

用户

User.isNotAuthorized

中定义的Piwik / FrontController排队182年

当用户访问权限不足引发试图查看一些资源。这个事件可以用来定制错误发生在用户被拒绝访问(例如,显示一个错误消息,重定向到一个页面除了登录,等等)。

回调函数签名:

函数(异常)

用法:

登录:noAccess,LoginLdap: noAccess

UserSettings

UserSettings.updated

中定义的Piwik /设置/插件/ UserSettings排队89年

用户设置更新后触发。例子

Piwik:: addAction (UserSettings。更新”,函数(UserSettings设置美元){如果(设置- > getPluginName美元()= = = PluginName) {$ value = $设置- > someSetting - > getValue ();/ /做一些新的设定值}});

回调函数签名:

函数(美元)
  • \设置美元的设置插件设置对象。

UsersManager

UsersManager.addUser.end

中定义的Piwik /插件/ UsersManager / API排队769年

创建一个新用户后触发。

回调函数签名:

函数(userLogin美元,美元的邮件,Piwik: getCurrentUserLogin ())
  • 字符串userLogin美元新用户的登录。

  • 字符串美元的电子邮件新用户的电子邮件。

  • 字符串inviterLogin美元登录的用户创建的新用户

UsersManager.checkPassword

中定义的Piwik /插件/ UsersManager / UsersManager排队175年

核心密码验证器检查密码之前触发。这个事件存在使选项来创建自定义密码验证规则。它可以用来验证密码(长度、字符等)和通知有关检查密码。

例子

Piwik:: addAction (UsersManager。checkPassword’,函数(密码)美元{如果(strlen(密码)美元< 10){抛出新的异常('密码太短。');}});

回调函数签名:

函数(密码)
  • 字符串美元的密码检查密码以纯文本。

用法:

LoginLdap: checkPassword

UsersManager.deleteUser

中定义的Piwik /插件/ UsersManager /模型排队674年

用户被删除后触发。这个事件应该被用来清理现在删除用户相关的数据。的指示板插件,例如,使用这个事件删除用户的仪表板。

回调函数签名:

函数(userLogin美元)
  • 字符串userLogins美元删除用户的登录处理。

用法:

CoreAdminHome: cleanupUser,CoreVisualizations: deleteUser,CustomAlerts: deleteAlertsForLogin,仪表板:deleteDashboardLayout,LanguagesManager: deleteUserLanguage,ScheduledReports: deleteUserReport,SegmentEditor: onDeleteUser

UsersManager.getDefaultDates

中定义的Piwik /插件/ UsersManager /控制器排队197年

请求时触发可用日期列表,例如用户加载默认设置>报告日期。

回调函数签名:

函数(& $日期)
  • 数组& $日期数组(日期= >翻译)

UsersManager.inviteUser.accepted

中定义的Piwik /插件/登录/控制器排队634年

触发后用户接受了邀请

回调函数签名:

函数(userfunction美元('登录'],美元userfunction('邮件'],userfunction美元(“invited_by”]] <
Baidu