2017-10-05 4 views
0

Je voudrais utiliser une valeur de mon editable dans mon contrôleur de brique. Comment puis-je faire ceci?Accès à la variable modifiable dans le contrôleur de brique

view.html.php

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

Contrôleur

<?php 

namespace AppBundle\Document\Areabrick; 

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

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

Comment puis-je accéder à la variable numérique "parentId" dans mon contrôleur? Je l'ai essayé avec toutes les méthodes possibles de l'objet Info injecté. Mais rien ne semble fonctionner.

Aussi sur le site officiel est rien documenté.

J'utilise pimcore v 5.

Répondre

2

EDIT:. Ceci est une bien meilleure et plus facile de le faire que celui que je initialement posté ci-dessous:

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

Je partais ceci ici au cas où quelqu'un veut comprendre comment les noms sont construits:

$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;