Форумы портала PHP.SU » » Вопросы новичков » определяем что мы на главной странице

Страниц (1): [1]
 

1. LEONeso - 19 Июля, 2011 - 10:11:29 - перейти к сообщению
Как реализовать, условие, которое бы отображала часть кода только на главной странице?

Если прислушаться моей логики, то это будет просто


или



Возможен иной способ реализации?

м.б.?
PHP:
скопировать код в буфер обмена
  1. if($_SERVER['REQUEST_URI']=='' || $_SERVER['REQUEST_URI']==false) {}
2. vlom - 19 Июля, 2011 - 10:17:31 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.       switch($_GET['actions']){
  3.          case "value":
  4.             //Выполняем действие)))
  5.             break;
  6.          
  7.          default :
  8.             //По умолчанию если не заданно значение переменной $_GET['actions']
  9.             break;
  10.       }
  11.  

можно так))
3. Мелкий - 19 Июля, 2011 - 10:18:04 - перейти к сообщению
LEONeso пишет:
if(!isset($_GET) && !isset($_POST)) {}

$_GET, $_POST и прочие суперглобальные массивы существуют всегда, но могут быть пусты. Поэтому эта проверка лишена смысла.

LEONeso пишет:
if($_SERVER['REQUEST_URI']==''

index.(чего-нибудь) тоже титульная страница, но под условие не попадёт.

Ну а ответ на вопрос зависит от структуры движка сайта - если сайт имеет единую точку входа, значит надо смотреть, какой параметр определяет отображаемую страницу и проверять на пустоту именно его.
4. EuGen - 19 Июля, 2011 - 10:44:40 - перейти к сообщению
Я бы рекомендовал так:
PHP:
скопировать код в буфер обмена
  1. //Все страницы, которые считать "главными"
  2. $rgIndexPages=array('index.php', 'index.html');
  3. //определяем, главная страница или нет (true/false):
  4. $bIsOnIndex=in_array(pathinfo($_SERVER['SCRIPT_FILENAME'], PATHINFO_BASENAME), $rgIndexPages);
  5.  

Правда, если страниц с именем "index.php" например, несколько и они в разных частях сайта, то лучше в $rgIndexPages вносить не имена php-файлов а имена вместе с абсолютным путем и использовать просто $_SERVER['SCRIPT_FILENAME'] (или же __FILE__) для поиска.
5. Конструктор - 19 Июля, 2011 - 15:41:48 - перейти к сообщению
Может EuGen и привел оптимальный код,
но т.к. я в нем сходу не разобрался, то сделал бы так =)) :

PHP:
скопировать код в буфер обмена
  1. function IsURLCurrentPage($url)
  2. {
  3. // проверим совападает ли адрес исполняемой страницы с $url
  4.   if(strpos)( $_SERVER['PHP_SELF'], $url ) == false)
  5.   {
  6.         return false;
  7.   }
  8.     else
  9.   {
  10.         return true;
  11.   }
  12. }
  13.  
  14. if (IsURLCurrentPage($url)) //*
  15.   {
  16.      // здесь нужный код для главной страницы
  17.   }
  18. *//


для работы функции IsURLCurrentPage($url), необходимо присвоить переменной $url имя главной страницы.
6. LifePlay - 19 Июля, 2011 - 19:46:40 - перейти к сообщению
в index.php определяеш
$reklama_index = TRUE

В условии
if(isset($reklama_index) && $reklama_index)
{

}
7. LEONeso - 19 Июля, 2011 - 19:59:22 - перейти к сообщению
Конструктор, в это что-то есть. Просто с точки зрения SEO и логического юзабилити... не стоит публиковать на странице ссылки, которые бы выли на эту же страницу, давайте рассмотрим маленький пример, реального и известного сайта, я имею введу Яндекс.

Зайдем на главную страницу Яндекса.
Независимо от персонализации сайта, снизу будет такой текст "© 2011 «Яндекс»"
Теперь перейдем в поисковую выдачу.
Ищем привычный нам текст "© 1997—2011 «Яндекс»" - да он (текст) изменился, но суть в том, что слово "Яндекс" стало ссылкой на главную страницу.
От сюда вывод... не стоит ссылаться на просматриваемую страницу.


Вот и я решил подумать над тем, чтобы проверять ссылки: "А не ссылается ли она на саму же себя?".
8. Конструктор - 19 Июля, 2011 - 20:52:26 - перейти к сообщению
LEONeso пишет:
Вот и я решил подумать над тем, чтобы проверять ссылки: "А не ссылается ли она на саму же себя?".

А как Вы генерируете страницы? Через классы страниц, или каждую отдельно? Ссылка на текущую и соседние страницы, например, как выводятся?
Если через классы , то для оставшихся страниц можно сделать класс наследник и переопределить в нем метод вывода текущей ссылки.
Если все стницы отдельно, то подойдет код который я писал до этого, (или который приводили еще выше = )) ).

 

Powered by ExBB FM 1.0 RC1