/** * Imposta il titolo della pagina secondo i seguenti criteri: * <ul> * <li>Se la proprietà <code>$pageTitle</code> non è impostata viene utilizzato il parametro * <code>'title'</code> dell'applicazione. Se nemmeno quest'ultimo è impostato viene sollevata * un'eccezione.</li> * <li>Se la proprietà <code>$pageTitle</code> è assegnata, allora viene utilizzato il parametro * <code>'title'</code> dell'applicazione come prefisso, sempre che sia stato impostato. Il separatore * tra il prefisso e il titolo della pagina può essere specificato tramite il parametro <code>'titleSeparator'</code> * dell'applicazione. Altrimenti viene utilizzato di default il carattere '-'.</li> * </ul> * Quindi imposta la descrizione della pagina secondo i seguenti criteri: * <ul> * <li>Se la proprietà <code>$pageDescription</code> non è assegnata esplicitamente viene utilizzato * il parametro <code>'description'</code> dell'applicazione.</li> * <li>Se nemmeno il parametro <code>'description'</code> è assegnato viene sollevata un'eccezione</li> * </ul> * Le impostazioni vengono fatte in questo metodo per consentire l'assegnazione del valore * alla proprietà <code>$pageTitle</code> e <code>$pageDescription</code> nella view invece che nel controller. * @throws \yii\base\InvalidConfigException Se nessun titolo o nessuna descrizione sono stati impostati */ public function afterRender($viewFile, $params, &$output) { parent::afterRender($viewFile, $params, $output); # titolo if ($this->pageTitle) { if (isset(Yii::$app->params['title'])) { $this->title = Yii::$app->params['title'] . ' ' . (isset(Yii::$app->params['titleSeparator']) ? Yii::$app->params['titleSeparator'] : '-') . ' ' . $this->pageTitle; } } else { if (isset(Yii::$app->params['title'])) { $this->title = Yii::$app->params['title']; } else { throw new \yii\base\InvalidConfigException('Il parametro \'title\' non è stato impostato.'); } } # descrizione if (!$this->pageDescription) { if (isset(Yii::$app->params['description'])) { $this->pageDescription = Yii::$app->params['description']; } else { throw new \yii\base\InvalidConfigException('Il parametro \'description\' non è stato impostato.'); } } else { } }
/** * @inheritdoc */ public function afterRender($viewFile, $params, &$output) { parent::afterRender($viewFile, $params, $output); if (isset($params['dataProvider']) && $params['dataProvider'] instanceof DataProviderInterface && $params['dataProvider']->pagination instanceof Pagination) { $this->title .= $this->getPage($params['dataProvider']->pagination); } }
/** * This method is invoked right after [[renderFile()]] renders a view file. * The default implementation will trigger the [[EVENT_AFTER_RENDER]] event. * If you override this method, make sure you call the parent implementation first. * @param string $viewFile the view file being rendered. * @param array $params the parameter array passed to the [[render()]] method. * @param string $output the rendering result of the view file. Updates to this parameter * will be passed back and returned by [[renderFile()]]. */ public function afterRender($viewFile, $params, &$output) { parent::afterRender($viewFile, $params, $output); array_pop($this->viewFiles); }