我开始玩 Code Generators由 Gii module 提供.
我想自定义一些 CRUD 生成的文件。 CRUD 代码生成器位于 framework/gii/generators/crud
中,我感兴趣的文件位于 templates/default
子目录下。
现在,假设我想自定义 _view.php
。
我复制粘贴所有的文件
framework/gii/generators/crud/templates/default
到protected/gii/crud/templates/mytemplates
,更新_view.php
文件,转到 Gii crud 生成页面,选择我的模型、 Controller 和代码模板,单击预览,瞧:生成器构建文件。
现在,假设我在这里自定义的唯一文件是_view.php
。我不喜欢太多的复制文件并且对它们什么都不做。相反,我想找到一种方法来重用现有的默认文件。
那么:有什么方法可以告诉代码生成器“嘿!当您找不到模板文件时,只需转到照常存储它们的默认目录。” ?
最佳答案
您可以重写 CodeGenerator 以查找后备文件,但这是一些工作要做。
更快(但更 hackish)的解决方法可能只是将原始 View 包含在 mytemplates 中的 View 中。只需将其放入您要引用的 View 文件中(例如 mytemplates/list.php
):
<?php
include(dirname(__FILE__)."/../default/".basename(__FILE__));
注意:我没有在 gii 中对此进行测试,但在主题中采用了相同的方法,效果很好。缺点是您必须为每个要引用的模板创建一个文件。
关于php - Yii/gii 代码生成器定制 : how to reuse the default templates?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16997915/