我用pimcore的代码片段:

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

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

最佳答案

获取可编辑代码段的名称有点困难,因为嵌入的代码段不知道其容器(请参阅源文件/pimcore/models/Document/Tag/snippet.php)。我能想到的最佳解决方案(虽然有点难看)是将名称作为参数传递给代码段,如下所示:

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

然后在snippet视图中获取此参数的值:
<?php echo $this->request->snippetName; ?>

另一种方法是编辑pimcore的源文件以自动传递名称,但请记住,这可能会在更新到pimcore的新版本时导致问题。但是,如果要使用这种方法,请将以下内容添加到文件中:
$params["snippetName"] = $this->name;

就在函数/pimcore/models/Document/Tag/snippet.php中的$params["document"] = $this->snippet;行下面。(在Pimcore 2.1.0中,这是第91行)

09-06 04:48