在砖控制器中访问可编辑变量
Accessing editable variable in brick controller
我想在我的砖块控制器中使用我的可编辑值。我该怎么做?
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。
编辑:与我最初在下面发布的方法相比,这是一种更好、更简单的方法:
$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;
我想在我的砖块控制器中使用我的可编辑值。我该怎么做?
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。
编辑:与我最初在下面发布的方法相比,这是一种更好、更简单的方法:
$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;