1

周りを見回して、これについて言及しているスレッドをいくつか見つけましたが、何らかの理由で、MY_Controller を拡張する Public_Controller にページ タイトルを追加すると、機能しません。Public_Controller を拡張する他のコントローラーにページ タイトルを追加しない場合、それらのページ タイトルは "Test Title" になります。しかし、そうではありません。これが私が持っているものです

Public_Controller.php:

class Public_Controller extends MY_Controller
{
function __construct()
{
    parent::__construct();
    $this->data['pageTitle'] = 'Test Title'; // pages without a title should display this
    ....
}

}

Home.php (私のデフォルトのコントローラ... Public_Controller を拡張):

class Home extends Public_Controller {

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

function index()
{ 
   $this->data['pageTitle'] = 'Your page title';

   $data['main_content'] = 'home';

   // My header which contains the <title> is in the template
   $this->load->view('includes/template', $data);
}

}

上記のようにすればうまくいきますが、このセットがない場合はページにタイトルを表示したいです:

$data['pageTitle'] = 'Your page title';

ヘッダー領域:

<title><?php echo $pageTitle; ?> </title>

なぜこれが機能しないのですか?

4

2 に答える 2

3

このようにしてください-

$data['pageTitle'] = 'Your page title';

代わりは

$this->data['pageTitle'] = 'Your page title';
于 2012-12-27T07:26:59.900 に答える
3

あなたはこれを行うことができます:

<title><?php echo (isset($pageTitle)) ? $pageTitle : 'Default title text'; ?> </title>

このようにして、タイトルが設定されていない場合、デフォルト値が出力されます。

于 2012-12-27T07:46:14.573 に答える