1

我想在我的砖控制器中使用我的可编辑值。我怎样才能做到这一点?

视图.html.php

<?php
/**
 * @var \Pimcore\Templating\PhpEngine $this
 * @var \Pimcore\Templating\PhpEngine $view
 * @var \Pimcore\Templating\GlobalVariables $app
 */
?>    
<?php echo $this->numeric("parentId"); ?>

控制器

<?php

namespace AppBundle\Document\Areabrick;

use Pimcore\Model\Document\Tag\Area\Info;

class GalleryCaroussel extends AbstractAreabrick {
    public function action(Info $info){
    }
}

如何访问控制器中的数字变量“parentId”?我已经使用注入的 Info 对象的所有可能方法对其进行了尝试。但似乎没有任何效果。

在官方网站上也没有任何记录。

我正在使用 pimcore v. 5。

4

1 回答 1

3

编辑:与我最初在下面发布的方法相比,这是一种更好、更简单的方法:

$field = $this->getDocumentTag($info->getDocument(), 'numeric', 'parentId');

如果有人想了解名称的构建方式,我将把它留在这里:

$view = $info->getView();
$document = $view->get('document');

/** @var \Pimcore\Document\Tag\NamingStrategy\NestedNamingStrategy $strategy */
$strategy = $this->container->get('pimcore.document.tag.naming.strategy');

$brickName = $info->getTag()->getName();
$index = $info->index + 1;
$editableName = 'parentId';
$brickType = $this->id;

$elementId = $strategy->buildChildElementTagName($editableName, $brickType, [$brickName], $index);
$element = $document->getElement($elementId);
$editableValue = $element->number;
于 2017-10-08T20:54:44.687 回答