gpt4 book ai didi

php - 我的 codeigniter header.php 中的动态标题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:53 25 4
gpt4 key购买 nike

我有一个 header.php 我正在为每个页面加载我的 Controller 。但是我希望每个页面都有动态标题。我的想法是在加载 View 时将 $title 变量传递到 View 中:

//Home Controller
function index()
{

$data['title'] = "Dynamic Title";

$this->load->view('header', $data);
$this->load->view('layouts/home');
$this->load->view('footer');

}

然后检查我的 header.php 中的 $title 变量

<title>
<?php if ($title)
{
echo $title;
}
else
{
echo 'Default Title';
}
endif; ?>
</title>

但是这不起作用,我得到一个空白页。我认为这是我对 header.php 的语法,但我不明白为什么。

最佳答案

正确的if语法

您在 if 语句 上的语法有点偏离。您可以使用:

if (condition) {
// do a
} else {
// do b
}

或者

if (condition) :
// do a
else :
// do b
endif;

你好像把后者的结局换成了前者。

在标题中使用三元运算符

完成更改后,您的标题可以轻松打印为:

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

替代 View 加载

加载 View 的另一种方法是使用单个模板文件:

$data['title'] = 'Foo Bar';
$data['content'] = 'indexPage';

$this->load->view('template', $data);

这会将 template.php 文件加载为您的 View 。在此文件中,您加载后续部分:

<?php $this->load->view("_header"); ?>
<?php $this->load->view($content); ?>
<?php $this->load->view("_footer"); ?>

这绝不是必需的,但它可以帮助您在 Controller 中保持简洁。

关于php - 我的 codeigniter header.php 中的动态标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com