Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 10/05/12 в 08:33 |
Сейчас тайтл страницы формируется так
Код: [развернуть] | <title><?php echo $title_bar." - ".$title_desc.$pagedisplay;?></title> |
я хочу что бы для главной был
<title><?php echo $title_bar ?></title>
для отсальных
<title><?php echo $title_desc.$pagedisplay;?></title>
пишу
Код: [развернуть] | <?php
if($_SERVER['REQUEST_URI'] == '/'){
<title> echo "$title_bar"; </title>
}else{
<title> echo "$title_desc.$pagedisplay";</title>
}
?> |
Не работает, подскажите где ошибка
|
|
|
|
С нами с 22.05.09
Сообщения: 639
Рейтинг: 1087
|
Добавлено: 10/05/12 в 08:52 |
densa: Сначала проверь, чо у тебя там в $_SERVER['REQUEST_URI']
echo $_SERVER['REQUEST_URI'];
|
|
|
|
Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 10/05/12 в 09:02 |
вот это вернуло
/
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 10/05/12 в 09:06 |
Попробуй сначала протестировать для корня домена и для остальный страниц текущий echo $_SERVER['REQUEST_URI']; Катина станет яснее.
Возможно тебе нужно что-то вроде:
Код: | <?php
if(!$_SERVER['REQUEST_URI']){
<title>echo "$title_desc.$pagedisplay";</title>
}else{
<title>echo "$title_bar";</title>
}
?> |
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 10/05/12 в 09:08 |
Ещё вариант, используй вместо "==" - "==="
|
|
|
|
Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 10/05/12 в 09:51 |
Vyacheslav писал: |
Возможно тебе нужно что-то вроде:
Код: | <?php
if(!$_SERVER['REQUEST_URI']){
<title>echo "$title_desc.$pagedisplay";</title>
}else{
<title>echo "$title_bar";</title>
}
?> | |
Не работает
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 10/05/12 в 10:00 |
Код: | <title>
<?php
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php') {
echo $title_bar;
} else {
echo $title_desc . $pagedisplay;
}
?>
</title> |
Последний раз редактировалось: samedi (10/05/12 в 10:04), всего редактировалось 1 раз
|
|
|
|
С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970
|
Добавлено: 10/05/12 в 10:03 |
Может лучше
Код: | isset($_SERVER['QUERY_STRING']) |
?
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 10/05/12 в 10:12 |
gimcnuk писал: | Может лучше
Код: | isset($_SERVER['QUERY_STRING']) |
? |
Может не работать с permalinks.
|
|
|
|
Клева
С нами с 07.02.04
Сообщения: 12781
Рейтинг: 3531
|
Добавлено: 10/05/12 в 10:22 |
samedi писал: | Код: | <title>
<?php
if ($_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php') {
echo $title_bar;
} else {
echo $title_desc . $pagedisplay;
}
?>
</title> | |
Отлично, то что надо. Спасибо большое
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 10/05/12 в 11:50 |
а не проще написать if($_SERVER['PHP_SELF'] === '/index.php') ?
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 10/05/12 в 12:11 |
Emperor писал: | а не проще написать if($_SERVER['PHP_SELF'] === '/index.php') ? |
браво!
только предлагаю еще на байт укоротить, не "===" а "==", ты ведь не сравниваешь возможный FALSE с, например, пустой строкой '', ибо
(FALSE == '') вернет TRUE
(FALSE === '') вернет FALSE
а в случае с явно указанной строкой ни к чему три знака равенства
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 10/05/12 в 12:42 |
Emperor писал: | а не проще написать if($_SERVER['PHP_SELF'] === '/index.php') ? |
Не проще. Не будет работать example.com/index.php?page_id=2 example.com/category/second
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 10/05/12 в 12:44 |
AWD писал: | браво!
только предлагаю еще на байт укоротить, не "===" а "==", ты ведь не сравниваешь возможный FALSE с, например, пустой строкой '', ибо
(FALSE == '') вернет TRUE
(FALSE === '') вернет FALSE
а в случае с явно указанной строкой ни к чему три знака равенства |
Только предлагаю вообще условие удалить, так как в файле index.php код будет выполняться всегда.
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 10/05/12 в 12:58 |
samedi писал: | Только предлагаю вообще условие удалить, так как в файле index.php код будет выполняться всегда. |
согласен, ступил. по диагонали читал и забыл про квери_стринг
тогда
if ($_SERVER['PHP_SELF'] == '/index.php' && !$_SERVER['QUERY_STRING'])
....
все равно укоротил. вот так меня сегодня шмаль вставила - укорачивать длинное
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 10/05/12 в 13:00 |
samedi писал: | Не будет работать example.com/index.php?page_id=2 |
почему не будет? у меня работает
|
|
|
|
С нами с 05.05.05
Сообщения: 470
Рейтинг: 426
|
Добавлено: 10/05/12 в 13:03 |
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 10/05/12 в 13:15 |
Emperor писал: | мы же строку со строкой сравниваем, не? |
я же говорил, сегодня у меня манечка укорачивать
вообще ты прав, и === выполняется в ~1,5 раза быстрее, чем ==, ибо не происходит проверка и или/приведение типов.
просто, я как старый сишник пишу ==, вот и выё...
исчезаю...
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 10/05/12 в 19:51 |
Emperor писал: | почему не будет? у меня работает |
Потому что index.php может выполняться не только при обращении к главной странице.
|
|
|
|
С нами с 03.02.11
Сообщения: 842
Рейтинг: 301
|
Добавлено: 10/05/12 в 20:37 |
samedi писал: | Потому что index.php может выполняться не только при обращении к главной странице. |
по ходу все эти пережовывания ни к чему.
твой вариант единственно верный и почти универсальный, за исключением случаев, когда индексная страница называется по другому (ну, там, main.php). я, вот, не знаю способа, как из пхп узнать DirectoryIndex.
|
|
|
|