生成应用插件超链接

创建于 2022-05-27 / 750
字体: [默认] [大] [更大]

说明

开发应用插件,少不了直接访问应用插件指定的方法。访问应用插件分为:Init和控制器。

Init属于应用插件的核心模块,要访问此地址,需要拥有系统管理的权限。相反应用插件控制器的访问,则依据plugin.ini中设置可访问组限定。

Init的入口地址为: {group}-Application-Init 。如PT的后台所属组是Ticket。 那么他地址是:Ticket-Application-Init

控制器的入口地址为: {group}-Application-Plugin。您在应用插件的plugin.ini中,GROUP声明了用什么组。同时控制器位于哪一个组下的目录,那么他的{group}参数就是这个组名称。如:GROUP中声明了Ticket和Form。控制器存放在 \Plugin\Demo\Form。那么完整地址就是:Form-Application-Plugin。

除了入口地址不同,两者的参数是一样的:为n和f

参数名称 说明
n Demo-Init 或者Demo-Index 。说明访问Demo应用插件的Init.php或者Index.php
f 调用上述n中文件的方法。

访问Init方法

要访问Init中的方法,调用控制器中 url方法,生成对应的地址即可:

<?= $this->url('Ticket-Application-Init', ['n' =>'Demo-Init', 'f'=> 'saveSetting']) ?>

由于访问Init方法属于敏感操作,一般只有系统管理员才可以触及此地址,开发者应尽量避免调用此文件的方法。

访问控制器方法

访问控制器方法,我们提供了pluginUrl()方法。

pluginUrl

参数 属性 说明 示例
$param 必填,数组 要访问的应用名称和应用的文件。参数为n和f ['n' =>'Demo-Index', 'f'=> 'test']
$group 非必填 是否生成指定组的地址,默认为当前运行组
$filterHtmlSuffix 非必填 是否强制过滤HTML后缀

在控制器中这样调用:

<?php $this->pluginUrl(['n' => 'Demo-Index', 'f' => 'test']) ?>

在模板中这样调用:

<?= $label->pluginUrl(['n' => 'Demo-Index', 'f' => 'test']) ?>
0 人点赞过