2022 EduSoho开发手册 日常技巧之不修改文件更新系统模板
业务场景:在日常开发后,可能会修改到程序自身的模板文件,但是这些文件可能会随着系统的更新被覆盖掉。所以我们需要一个注入的方式,在不修改自身模板文件的情况下,进行代码的调整
操作方式
创建渲染视图解析器
RenderViewResolver
<?php
/*
* 作者:少宇 - 赛驰网络
* 联系:170 33333 111
* 时间:2022/2/15 上午4:23
* 网址:https://www.saichinet.com
*
* 山东赛驰网络科技有限公司
* Shandong Search Network Technology Co., Ltd.
* Copyright © 2012-2020 Search Network, All Rights Reserved
*/
namespace DiscordPlugin\Biz\Discord\Util;
use AppBundle\Component\ViewResolver\RenderViewResolver;
class DiscordRenderViewResolver implements RenderViewResolver
{
public function __construct($biz)
{
$this->biz = $biz;
}
public function generateRenderView($view, array $parameters = array())
{
if (array_key_exists($bizPrefix, $this->biz['template_extension.discord'])) {
return $this->biz["template_extension.discord"][$view];
}
return $view