我在哪里可以获得 zend 框架中的路由操作
Where can I get the route action in zend framework
这是我的module.config.php
return [
'router' => [
'routes' => [
'home' => [
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => [
'route' => '/',
'defaults' => [
'controller' => 'rotation',
'action' => 'add',
],
],
],
这是我的add.phtml。
<?php
$form = $this->form;
$form->setAttribute('action',
$this->url('home/default', //your route name ...
array('controller'=>'rotation', 'action' => 'add')));
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formRow($form->get('profilename'));
echo $this->form()->closeTag();
在第 $this->url('home/default', //your route name ...
array('controller'=>'rotation', 'action' => 'add')));
行,我得到一个错误。它不显示任何内容,但当我擦除该行时,它会显示文本框。
我的问题是url我放在里面的代码是对还是错?谢谢
一方面,使用 url 帮助程序生成路由 url 您不需要传入任何参数,因为您已经在 defaults
下的 [=] 中指定了它们11=]。此外,由于它是文字,我认为您甚至无法更改操作(对于这种类型的路线来说它不是可变的)。
旁注:不需要传入整个路由class名称,因为ZF2已经在Literal
下注册了(不区分大小写),所以可以缩短type
的值关键。
$this->url('home')
应该 return 您期望的结果。
这是我的module.config.php
return [
'router' => [
'routes' => [
'home' => [
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => [
'route' => '/',
'defaults' => [
'controller' => 'rotation',
'action' => 'add',
],
],
],
这是我的add.phtml。
<?php
$form = $this->form;
$form->setAttribute('action',
$this->url('home/default', //your route name ...
array('controller'=>'rotation', 'action' => 'add')));
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formRow($form->get('profilename'));
echo $this->form()->closeTag();
在第 $this->url('home/default', //your route name ...
array('controller'=>'rotation', 'action' => 'add')));
行,我得到一个错误。它不显示任何内容,但当我擦除该行时,它会显示文本框。
我的问题是url我放在里面的代码是对还是错?谢谢
一方面,使用 url 帮助程序生成路由 url 您不需要传入任何参数,因为您已经在 defaults
下的 [=] 中指定了它们11=]。此外,由于它是文字,我认为您甚至无法更改操作(对于这种类型的路线来说它不是可变的)。
旁注:不需要传入整个路由class名称,因为ZF2已经在Literal
下注册了(不区分大小写),所以可以缩短type
的值关键。
$this->url('home')
应该 return 您期望的结果。