我用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行)