1

我是 cakephp 的新手。
我尝试了这个框架中的惊人功能,蛋糕烘焙
我想在蛋糕烘焙中自定义模型、视图和控制器中的输出

  1. 如何在烘焙中创建新文件视图(视图、索引、添加、编辑 .ctp)示例 export_excel.ctp
  2. 如何显示模式字段,在示例文件夹(“C:\xampp\htdocs\cake\lib\Cake\Console\Templates\default\actions\controller_actions”)中修改控制器输出。像“lib\Cake\Console\Templates\default\views\index.ctp”我发现了这个脚本:
foreach ($fields as $field): //但是我放在controller_task中的这段代码不起作用

对不起,糟糕的帖子,我的英语很糟糕..

4

3 回答 3

0

问题 1 - 是否希望能够使用烘焙创建自定义视图类型?我想你可以扩展 CakePHP 的 bake shell,像这样(app/Console/Command/MyBakeShell.php):

App::uses('AppShell', 'Console/Command');
App::uses('BakeShell', 'Console/Command');

class MyBakeShell extends BakeShell {
public function startup() {
        parent::startup();
    }

    // Etc etc, your implementation here...in the main() method I guess you could add a call to new function for generating your custom view
}

这就是你所追求的吗?我想这将是相当繁琐的,但你可能有一个用例证明这项工作是合理的。

问题 2 - 真的不明白吗?

于 2013-04-08T08:10:55.707 回答
0

我自己是新手,希望能帮到你。

当您烘焙时,它会为您创建所有模型、控制器和视图。我发现通过回答有关字段、表中的关系和助手的问题,它会为您创建所有这些,我建议您创建一个包含 2 个表的 mysql 数据库并在 2 个表之间建立关系,然后开始烘烤并执行几次以查看正在发生的事情 [阅读 cakephp 手册] 当然也会有所帮助。

当您了解 mvc 之间的关系时,您就会知道您可以创建自己的控制器和视图来构建额外的页面。

在我找到这个关于变形器的网址之前,我在理解复数和其他方面遇到了一些麻烦,我也可以向你提出建议。http://inflector.cakephp.org/

如果你想创建一个新的视图,你需要先创建一个新的控制器。然后创建一个文件夹并将新视图 index.ctp 放入该文件夹

因此,假设您想在您的网站上创建一个名为 spain 的新页面,在文件夹 app/Controller/SpainController.php 中创建控制器西班牙手册

 <?php
 App::uses('AppController', 'Controller');
 /**
 * Spain Controller
 *
 */
 class SpainController extends AppController {
public $helpers = array('Html', 'Form');

public function index() {
$this->set('title_for_layout', 'Properties in Spain');
 }
 }
 ?>

然后你在 /app/View/Spain/index.ctp 创建你的视图

 <!-- View for Spain -->
 <br /><h1 align="center">Put your text here...</h1><br />
 <div align="center"><hr><br />

这就是你自己的观点......不确定我是否理解你对这个 export.excel 的正确理解,但在我看来,你想创建一些东西来从你的数据库中导出数据。因此,您开始蛋糕烘烤,1 个控制器,选择包含要导出的数据的表并回答问题。整个过程完成后,您可以修改视图。

不确定你的其他问题。希望这可以帮助。

于 2013-04-09T08:08:39.980 回答
0

复制粘贴 lib/Cake/console/template 到 templates/your_name/views/3files

修改3个文件bake看看变化

于 2017-02-03T11:49:33.250 回答