Yii / gii代码生成器定制:如何重用默认模板?

时间:2013-06-08 09:11:31

标签: php yii gii

我开始使用Code Generators提供的Gii module

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

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

1 个答案:

答案 0 :(得分:0)

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

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

<?php

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

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