Page 1 of 1

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

Posted: Sat Oct 26, 2013 11:08 pm
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, если после этого включить куки - то все нормально ( без кеша )

Вопрос такой - можно вообще два раза использовать такую конструкцию, или не стоит ? Причину отловить не могу, но было на паре ресурсов и сейчас на двух появляется периодически.

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

Posted: Sun Oct 27, 2013 2:44 am
by admin
Этот вариант немного неудобный, мне кажется вам будет удобнее использовать таг <!--TEMPLATE_NAME--> что и решит вашу проблему вероятнее всего.

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

Posted: Sun Oct 27, 2013 6:33 am
by darkover
Т.е. вот таким образом, к примеру

Code: Select all

<?php if (<!--TEMPLATE_NAME == content_page) {?>

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

Posted: Sun Oct 27, 2013 1:03 pm
by admin
<?php if ('<!--TEMPLATE_NAME-->' == 'content_page') {?>

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

Posted: Sun Oct 27, 2013 1:10 pm
by darkover
admin wrote:<?php if ('<!--TEMPLATE_NAME-->' == 'content_page') {?>
Благодарю! А почему иногда $_GET второй раз не срабатывал ? Я так и не отловил этот баг

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

Posted: Sun Oct 27, 2013 1:46 pm
by admin
Думаю потому что вы использовали его где нет в GET этого парметра нет, тк вы использовали урлы со slug и не content_id

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

Posted: Sun Oct 27, 2013 1:57 pm
by darkover
admin wrote:Думаю потому что вы использовали его где нет в GET этого парметра нет, тк вы использовали урлы со slug и не content_id
Да, верно, урлы со slug, спасибо!
А для meta использовать <TEMPLATE_NAME> или $_GET оставить ?

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

Posted: Sun Oct 27, 2013 2:09 pm
by admin
Не имеет значения.