您现在的位置是:首页 > cms教程 > shopxo教程shopxo教程

shopxo插件开发钩子引入静态css/js的方法

阿森2025-07-25shopxo教程已有人查阅

导读如果一些小插件,没有控制器,但是页面显示的内容可能需要css或者js,我们也可以在config.json里面定义 plugins_css 或 plugins_js 钩子

如果一些小插件,没有控制器,但是页面显示的内容可能需要css或者js,我们也可以在config.json里面定义 plugins_css 或 plugins_js 钩子
{
"base":{
"plugins":"test_xxx",
"name":"测试插件",
"logo":"\/static\/upload\/images\/plugins_test_xxx\/2025\/04\/21\/1745219584289850.jpg",
"author":"Devil",
"author_url":"https:\/\/shopxo.net\/",
"version":"1.0.0",
"desc":"测试插件的开发",
"apply_terminal":[
"pc",
"h5"
],
"apply_version":[
"6.5.0"
],
"is_home":false
},
"extend":"",
"hook":{
"plugins_css":[
"app\\plugins\\test_xxx\\Hook"
],
"plugins_js":[
"app\\plugins\\test_xxx\\Hook"
]
}
}
Hook.php里面使用指定自己随便创建的css或js文件,路径位置都没要求,如下:
public/static/plugins/text_xxx/css/index/public/style.css
public/static/plugins/text_xxx/js/index/public/style.js
public/static/plugins/text_xxx/js/index/public/style2.js
public/static/plugins/text_xxx/js/index/public/style3.js
<?php
namespace app\plugins\test_xxx;
// 测试插件 - 钩子入口
class Hook
{
// 应用响应入口
public function handle($params = [])
{
// 钩子名称
if(!empty($params['hook_name']))
{
// 走钩子
$ret = '';
switch($params['hook_name'])
{
case 'plugins_css' :
$ret = 'static/plugins/text_xxx/css/index/public/style.css';
break;
case 'plugins_js' :
// 我们也可以自己通过一些条件限制,哪些页面需要引入在这里做判断即可
// 单个文件引入
$ret = 'static/plugins/text_xxx/js/index/public/style.js';
// 如果要同时引入多个文件也可以使用数组的方式,如:
$ret = [
'static/plugins/text_xxx/js/index/public/style.js',
'static/plugins/text_xxx/js/index/public/style2.js',
'static/plugins/text_xxx/js/index/public/style3.js',
];
break;
}
return $ret;
}
}
}
?>
如果静态的代码太少,您觉得引入文件太麻烦了,也可以直接写css或者js,直接使用头尾钩子 plugins_common_header 和 plugins_common_page_bottom  参考如下:
config.json 文件
{
"base":{
"plugins":"test_xxx",
"name":"测试插件",
"logo":"\/static\/upload\/images\/plugins_test_xxx\/2025\/04\/21\/1745219584289850.jpg",
"author":"Devil",
"author_url":"https:\/\/shopxo.net\/",
"version":"1.0.0",
"desc":"测试插件的开发",
"apply_terminal":[
"pc",
"h5"
],
"apply_version":[
"6.5.0"
],
"is_home":false
},
"extend":"",
"hook":{
"plugins_common_header":[
"app\\plugins\\test_xxx\\Hook"
],
"plugins_common_page_bottom":[
"app\\plugins\\test_xxx\\Hook"
]
}
}
Hook.php 文件
<?php
namespace app\plugins\test_xxx;
// 测试插件 - 钩子入口
class Hook
{
// 应用响应入口
public function handle($params = [])
{
// 钩子名称
if(!empty($params['hook_name']))
{
// 走钩子
$ret = '';
switch($params['hook_name'])
{
// 网站head内 插入css代码
case 'plugins_common_header' :
$ret = '<style type="text/css">
.name {
font-size: 200px;
color: #f00;
}
</style>';
break;
// 网站底部插入js代码
case 'plugins_common_page_bottom' :
$ret = '<script type="text/javascript">
alert("test_xxx js");
</script>';
break;
}
return $ret;
}
}
}
?>
PS:config.json 文件增加或移除钩子后,需要在后台左侧 应用 -> 应用管理里面重启插件

本文标签:

很赞哦! ()

相关源码

  • (PC+WAP)蓝色电缆桥架五金钢结构机械PbootCMS模板下载采用PC与WAP双端适配设计,满足桌面设备和移动端访问需求。专注服务于电缆桥架、钢结构及五金机械制造领域,通过结构化布局展示产品特性与技术参数,后台数据一体化管理提升内容维护效率。查看源码
  • (自适应)个人图集图片相册画册pbootcms网站模板源码本模板基于PbootCMS系统开发,为图片展示类网站设计,特别适合个人作品集、摄影画册、艺术图集等内容展示。采用响应式布局技术,确保各类图片在不同设备上查看源码
  • PbootCMS(自适应手机端)智能电话AI机器人网站模板产品概述基于PbootCMS内核开发的智能电话AI机器人网站模板,为语音交互服务场景设计,采用HTML5+CSS3响应式布局技术,实现PC端与移动端数据实时同步展示。模板适用于智能电话查看源码
  • (PC+WAP)绣花刺绣传统手工工艺pbootcms网站源码下载这款基于PbootCMS的网站模板为刺绣和传统手工艺行业设计,采用优雅的布局和精致的细节处理,能够呈现手工艺品的独特韵味和文化内涵。模板结构合理,功能完善,是手工艺从业者展示作品的理想选择。查看源码
  • (自适应响应式)英文外贸医疗科研耗材设备pbootcms网站模板为医疗设备和外贸企业设计的响应式网站模板,基于PbootCMS系统开发。突出医疗产品认证展示和国际化特性,通过专业化的产品参数展示模块和文档管理系统,满足医疗行业严格的信息披露要求。查看源码
  • (自适应)品牌策划网络设计作品公司个人pbootcms网站源码下载本款基于PbootCMS开发的网站模板专为品牌策划、设计公司打造,特别适合展示创意作品、设计案例和企业服务。模板采用现代化设计风格查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐