Пример #1
0
 /**
  * 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 {
     }
 }
Пример #2
0
 /**
  * @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);
     }
 }
Пример #3
0
 /**
  * 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);
 }