phundament/gii-template-collection

Gii 模板集合,带有 Bootstrap UI 的模型和 CRUD 模板

0.13.0-beta1 2014-06-24 20:42 UTC

README

为 Yii 1.1 框架的代码模板

在 github 上分支

gii-template-collection (gtc) 包含了 Yii 框架 Gii 模块的模板。

有关此项目的 Yii 2 版本,请访问 giiant

特性

  • 关系处理
  • YiiBooster 集成
  • giic 证明
  • 使用代码提供者自定义输入,通过模型和列检测输入类型
    • 日期和时间选择器
    • 复选框
    • 关系小部件
    • 可编辑的网格列
    • 部分视图
    • 枚举字段
  • 多语言

模板

FullModule

FullModel

默认

模型类在两个文件中 BaseModelModel

单文件

标准模型类 Model

FullCrud

注意:关系小部件已移动到 https://github.com/schmunk42/yii-relation

slim

带有关系的 Bootstrap UI

混合

带有关系和网格的 Bootstrap UI

slim_editable

屏幕截图

FullCrud Slim Editable List

FullCrud Slim Editable List

遗产

原始 gtc CRUDs

要求

  • PHP 5.3 和 short_open_tags = On

注意

安装

通过 composer 获取

composer.phar require phundament/gii-template-collection

下载最新版本 要使用它,只需将存档内容提取到您的应用程序 extensions/ 目录中。

设置

  1. 在您的应用程序配置中的 gii 配置的 generatorPaths 部分中配置模板

    'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'password'=>'<your gii password>',
        'generatorPaths'=>array(
            'vendor.phundament.gii-template-collection',   
        ),
    ),
    

    之后,gtc 的新生成器应在您的 Gii 索引页中可用。

  2. 最后一步是将一些 gtc 组件添加到您的导入路径,以便应用程序可以找到它们

     // autoloading model and component classes
     'import'=>array(
     	// relation widget and save behavior
     	'vendor.phundament.gii-template-collection.components.*', 
     ),
    
  3. 有关调试信息,请将日志添加到您的配置控制台

    'components' => array(
        'log'      => array(
            'class'  => 'CLogRouter',
            'routes' => array(
                // file logging
                array(
                    'class'   => 'CFileLogRoute',
                    'logFile' => 'console.log',
                    'levels'  => 'error, warning, info, trace',
                    'enabled' => true,
                ),
            ),
        ),
    ),
    

使用方法

完整模块

  • 打开 Gii
  • 选择 FullModule
  • 输入模块 ID
  • 点击 预览
  • 点击 生成

完整模型

  • 打开 Gii
  • 选择 FullModel
  • 输入模型类
  • 点击 预览
  • 点击 生成

完整 CRUD

注意:生成的模板需要 clevertech/yiibooster >=1.1.1 注意:slim_editable 需要 vitalets/x-editable-yii dev

  • 打开 Gii
  • 选择 FullCrud
  • 输入模型类
  • 点击 预览
  • 点击 生成

AuthItems

控制器操作和 UI 按钮遵循这些 checkAccess 规则

  • Controller.*
  • Controller.View
  • Controller.Delete
  • ...

0.13.0 开始,默认添加了 Controller.SimpleUi 项,当此项分配给当前用户时,将隐藏 UI 元素。

注意:管理员(超级用户)始终看到完整的 UI。

模板 slim

要求: https://github.com/clevertech/yiiboosterschmunk42/yii-relation

模板 slim editable

要求

  • https://github.com/clevertech/yiibooster,
  • schmunk42/yii-relation,
  • 扩展名:x-editable-yii
    • 使用composer.phar命令安装:php composer.phar require vitalets/x-editable-yii dev-master
    • 在配置中添加别名:vendor.vitalets.x-editable-yii

模板:混合型

在默认/精简模板和Bootstrap CRUD生成器之间的一种增强型混合模板。

需要:x-editable-yii devechosen

开发

代码提供者

FullCrudCode可以从提供者队列中访问提供者以渲染字段、标签等。您可以在模板中调用提供者,例如。

$this->provider()->generateColumn($this->modelClass, $column)

FullCrudCode将遍历提供者队列,直到找到具有请求方法且返回值null的提供者。这与行为相比是主要区别之一。

示例

渲染一个填充的下拉列表,如果模型包含optsColumnName()方法。

public function generateActiveField($model, $column)
{
    $func = "opts".str_replace("_","",$column->name);
    if (method_exists($model, $func)) {
        return "echo \$form->dropDownList(\$model,'{$column->name}',{$model}::{$func}());";
    }
}

编码标准

gtc使用<?=""?> Bobsled编码风格

  • 编写PHP代码,用短开放标签和双引号包裹生成。
<?=
"<?php 
    ...code... 
?>"
?>
  • 仅在生成PHP代码时使用bobsled(在gtc 模板中),不要在输出代码中使用短开放标签(目前还不行)。
  • 使用括号{}插入用于生成代码的变量。
  • 使用provider生成字段、标签、关系和列。
  • 遵循Yii Wiki中的良好架构设计指南
  • 在您的MANY_MANY表中使用UNIQUE索引覆盖两个外键。

示例

tbd

已知问题和限制

  • gtc不支持组合主键

资源

链接

历史

该项目最初由thyseus于2010年创建。

引用原始项目页面的话

请享受这个扩展,让我们收集尽可能多的模板供其他人欣赏。(haml、smarty、dwoo、twig等)

2011年schmunk从Google代码仓库的修订版186创建了当前活跃的分支。

随着时间的推移,添加了大量代码。到2013年7月底,gtc已完全翻新。

贡献者

活跃维护者以粗体显示。

联系

当然,任何模板都受欢迎,只需留下评论或发送邮件:schmunk@usrbin.defredrik@neam.sethyseus@gmail.com