动态元标记通过助手或库为每个函数或codeigniter 3中的每个页面

时间:2017-05-29 04:34:55

标签: codeigniter codeigniter-3 meta-tags codeigniter-helpers

您好我想通过codeigniter 3中的帮助器或库生成动态Meta标签

我正在创建没有模型的静态网站。

我有 - Header.php - 有标题部分和元标记。

middle_page.php

footer.php

如果我在我的控制器函数中调用meta()html帮助器,就像索引一样,生成的元标记显示在页面顶部意味着上面减少了header.php

如果我在函数和header.php中调用meta标签,那么如何为其编写帮助器或库?echo meta();那么应该生成特定的元标记。

我已尝试过Stackoverflow的许多其他答案,但这些答案对我不起作用。

您的帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

遵循这种模式也许它会帮助你

IN控制器

<?php
function show_home() {
    $data['page'] = 'home';
    $this->load->view('header',$data);
    $this->load->view('home');
    $this->load->view('footer');
}
function show_contact_us() {
    $data['page'] = 'contact_us';
    $this->load->view('header',$data);
    $this->load->view('contact_us');
    $this->load->view('footer');
}
 ?>

创建帮助程序meta.php

<?php
    function meta($page) {
        $meta = '<meta charset="utf-8">';
        switch ($page) {
            case 'home':
                $meta .= '<meta name="description" content="Home page description">';
                $meta .= '<meta name="keywords" content="Home page keywords">';
                break;
            case 'contact_us':
                $meta .= '<meta name="description" content="Contact us page description">';
                $meta .= '<meta name="keywords" content="Contact us page keywords">';
                break;
            default:
                $meta .= '<meta name="description" content="default page description">';
                $meta .= '<meta name="keywords" content="default page keywords">';
                break;
        }
        return $meta;
    }
?>

在autoload.php中加载元助手

$autoload['helper'] = array("meta");

在单个视图的标题中调用元函数

echo meta($page);