首页切换器 v1.3.0
支持多种设备类型
2022-04-02 更新日志
  • 新增:首页提供者适配多种设备类型支持
  • 优化:旧版本只适配电脑端首页兼容
首页切换器

模块介绍

「首页切换」让站点在后台一键切换首页版式:任何模块只要按规范注册了自己的首页提供者,就会出现在首页切换器里,运营可即时切换、随时回退,不用改代码或改配置。

功能特性

  • 一键切换首页:后台列出所有已注册的首页提供者,选中即生效
  • 切换即时生效、可随时回退,不影响其它页面
  • 首页提供者按规范注册即可被识别,第三方模块也能参与
  • 兼容最新运行环境(Laravel 13 / PHP 8.5)
首页切换
    切换
        列出已注册首页
        一键切换与回退
    接入
        首页提供者注册
        主题首页调用 HomePageProvider

使用场景

  • 主题 / 模块自带首页,需要快速对比效果
  • 活动期间临时切换到活动首页,结束后切回
  • 多套首页并存,按运营需要选择

使用说明

如果模块中使用首页提供者注册了首页,则可以在首页切换器中直接切换成为模块提供的首页。

如何注册首页

组要在 ModuleServiceProvider:boot 中通过如下方式注册了首页

if(class_exists('Module\\Vendor\\Provider\\HomePage\\HomePageProvider')){
    \Module\Vendor\Provider\HomePage\HomePageProvider::register( Provider类 )
}
``` 

其中 `Provider类` 需要继承 `\Module\Vendor\Provider\HomePage\AbstractHomePageProvider`,如:

```php
<?php

namespace Module\TestModule\Provider\HomePage;

use Module\Vendor\Provider\HomePage\AbstractHomePageProvider;

class TestHomePageProvider extends AbstractHomePageProvider
{
    public function title()
    {
        return '测试首页';
    }
    public function action()
    {
        return '\\Module\\TestModule\\Web\\Controller\\IndexController@index';
    }
}

为何我的系统不生效

需要在首页通过如下方法调用

默认系统已经调用该方法
<?php

namespace App\Web\Controller;

use Module\Vendor\Provider\HomePage\HomePageProvider;

class IndexController extends BaseController
{
    public function index()
    {
        return HomePageProvider::call(__METHOD__, '\\App\\Web\\Controller\\IndexController@index');
    }
}

功能特性

  • 多套首页版式预设,后台一键切换,不用改代码
  • 切换后即时生效,可随时回退
  • 配合主题使用,快速验证不同首页效果
  • 兼容最新运行环境(Laravel 13 / PHP 8.5)
首页切换
    切换
        多套首页版式
        后台一键切换
    使用
        即时生效与回退

使用场景

  • 网站首页一键切换
  • 不同节日/活动更换首页
  • A/B测试不同首页效果

后台菜单

  • 功能设置
  • 功能设置 → 首页切换器
QQ
微信
客服