我试图使用构造函数在每一页上放置一个标题,除非我指定了特定页面的标题。。。
对于"如何工作"页面。。标题应该是"TeamPlayer-它是如何工作的!"(目前有效)对于常见问题页面,标题应该是"TeamPlayer"(目前不起作用)。
我不想把$data['title']='TeamPlayer';在每个功能中。我该如何解决我的问题?
function __construct()
{
parent::__construct();
$data['title'] = 'TeamPlayer';
}
public function howitworks()
{
$data['title'] = 'TeamPlayer - How it works!';
load_page('howitworks', $data);
}
public function faq()
{
load_page('faq', $data);
}
编辑:::
我不明白我怎么能在我的问题上更具描述性。。为了帮助那些试图帮助的人。。。以下是我如何在我的观点中呼应我的头衔。我尝试使用提供的一些解决方案,但无法使它们在我的控制器中发挥作用
<title><?php echo $title; ?></title>
与其为每个标题创建一个函数,为什么不使用一个函数来设置标题:
private $title;
public function setTitle($title) {
$this->title = $title;
}
所以在你的howitworks函数中,你可以设置标题
public function howitworks()
{
$this->setTitle('TeamPlayer - How it works!');
load_page('howitworks', $data);
}
function __construct($title=NULL) {
parent::__construct();
if ($title===NULL)
$data['title'] = 'TeamPlayer';
}
您的解决方案并不是很灵活。如果你想进一步专门化那些页面(想想SEO的标签,导航面板的额外元素等等…)
为每个页面创建子类,这些子类(除其他外)将更新标题。然后load_page可以实例化适当的类。