0

私はほとんどすべてを試しましたが、以下を実行することはできません。

<?php

class BaseController extends Controller {

  // Define frontpage layout manager
  protected $layout = '';

  public function __construct() {
    parent::__construct();

    $theme = Theme::where('enabled', '=', true)->first();

    // HERE !! : This never changes the value of $layout class var
    $this->layout = View::make('themes.front.' . $theme->folder . '.master'); 
    // I also tried without View::make(..)
    // I also checked that $theme returns something and it does return a theme


  }

  /**
   * Setup the layout used by the controller.
   *
   * @return void
   */
  protected function setupLayout()
  {
    if ( ! is_null($this->layout))
    {
      $this->layout = View::make($this->layout);
    }
  }

}

コンストラクターで $layout の値を変更することはできません。ユーザーがレイアウトを切り替えられるようにするために、これが必要です。

4

1 に答える 1