hazicms/generator

HaziCms的生成器。

v1.0.3 2015-05-18 23:22 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:12:40 UTC


README

  1. 将此包添加到您的composer.json中

     "require": {
         "pingpong/generators": "2.0.*@dev",
         "pingpong/modules": "2.0.x-dev",
         "hazicms/generator": "1.0.x"
     }
    
  2. 运行composer update

     composer update
    
  3. 将ServiceProviders添加到config/app.php中的providers数组中。

     'Laracasts\Flash\FlashServiceProvider',
     'Mitul\Generator\GeneratorServiceProvider',
     'Pingpong\Modules\ModulesServiceProvider',
     'Pingpong\Modules\Providers\BootstrapServiceProvider',
     'HaziCms\Generator\Generator\GeneratorServiceProvider',
     'Collective\Html\HtmlServiceProvider',
     'Intervention\Image\ImageServiceProvider',
    

    为了方便,在config/app.php中的alias数组中添加这些外观。

     'Module'=> 'Pingpong\Modules\Facades\Module',
     'Form' => 'Collective\Html\FormFacade',
     'Html' => 'Collective\Html\HtmlFacade',
     'Flash' => 'Laracasts\Flash\Flash',
     'Image' => 'Intervention\Image\Facades\Image'
    
  4. 发布生成器、模块和图像的配置文件

     php artisan vendor:publish --provider="HaziCms\Generator\Generator\GeneratorServiceProvider"
    
     php artisan vendor:publish
    
     php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
    
  5. 根据您的需求修改modules.php文件。在Cms中,将'namespace' => 'HaziCms\Modules',以及'modules' => app_path('Modules')。

  6. 根据您的需求修改generator.php文件。

  7. 添加ADMIN-LTE仪表板模板:cd public && bower update && cd ..

  8. 添加bower依赖(至少CKEditor):cd vendor/hazicms/generator/ && bower update && cd ..

  9. 执行 artisan 命令以使用模型生成模块。

     php artisan hazicms:generator ModuleName ModelName
    

    例如:

     php artisan hazicms:generator Network Project
     php artisan hazicms:generator Blog Post
    
  10. 输入带有选项的字段

    fieldName:fieldType[,htmlAtribute1 ,htmlAtribute2]:[fieldData]:[defaultOption]

    示例

    Select: group:select,'id' => 'mySelect', 'class' => 'red':['admin' => 'admin','user' => 'user']:user
    Select (data from model): role_id:select,'id' => 'mySelect', 'class' => 'red'  //to run well, need the fathers model created. Role for this example
    Text: title:text,'size' => 255
    Hidden: user_id:hidden,'id'=> 'user_id' // if the name ends with '_id', we suppose that the value is the model id. // Else value is null
    Float: price:float,'min' => 1, 'max' => 10
    Textarea: body:textarea,'placeholder' => 'Body content' (make ```bower install``` inside generator folder)
    Radiobutton: sex:radio,'id' => 'sex', 'class' => 'red':['male' => 'ale','female' => 'fem']:fem
    Checkbutton: data:check,'id' => 'data', 'class' => 'red':['clean_the_room' => 'clean','go_to_your_home' => 'home']:home (*)
    Number: assistance:number,'id' => 'assistance', 'class' => 'red'
    Date: birthday:date,'id' => 'date', 'class' => 'red' (make ```bower install``` inside generator folder)
    

    在field_example_data文件中有一些基本的字段示例。

(*) 需要取消注释模块控制器中的3行才能运行。Laravelcollective/form存在一个复选框的bug。直到这个问题被解决,这个技巧是必要的!:- (如果你看到“preg_replace(): Parameter mismatch, pattern is a string while replacement is an array”错误,你需要阅读最后一句话。:-)

  1. (可选) 如果你想,你可以将auth中间件添加到模块路由中。Route::group(['prefix' => 'admin', 'middleware' => 'auth') ...

  2. 转到http://domain.com/admin/[复数名词]ModelName :)

使用ROXY fileman[0]作为CKEditor的文件浏览器

  1. 下载PHP的fileman,在public文件夹中解压并赋予权限。

  2. 添加到:/public/theme/ckeditor/config.js

     var roxyFileman = '/fileman/index.html';
     config.filebrowserBrowseUrl = roxyFileman;
     config.filebrowserImageBrowseUrl = roxyFileman+'?type=image';
     config.removeDialogTabs = 'link:upload;image:upload';
    
  3. 在public/fileman/conf.json中将INTEGRATION更改为"ckeditor"。

[0] http://www.roxyfileman.com/CKEditor-file-browser

使用HaziCms命名空间之外

  1. php artisan app:name your_namespace.

  2. 在config/generator.php文件中,将namespace变量设置为your_namespace

致谢

此模块生成器由Aitor Ibañez创建。

此包基于laravel-api-generator

欢迎提出bug和分支 :)