3

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

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

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

谢谢。

4

1 回答 1

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

于 2014-04-02T14:40:25.553 回答