Wenn ich im Layout einen Block erstelle, kann ich benutzerdefinierte Argumente festlegen, zum Beispiel:
<block class="Company\Module\Block\Hello" name="block_name" template="test.phtml">
<arguments>
<argument name="my_arg" xsi:type="string">testvalue</argument>
</arguments>
</block>
Ich kann das Argument später im Block wie folgt abrufen:
$arg = $this->getMyArg();
Wenn ich einen Block programmgesteuert erstelle (gemäß dieser Methode: link ), kann ich benutzerdefinierte Argumente wie folgt festlegen:
$block = $this->frameworkViewLayout
->createBlock(
"Company\Module\Block\Hello",
"block_name",
['my_arg' => 'testvalue']
)
->setData('area', 'frontend')
->setTemplate($template)
->toHtml();
Der Block ist korrekt erstellt und funktioniert einwandfrei. Ich bin mir jedoch nicht sicher, wie ich das Argument später in der Klasse des Blocks abrufen kann . Ich habe versucht, es so zu machen:
$arg = $this->getMyArg();
oder
$arg = $this->getData('my_arg');
Aber es gibt nichts zurück. Was habe ich verpasst?