Доступ к редактируемой переменной в контроллере кирпича

Я хотел бы использовать значение моего редактируемого в моем контроллере кирпича. Как я могу это сделать?

view.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.


person thmspl    schedule 05.10.2017    source источник


Ответы (1)


РЕДАКТИРОВАТЬ: это гораздо лучший и простой способ сделать это, чем тот, который я изначально опубликовал ниже:

$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;
person Igor Benko    schedule 08.10.2017
comment
У вас есть ссылка? Для чего числовое значение? - person dude; 19.08.2019
comment
'numeric' — это тип редактируемого поля (например, $this-›numeric()), а parentId — имя редактируемого поля (например, $this-›numeric('parentId')). - person Igor Benko; 19.08.2019