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

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

Часто бывает необходимо, что бы на сайте, который размещён на 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 это не позволяет или это сложнее.

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



Комментарии к «Создание отдельной статической страницы для сайта на CMS»

урны продажа написал 25.02.2010

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

Мексиканец написал 25.02.2010

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

chippi написал 26.02.2010

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

protera написал 26.02.2010

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

www.binoculyarus.ru написал 26.02.2010

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

Kilina написал 28.02.2010

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

Дмитрий Факт написал 01.03.2010

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

admin написал 01.03.2010

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

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

Павел написал 04.03.2010

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

ликвидация написал 04.03.2010

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

Александр написал 05.03.2010

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

Lino4ka написал 05.03.2010

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

seownik написал 05.03.2010

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

Ser написал 06.03.2010

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

F1 написал 08.03.2010

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

Valera написал 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

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


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

Имя 

Почта 

Сайт 

Комментарий 

  • Страницы

  • Рубрики



  • При перепечатке материалов ссылка на источник обязательна.

    © Андрей Максимов, 2008-2011

    Яндекс цитирования