2010-11-19 9 views
6

Aus irgendeinem Grund kann ich nicht die richtige Syntax finden, um eine Variable von meinem Controller (profileController) an eine partielle (video.phtml) zu übergeben.Eine Variable vom Controller zu einem Partial in Zend übergeben

Ich weiß, dass Sie Variablen Ansichten wie diese

$this->view->somedata = "somedata"; 

passieren und Sie ziehen es in der Ansicht mit

< ?= $this->somedata ?> 

wie würden Sie so für eine teilweise tun?

Antwort

14

Wenn Sie die partielle (wahrscheinlich aus der Sicht, rechts) <?php echo $this->partial(scriptpath, [module], [data])?> rendern, können Sie auch ein Modul übergeben, in dem sich das Skript befindet, und Daten, auf die der Teil zugreifen soll. Dies ist der Grund für Teiltöne, nur bestimmte Daten zu sehen.

Also, sagen Sie, Sie haben das folgende Szenario: Sie schieben eine Menge Daten vom Controller in die Ansicht. In einem bestimmten Teil, der an mehreren Stellen in Ihrer App wiederverwendet wird, möchten Sie sicherstellen, dass er nur auf einen bestimmten Datentyp zugreifen kann und die Daten beim Rendern konsistent benannt werden sollen. Sie würden dann so etwas wie:

In der Steuerung:

$this->view->namedVariableThatCouldBeWhatever = $data; 

Nach Ansicht:

echo $this->partial(
    $partialName, 
    array (
    'standardName' => $this->namedVariableThatCouldBeWhatever 
) 
); 

Im Teil:

<?php foreach($this->standardName as $item) : ?> 
    //render partial 
<?php endforeach; ?> 
+0

Dank Patrik! Du bist der beste ! – TuK

+0

Das Beste? Einverstanden. – PurplePilot

+0

Super! Patrik Your Rock. –

Verwandte Themen