php if ($_GET['content_id'] в шаблонах

Post Reply
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

php if ($_GET['content_id'] в шаблонах

Post by darkover »

Использую такую конструкцию в шаблоне хедер, для мета тегов, что бы на разных страницах они были разные

Code: Select all

<?php if ($_GET['content_id']) {?>

<?php } elseif ($_GET['group_id']) { ?>

<?php } elseif ($_GET['search']) { ?>

<?php } elseif ($_GET['tag']) { ?>

<?php } else { ?>
чуть ниже в этом же шаблоне использую такую же конструкцию для разного html на разных страницах

Code: Select all

<?php if ($_GET['content_id']) {?>
тут к примеру zzz1
<?php } elseif ($_GET['group_id']) { ?>
тут к примеру zzz2
<?php } elseif ($_GET['search']) { ?>
тут к примеру zzz3
<?php } elseif ($_GET['tag']) { ?>
тут к примеру zzz4
<?php } else { ?>
тут к примеру zzz5

Иногда, вторая конструкция на content_id не срабатывает, и в кеш попадает страница, где вместо zzz1, выведен zzz5, если после этого включить куки - то все нормально ( без кеша )

Вопрос такой - можно вообще два раза использовать такую конструкцию, или не стоит ? Причину отловить не могу, но было на паре ресурсов и сейчас на двух появляется периодически.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php if ($_GET['content_id'] в шаблонах

Post by admin »

Этот вариант немного неудобный, мне кажется вам будет удобнее использовать таг <!--TEMPLATE_NAME--> что и решит вашу проблему вероятнее всего.
Don't forget to run script update
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: php if ($_GET['content_id'] в шаблонах

Post by darkover »

Т.е. вот таким образом, к примеру

Code: Select all

<?php if (<!--TEMPLATE_NAME == content_page) {?>
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php if ($_GET['content_id'] в шаблонах

Post by admin »

<?php if ('<!--TEMPLATE_NAME-->' == 'content_page') {?>
Don't forget to run script update
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: php if ($_GET['content_id'] в шаблонах

Post by darkover »

admin wrote:<?php if ('<!--TEMPLATE_NAME-->' == 'content_page') {?>
Благодарю! А почему иногда $_GET второй раз не срабатывал ? Я так и не отловил этот баг
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php if ($_GET['content_id'] в шаблонах

Post by admin »

Думаю потому что вы использовали его где нет в GET этого парметра нет, тк вы использовали урлы со slug и не content_id
Don't forget to run script update
darkover
Posts: 1574
Joined: Sat Apr 13, 2013 8:59 pm

Re: php if ($_GET['content_id'] в шаблонах

Post by darkover »

admin wrote:Думаю потому что вы использовали его где нет в GET этого парметра нет, тк вы использовали урлы со slug и не content_id
Да, верно, урлы со slug, спасибо!
А для meta использовать <TEMPLATE_NAME> или $_GET оставить ?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: php if ($_GET['content_id'] в шаблонах

Post by admin »

Не имеет значения.
Don't forget to run script update
Post Reply