Zend framework2 视图中的ZF2视图
我想创建一个具有以下行为的接口:Zend framework2 视图中的ZF2视图,zend-framework2,Zend Framework2,我想创建一个具有以下行为的接口: HTML output for /a/. <ul> <li>html output for /a/1/</li> <li>html output for /a/2/</li> <li>html output for /a/3/</li> </ul> /a/的HTML输出。 /a/1的html输出/ /a/2的html输出/ /a/3的html输出/ 因此,猜测
HTML output for /a/.
<ul>
<li>html output for /a/1/</li>
<li>html output for /a/2/</li>
<li>html output for /a/3/</li>
</ul>
/a/的HTML输出。
- /a/1的html输出/
- /a/2的html输出/
- /a/3的html输出/
- 渲染的路径
- 允许渲染的参数(即1-10)
$this->linkGenerator('a', array(1, 10)); //render all from /a/1 to /a/10
视图辅助对象的外观如下所示:
namespace Mynamespace\View\Helper;
use Zend\View\Helper\AbstractHelper;
class LinkGenerator extends AbstractHelper
{
public function __invoke($routeName, array $range)
{
return $this->getView()->render('mynamespace/view/helper/linkgenerator.phtml', array(
'route' => $routeName,
'range' => $range
));
}
}
<ul>
<?php foreach($this->range as $value) : ?>
<li>
<a href="<?php echo $this->url($this->route, array('id', $value));?>">
####RouteLabel!?
</a>
</li>
<?php endforeach; ?>
</ul>
public function getViewHelperConfig()
{
return array(
'factories' => array(
'linkGenerator' => function ($sm) {
$someDependency= $sm->getServiceLocator()->get('some-dependency');
return new \Mynamespace\View\Helper\LinkGenerator($someDependency); //<- this is for __construct() ;)
}
)
);
}
最后,您的linkgenerator.phtml
如下所示:
namespace Mynamespace\View\Helper;
use Zend\View\Helper\AbstractHelper;
class LinkGenerator extends AbstractHelper
{
public function __invoke($routeName, array $range)
{
return $this->getView()->render('mynamespace/view/helper/linkgenerator.phtml', array(
'route' => $routeName,
'range' => $range
));
}
}
<ul>
<?php foreach($this->range as $value) : ?>
<li>
<a href="<?php echo $this->url($this->route, array('id', $value));?>">
####RouteLabel!?
</a>
</li>
<?php endforeach; ?>
</ul>
public function getViewHelperConfig()
{
return array(
'factories' => array(
'linkGenerator' => function ($sm) {
$someDependency= $sm->getServiceLocator()->get('some-dependency');
return new \Mynamespace\View\Helper\LinkGenerator($someDependency); //<- this is for __construct() ;)
}
)
);
}
希望这能回答你的问题。我想其他一切都可以归结为javascript。我对zf2很陌生,您能为我澄清一下“某些依赖性”指的是什么吗?我有:
'invokables'=>数组('some-dependency'=>'MyModule\Helper\LinkGenerator',),
但我得到一个错误ServiceManager::get无法获取或创建某个依赖项的实例
'some-dependency'
在这种情况下,可能是使LinkGenerator工作所需的另一个依赖项。它不是链接生成器。它可以是某种类型的tableGateway
或Repository
。因为你需要知道有多少链接要发布,这不是魔术能做到的,所以我的假设是你需要某种依赖注入;)实际上,我最终使用了模块配置的invokables部分,因为我不需要特殊的构造函数。不过,感谢您提供的信息,它确实帮助我爬上了陡峭的学习曲线。尽管如此,我无法获得视图的链接。。我得到“Zend\View\Renderer\PhpRenderer::render:无法呈现模板”。请告诉我应该把phtml文件放在哪里以及如何正确链接到它?谢谢@你需要正确地映射模板。视图管理器密钥中配置的模板映射密钥。