php - Yii/gii 代码生成器定制 : how to reuse the default templates?

标签 php yii gii

我开始玩 Code GeneratorsGii 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 生成页面,选择我的模型、 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/

相关文章:

php - Yii 模型不使用 gii 自动建立关系

Php 数组到长文本与数据库中的新行

php - $_Get 在这种特殊情况下不起作用

php - Apache 意外关闭

PHP Regex 查找字符串中所有大写的单词

php - json_encode 不会转义换行符

mysql - Yii 查询优化 MySQL

yii - 更新模型文件后使用 Gii

php - Laravel 5.3 Eloquent where 从父模型连接表的子句