我以这种方式使用 Pimcore 的片段:
<?php echo $this->snippet("mySnippet"); ?>
如何从视图/控制器中获取片段的名称(“mySnippet”)?
谢谢。
我以这种方式使用 Pimcore 的片段:
<?php echo $this->snippet("mySnippet"); ?>
如何从视图/控制器中获取片段的名称(“mySnippet”)?
谢谢。
获取可编辑片段的名称有点困难,因为嵌入的片段没有任何关于其容器的知识(请参阅源文件/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 行)