3

我开始使用Gii 模块提供的代码生成器

我想自定义一些 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. 我不喜欢那么多重复的文件,也不对它们做任何事情。相反,我想找到一种方法来重用现有的默认文件

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

4

1 回答 1

0

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

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

<?php

include(dirname(__FILE__)."/../default/".basename(__FILE__));

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

于 2013-06-26T15:55:36.377 回答