【问题标题】:Yii / gii code generator customization : how to reuse the default templates?Yii/gii 代码生成器定制:如何重用默认模板?
【发布时间】:2016-06-14 04:05:48
【问题描述】:

我开始玩Gii module提供的Code Generators

我想自定义一些 CRUD 生成的文件。 CRUD 代码生成器位于framework/gii/generators/crud 中,我感兴趣的文件位于templates/default 子目录下。

现在,假设我要自定义 _view.php

我从 framework/gii/generators/crud/templates/defaultprotected/gii/crud/templates/mytemplates,更新 _view.php 文件,进入 Gii crud 生成页面,选择我的模型、控制器和代码模板,点击预览,瞧:生成器构建文件。

现在,假设 我将在这里自定义的唯一文件是_view.php。我不喜欢那么多重复文件,也不对它们做任何事情。相反,我想找到一种方法来重用现有的默认文件

那么:有什么方法可以告诉代码生成器“嘿!当您没有找到模板文件时,只需像往常一样转到存储它们的默认目录。” ?

【问题讨论】:

    标签: php yii gii


    【解决方案1】:

    您可以重写 CodeGenerator 以查找备用文件,但这是一些工作要做。

    一个更快(但更骇人听闻)的解决方法可能是在 mytemplates 中包含来自视图的原始视图。只需将其放在您要引用的视图文件中(例如mytemplates/list.php):

    <?php
    
    include(dirname(__FILE__)."/../default/".basename(__FILE__));
    

    注意:我没有在 gii 中测试过,但在主题中采用了相同的方法,效果很好。缺点是您必须为要引用的每个模板创建一个文件。

    【讨论】:

      猜你喜欢
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      相关资源
      最近更新 更多