2016-04-07 1 views
3

je pimcore \ Modèle \ Document \ Tag \ Areablock avec table d'éléments d'arbres des indices:Comment obtenir un objet à partir d'indices dans Areablock?

array(3) { 
    [0]=> 
    array(2) { 
     ["key"]=> 
     string(1) "3" 
     ["type"]=> 
     string(8) "newsData" 
    } 
    [1]=> 
    array(2) { 
     ["key"]=> 
     string(1) "1" 
     ["type"]=> 
     string(7) "wysiwyg" 
    } 
    [2]=> 
    array(2) { 
     ["key"]=> 
     string(1) "2" 
     ["type"]=> 
     string(12) "videogallery" 
    } 
} 

Comment pourrais-je obtenir l'objet newsData de l'objet Areablock?

Je ne trouve pas de fonction dans Areablock pour cela et je ne sais pas comment obtenir la date.

Merci d'avance.

Répondre

3

Les Areabricks ne sont pas des sous-éléments du bloc réel, mais sont des éléments directs du document courant. Leurs noms sont simplement construits différemment.

$areablock = $this->areablock("yourAreablock"); 

foreach ($areablock->getData() as $brick) { 
    if ($brick["type"] == "yourAreaBrickName") { 
     $nameOfTheEditableInBrick = "bigtitle"; 
     $indexOfTheAreaBrick = $brick["key"]; 
     // This is your element 
     $subelement = $this->document->getElement($nameOfTheEditableInBrick . $areablock->getName() . $brick["key"]); 
    } 
}