Text only
Passing values to layout and other views
/raw/3269fd232e5f448ef5ec6923944c4064/
3269fd232e5f448ef5ec6923944c4064
text
Text only
18
2025-04-04T11:37:09
True
False
False
Jan 14, 2017 at 08:14 PM
/api/public/snipt/8/
passing-values-to-layout-and-other-views
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a>
<a href="#L-2"> 2</a>
<a href="#L-3"> 3</a>
<a href="#L-4"> 4</a>
<a href="#L-5"> 5</a>
<a href="#L-6"> 6</a>
<a href="#L-7"> 7</a>
<a href="#L-8"> 8</a>
<a href="#L-9"> 9</a>
<a href="#L-10">10</a>
<a href="#L-11">11</a>
<a href="#L-12">12</a>
<a href="#L-13">13</a>
<a href="#L-14">14</a>
<a href="#L-15">15</a>
<a href="#L-16">16</a>
<a href="#L-17">17</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a>yii\base\View has special $params property.
</span><span id="L-2"><a name="L-2"></a>
</span><span id="L-3"><a name="L-3"></a>For example it's used for building breadcrumbs in default generated CRUD code templates with Gii.
</span><span id="L-4"><a name="L-4"></a>
</span><span id="L-5"><a name="L-5"></a>You can set it like this before rendering:
</span><span id="L-6"><a name="L-6"></a>
</span><span id="L-7"><a name="L-7"></a>use Yii;
</span><span id="L-8"><a name="L-8"></a>
</span><span id="L-9"><a name="L-9"></a>Yii::$app->view->params['customParam'] = 'customValue';
</span><span id="L-10"><a name="L-10"></a>Inside a controller you can set it like this:
</span><span id="L-11"><a name="L-11"></a>
</span><span id="L-12"><a name="L-12"></a>$this->view->params['customParam'] = 'customValue';
</span><span id="L-13"><a name="L-13"></a>Then it will be available in views (including main layout):
</span><span id="L-14"><a name="L-14"></a>
</span><span id="L-15"><a name="L-15"></a>/* @var $this yii\web\View */
</span><span id="L-16"><a name="L-16"></a>
</span><span id="L-17"><a name="L-17"></a>echo $this->params['customParam'];
</span></pre></div>
</td></tr></table>