如何在多个视图中使用相同的表单

时间:2014-09-04 18:26:17

标签: cakephp dry

我正在使用CakePHP 2.4。我有一个博客,我可以添加和编辑帖子。当我实施edit.ctp时,我发现,我在视图add.ctp中有相同的代码:

<?php
    echo $this->Form->create();
    echo $this->Form->input('headline');
    echo $this->Form->input('text', array('type' => 'textarea');
    echo $this->Form->end('Save');
?>

(简化代码)

关于CakePHP的建议,我想保留我的代码DRY。定义表单只有一次并在两个视图中使用它的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

使用表单代码

在文件夹Element中创建一个视图
// app/View/Elements/postForm.ctp

<?php
    echo $this->Form->create();
    echo $this->Form->input('headline');
    echo $this->Form->input('text', array('type' => 'textarea');
    echo $this->Form->end('Save'); 
?>

然后将其包含在您想要的视图中

echo $this->element('postForm');