2015-10-18 109 views
2

我正试图从与正在加载的页面相关的php文件中加载meta标签。从PHP文件中读取Meta标签

元代码的作品,但只有当我将元代码添加到每个页面。

  1. 我宁可不添加元代码到每个页面。
  2. 我想给我们一个包含这个代码在其中
  3. 但包括没有得到填充。

下面的代码:

  1. 再此代码的工作,如果我把它添加到每个页。
  2. 如果我删除并添加一个包含此代码它不会填充元素。

    <?php include("includes/metatgs.php"); ?> 
        <?php if ($page = basename(__FILE__)); ?> 
    <?php { ?> 
        <meta charset='<?php echo $meta[$page]['charset']; ?>'> 
        <title><?php echo $meta[$page]['title']; ?></title> 
        <meta name='description' content='<?php echo $meta[$page]['description'];?>'> 
        <meta name='keywords' content='<?php echo $meta[$page]['keywords']; ?>'> 
    

    metatgs.php:这是我使用的填充METAS什么。

    $meta['index.php']['charset'] = "utf-8"; 
    $meta['index.php']['title'] = "Home"; 
    $meta['index.php']['description'] = "The Description"; 
    $meta['index.php']['keywords'] = "keywords"; 
    
    $meta['about.php']['charset'] = "utf-8"; 
    $meta['about.php']['title'] = "About"; 
    $meta['about.php']['description'] = "The Description"; 
    $meta['about.php']['keywords'] = "keywords"; 
    

我怎样才能添加此代码到包括和填充METAS?

+0

为所有页面定义元数据是动态网页中的难题 您只需要根据数据库数据定义当前页面元数据 – Lion4H

+1

您是否使用了一些模板? – vladkras

+0

100%确定文件正在包含在内?另外,你有没有验证'$ page'是什么? – Chris

回答

1

下面是你可以做的,以获得正确的meta标签到正确的页面。

  1. 创建一个文件夹并将其命名为meta_tags
  2. 在它的基础上的网页创建PHP网页要使用元tags.example index_meta_tags.php,about_meta_tags.php,contact_meta_tags.php在
  3. 你在前的页面。 index.php文件要使用index_meta_tags.php 所以你可以这样写代码

$current_page = basename($_SERVER['PHP_SELF']); //get currect page name ex. index.php 

if(current_page == "index.php"){<br/> 
    include "index_meta_tags.php";<br/> 
}else if(current_page == "about.php"){<br/> 
    include "about_meta_tags.php";<br/> 
}else if(current_page == "contact.php"){<br/> 
    include "contact_meta_tags.php";<br/> 
} 

所以,你将有一个基于网页

+0

为什么我要创建10页做你说的?我的想法是一个包含和一个PHP文件与所需的所有数据? – user5319102

0

右侧meta标签根据您的文章和评论,我的猜测是,$page是不是你所期望的。既然你没有使用include的函数,变量作用域不是问题。根据您的error_reporting()设置,PHP不会为未定义的索引引发错误。

我会建议修改您的error_reporting()设置并查看$page值是什么。然后确保你实际上是定义该页面withing $meta

0

答案数组是 - 我取代

<?php if ($page = basename(__FILE__)); ?> 

与此

<?php if ($page = basename($_SERVER['PHP_SELF'])); ?> 

,因为他提到我可能给Programmatistis信贷($ _ SERVER [ 'PHP_SELF'])。但是真的想想,因为他想重写世界并增加10页而不是我简单的解决方案。