2015-10-18 89 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頁而不是我簡單的解決方案。