您现在的位置是:首页 > 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 钩子
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
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_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 文件增加或移除钩子后,需要在后台左侧 应用 -> 应用管理里面重启插件
本文标签:
很赞哦! ()
上一篇:shopxo怎么使用后端钩子
下一篇:shopxo怎么安装使用
图文教程
shopxo插件开发钩子响应和回调事件
当系统调用插件的时候会自动执行钩子入口文件方法,可以在方法里面自行判断钩子类型,进行业务的处理。所有响应都会带上 hook_name 参数、
shopxo的MySQL分组错误解决方法
MySQL5.7.5以上版本,实现了对功能依赖的检测。如果启用了only_full_group_by SQL模式(默认启用),那么MySQL就会拒绝执行 select list、HAVING condition或ORDER BY list引用
Nginx+LVS+Tomcat+MGR+Nexus+NFS配置shopxo
Nginx+Tomcat+Mysql综合实验1、环境准备2、数据库配置MGR3、配置PMM服务端4、配置PMM-Client5、PMM监控MRG6、配置proxysql7、部署shopxo
shopxo插件开发钩子引入静态css/js的方法
如果一些小插件,没有控制器,但是页面显示的内容可能需要css或者js,我们也可以在config.json里面定义 plugins_css 或 plugins_js 钩子
相关源码
-
(PC+WAP)绿色产品环保设备垃圾桶厂家公司网站pbootcms模板为垃圾桶生产商、环保设备企业打造的高端响应式门户模板,基于PbootCMS开源内核深度开发。采用HTML5自适应架构,无缝实现PC与手机端数据实时同步与交互优化查看源码 -
(PC+WAP)绣花刺绣传统手工工艺pbootcms网站源码下载这款基于PbootCMS的网站模板为刺绣和传统手工艺行业设计,采用优雅的布局和精致的细节处理,能够呈现手工艺品的独特韵味和文化内涵。模板结构合理,功能完善,是手工艺从业者展示作品的理想选择。查看源码 -
(自适应)pbootcms家政服务保洁保姆打扫卫生网站模板下载本模板基于PbootCMS内核开发,为家政服务企业量身定制。设计风格温馨亲切,突出家政行业的专业与贴心服务特性,多方位展示企业服务项目与优势。查看源码 -
帝国cms7.5奇闻异事末解之谜模板免费下载带数据本模板基于帝国CMS7.5系统开发,为神秘现象、未解之谜类主题网站设计。包含完整的PC端、移动端及百度MIP站同步生成功能,内置火车头采集规则模块,可快速采集目标站内容资源。整体设计风格神秘大气,符合主题定位。查看源码 -
(自适应响应式)英文外贸医疗科研耗材设备pbootcms网站模板为医疗设备和外贸企业设计的响应式网站模板,基于PbootCMS系统开发。突出医疗产品认证展示和国际化特性,通过专业化的产品参数展示模块和文档管理系统,满足医疗行业严格的信息披露要求。查看源码 -
(PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码
| 分享笔记 (共有 篇笔记) |
