2015-10-18 4 views
2

Я пытаюсь загрузить метатеги из файла php, относящегося к загружаемой странице.Прочитать метатеги из файла PHP

Мета-код работает, но только если я добавлю мета код на каждую страницу.

  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

определение мета для всех страниц - это жесткий подход в динамической сети . Вам нужно всего лишь определить текущую мета-страницу на основе данных db. – Lion4H

+1

Вы используете какой-то шаблон? – vladkras

+0

100% уверен, что файл включен? Кроме того, вы проверили, что такое '$ page'? – Chris

ответ

1

Вот что вы можете сделать, чтобы получить правильные метатеги на правильной странице.

  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 страниц, чтобы сделать то, что вы сказали? Моя идея - это один include и один php-файл со всеми необходимыми данными? – user5319102

0

По вашему сообщению и комментарии, я думаю, что $page - это не то, что вы ожидаете от этого. Поскольку вы не используете какую-либо функцию с включением, переменная область не является проблемой. В зависимости от вашей настройки error_reporting() PHP не будет вызывать ошибку для неопределенного индекса.

Я бы рекомендовал изменить настройку error_reporting() и посмотреть, что такое значение $page.Затем убедитесь, что вы на самом деле определения массива для этой страницы жгутов $meta

0

Ответ - я заменил

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

с этим

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

Я мог бы дать Programmatistis кредит, так как он упомянул ($ _SERVER [ 'PHP_SELF']). Но на самом деле думать об этом, так как он хотел переписать мир и добавить еще 10 страниц, а не мое простое решение.

Смежные вопросы