从视图/控制器获取pimcore代码段名称

时间:2014-04-02 11:09:00

标签: php view controller pimcore

我以这种方式使用Pimcore的片段:

<?php echo $this->snippet("mySnippet"); ?>

如何从视图/控制器中获取代码段(“mySnippet”)的名称?

感谢。

1 个答案:

答案 0 :(得分:1)

获取可编辑片段的名称是一项有点困难的任务,因为嵌入式片段未获得任何有关其容器的知识(请参阅源文件/pimcore/models/Document/Tag/snippet.php)。我能想到的最好的解决方案(虽然有点难看)是将名称作为参数传递给片段,如下所示:

<?php echo $this->snippet("mySnippet", array("snippetName" => "mySnippet")); ?>

然后在摘录视图中获取此参数的值:

<?php echo $this->request->snippetName; ?>

另一种方法是编辑Pimcore的源文件以自动传递名称,但请记住,在更新到新版本的Pimcore时,这可能会导致问题。但是,如果要使用此方法,请将以下内容添加到文件/pimcore/models/Document/Tag/snippet.php

$params["snippetName"] = $this->name;

位于函数$params["document"] = $this->snippet;中的frontend()行下方。 (在pimcore 2.1.0中这将是第91行)