Стань автором!

Опубликуй интересную другим пользователям статью на сайте!

Подписаться на RSS ленту сайта Добавить страницу в закладки Создание и продвижение сайтов Дизайн сайтов Сайт-визитка Сателлиты Продвижение сайтов


Создание отдельной статической страницы для сайта на CMS » Блог Обычного веб-мастера

Новость опубликована в разделе Разработка сайтов

Часто бывает необходимо, что бы на сайте, который размещён на CMS, в принципе, не важно на какой: Wordpress или Joomla, Drupal или даже что-то самописное, была встроена просто статичная страница с произвольным содержимым, то есть что бы по запросу domen.ru/pages42 открывалась необходимое нам содержимое таблицы или какай-то скрипт, который отсутствует в сборке CMS и нет подобных плагинов.

Как же сделать подобный ход? Написать новый плагин, который можно было бы встроить в движок не каждому дано. Я, например, не взялся за бы за это. Есть другой выход – поковыряться в самом шаблоне и встроить вызов определённого файла (например, сделать его вызов инклудом) на определённой странице.

Перейдём к примерам:

Ситуация 1

Нам необходимо изменить стандартное содержание главной страницы, то есть, например, в CMS Wordpress на главной странице по умолчанию осуществляется вывод последних статей, добавленных на сайт, либо просто какая-то отдельная статья (страница). Нам же необходимо создать что-то подобное этой морды на сайте.

Для этого используем серверную функцию $_SERVER['QUERY_STRING'], которая позволяет определить «хвост» страницы после домена, то есть, если нам необходимо определить адрес страницы domen.ru/?page=45 функция нам выведет ?page=45. Именно от уникальности подобного хвоста для каждой страницы, мы и будем отталкиваться при написании этой вставки кода. Стоит отметить, что при включённом ЧПУ необходимо проверять точный вывод данной функции, потому как URL в адресе не всегда моет соответствовать именно URL серверному (надеюсь, вы поняли меня).

  • if ($_SERVER['QUERY_STRING'] == ») {
    include(‘script.php’);
    } else {
    // вставка обычного «тела» шаблона
    }

Таким образом при «нулевом» хвосте, то есть на главной странице сайта мы получаем вывод необходимого нам скрипта, в котором мы можем самостоятельно написать вывод того, что нам необходимо, либо просто создать статичную конструкцию на html вот такого вида.

Ситуация 2

Предположим, в некоторых разделах страницы, например, в самих разделах меню, нам необходим вывод определённого блока перед основной частью страницы. Не важно, что это может быть и как это можно реализовать с помощью специальных плагинов, а важно лишь то, как это сделать руками на базе шаблона:

  • if ($_SERVER['QUERY_STRING'] == ») {
    include(‘script.php’);
    }

В данном случае необходимо «пропускать» наш «хвост» через «фильтр» регулярных выражений, что бы определить где именно у нас находятся необходимые нам типы страниц и когда именно выводить нужный код.

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

Ситуация 3

Выводим необходимый нам код или скрипт вместо определённой внутренней страницы на сайте. Например, нам необходимо вывести вместе стандартной 404 ошибки список пользователей на сайте – мы пишем код, который бы делал выборку и сортировку имён из таблицы и с помощью такого вызова вместо пустой страницы получаем наш код. Что-то подобное было реализовано у меня на сайте на странице Услуги, но там я пошёл чуть дальше и уже подключал к новой странице JS библиотеки, другие php скрипты (можно запутаться кстати потом в инклудах), а так же кучу сторонних файлов.

  • if ($_SERVER['QUERY_STRING'] == ‘com_conponent=content&page=45′) {
    include(‘script/my_script.php’);
    } else {
    // вставка обычного «тела» шаблона
    }

Таким образом можно получить именно тот код вместо простого вывода. Данная функция будет полезна тогда, когда на определённой странице не достаточно просто стандартной функции оформления текста или других элементов или когда необходимо вставить в «тело» сайта форум, чат, скрипт доски объявления или что-то «своё», а CMS это не позволяет или это сложнее.

Если кому-то помог, буду рад, а вообще жду комментариев к статье. : )

19


19 комментариев на "Создание отдельной статической страницы для сайта на CMS"

урны продажа
25.02.2010

И опять об этом. Если поисковики научатся понимать смысл, то блогерам придется поизголяться, чтобы быть читаемыми и не похожими на других.

Спасибо, давно мучился с реализацией этой функции на wordpress. Однозначно в закладки!

chippi
26.02.2010

Наткнулся случайно на Ваш блог. Теперь стану постоянно просматривать. Надеюсь, не разочаруете и дальше

26.02.2010

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

26.02.2010

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

28.02.2010

Не-по-моему лучше всего всегда начинать с 0-ля-а то эти шаблоны задалбали…

Я тоже просто делал шаблон. Но этот способ конечно, продвинутей

admin
01.03.2010

Я думаю, что в вашем случае будет проще обратиться к специалисту и он вам сделает всё не за такие уж и большие деньги (как варинат напишите мне – mr-felix@yandex.ru с описанием того, что необходимо).

Если же хотите всё сделать именно сами, тут необходимо править html, css, php код самого шаблона. Что для этого надо? Знать html, css, php…

04.03.2010

Спасибо за инетересную статью, я недавно начал изучать drupal, было очень интересно почитать вашу статью

Работаю на с джумой и другими цмс – реализации через шаблоны или модульное скрытие при отсутствии содержания…..но спасибо, это можно положить в копилку)

05.03.2010

Мне на вордпрессе как то нужно было статичную сделать для карты сайты хтмл. Кстати слышал что в ВП 3.0 будет специальный тип страниц кроме стандартного.

05.03.2010

спасибо! сегодня на ВП попробую реализовать, а то давно мучалась!

05.03.2010

Аффтору однозначно зачет! для моего шаблончека пригодится :)

06.03.2010

Спасибо за материал. Для меня человека недавно начавшего освоение wordpress очень полезно.

08.03.2010

За пост спасибо. Возможно, в будущем пригодится, т.к. до этого просто приходилось создавать html файлик и заливать его на хост.

09.03.2010

Спасибо за статью. Мне для Wordpress помогло.

Максим
09.06.2010

блин,а мне нужно для каждой статической страницы свою картинку внизу.В php я 0,новичек(Немоглибы помочь.
if ($_SERVER['QUERY_STRING'] == ‘?option=com_content&view=article&id=47:kozha’)
{
Как мне здесь вывести картинку?
}
?>

admin
22.06.2010

Максим, воспользуйтесь функцией echo для вывода. Google в помощь

sitystroyinfo
20.07.2010

Спасибо за тему… Радует одно – что остались в инете еще более ли менее не зафлуженные блоги, на которых можно лицезреть интересную информацию и увидеть человеческие обсуждения.

Оставить комментарий

Имя 
Почта 
Сайт 
Комментарий 

Политика конфиденциальности. При перепечатке любых материалов с сайта ссылка на ресурс woolfs.ru обязательна.

Copyright © 2008-2010 Woolfs

Rambler's Top100