1

在使用 laravel 和其他框架之前,我是 Zend 的新手。所以我有一个 Zend 项目要修改,问题是我不能将变量从控制器传递到视图。

控制器:

$temp_id = $this->_request->getParam ('temp_id');

if($temp_id){
    $data = $card_temp_model->getSingle('*', 'id='.(int)$temp_id);

    if(!$data['icon_id'])
        $data['icon_id'] = 9;
    if(!$data['icon2x_id'])
        $data['icon2x_id'] = 10;
    $data['template_only']=1;

    $form->setDefaults($data);
}

$locations = $card_location_model->getAll('*', 'card_id='.(int)$temp_id);

$this->view->locations = $locations;
$this->view->form = $form;

我的视图文件:

<?=
    die(print_r($this->locations));
?>

我无法在我的视图文件中获取位置。也许有人可以解释我为什么?

4

2 回答 2

0

在控制器...

$this->view->foo = 'sample string or content';

在视图中使用转义方法来防止 xss 问题。

echo $this->escape($this->foo);
于 2013-06-11T15:18:31.400 回答
0

要将变量分配到 ZF 中查看,您应该使用此代码

$this->view->var = "some text"; // where "some text" may be variable or everthing else.

您的问题在于放置文件。ZF 目录结构可以更改,因此如果您使用目录结构。

APPLICATION
  controllers
     NameController.php
Views
  Name
     Index.html

然后在 Index.html 中echo $var

在 NameController.php 创建 IndexAction() 方法并将变量分配给视图。

要显示此控制器,请使用domain.com/name/domain.com/name/index

这就是让它工作的一切。

于 2013-06-10T11:59:29.313 回答