返回介绍

2.2.2 使用方法

发布于 2020-10-05 11:38:12 字数 4520 浏览 985 评论 0 收藏 0

行为管理使用

在使用该功能时,请你认真阅读一遍ThinkPHP - 行为扩展这章节, 需要有了这些预备知识。

CMS中的行为系统改写了ThinkPHP的系统行为实现app/Libs/System/Hook.class.php,与TP的行为管理方式 使用略有差异。

CMS中有部分模块使用到了行为管理进行开发。以Wap模块为例:

使用方法:

  1. 创建 Behavior

一般来说,写在对应模块的下 Behavior/ 下,命名格式遵循 XXXBehavior

图片

主要实现一个 run(&$data) 方法

<?php

namespace Wap\Behavior;

class WapBehavior {

    public function run(&$data) {
        if (MODULE_NAME == 'Content' && CONTROLLER_NAME == 'Index' && $this->isMobile()) {
            $catid = I('catid', 0, 'intval');
            $id = I('id', 0, 'intval');
            $parameter = $_GET;
            if ($catid && $id) {
                $action = 'shows';
            } else if ($catid && $id == 0) {
                $action = 'lists';
            } else {
                $action = 'index';
            }
            unset($parameter[C('VAR_MODULE')], $parameter[C('VAR_CONTROLLER')], $parameter[C('VAR_ACTION')]);
            redirect(U("Wap/Index/{$action}", $parameter));
        }
    }

    //判断是否属手机
    protected function isMobile() {
        ....
        return true;
    }

}
  1. 注册 Behavior 到行为管理

设置->行为管理->选择对应的行为进行编辑,规则参考行为规则使用说明

图片

图片

测试:用手机打开首页时,自动回跳转到Wap首页。(当然,最好打Log了)

如何自定义行为?

上述Wap模块只是使用到了系统默认的行为 app_begin ,那么如何创建自己的行为呢?

1.添加行为到行为系统

设置->行为管理->添加行为

图片

2.行为埋点触发

图片

更多可以参考行为管理最佳实践

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文