Интернет - справочник для веб-мастеров
    441-847-152
     
 
 
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

   
 

   
 
  SEO статьи HTML, как раскрутить сайт
1. Рейтинг сайтов



 
 
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
-------------------------------------
  Прочитано статей: 405
  Всего прочтений: 181111
-------------------------------------
  Сейчас читают: 6 чел.


 

Движок для сайта своими руками. Часть вторая [Версия для печати]
Разместил: admin . Раздел: Для начинающих. Опубликовано: 09-20-2007 18:31:04

Основные принципы организации работы

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

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

Итак, само слово «разделение» подразумевает уже, как минимум, разделение страницы сайта на два файла - с шаблоном дизайна (который может быть общим для нескольких страниц) и файла с самим контентом, то есть информацией.

Кроме этих двух файлов нам понадобиться ещё один, включаемый во все динамические страницы (имеются ввиду страницы, содержащие php-код). В этом файле мы будем хранить все общие функции движка (собственно, их можно назвать «ядром»), а также определим некоторые полезные глобальные константы.

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

Таким образом, схема создания новых материалов сайта выглядит следующим образом:

Рис. 1. Текст → движок → страница сайта

А под фразой «учитывать дизайн», высказанной немного выше, имелось ввиду создание системы шаблонов, или, проще говоря, набора оформлений разных страниц (html-файлов, по сути), где места под изменяемое содержание (заголовки, меню, тексты - всё, что генерируется динамически) оставлены пустыми. Подставлятся они будут «на лету» при обращении пользователя к определенной странице. Получается даже дополнительный выигрыш - кроме всего прочего, уменьшаеться объём хранимых на сервере файлов, так как оформление страниц не повторяется в каждом файле, а хранится в одном месте. Про удобство при возможном желании изменения дизайна, я думаю, и говорить не надо.

Расположение файлов

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

Рис. 2. Структура каталогов
Для работы нашего движка нужно организовать структуру каталогов таким образом, как на рис. 2 (этот пример просто используется в описанных примерах, структура не обязательно должна быть именно такой).

Итак, у нас имеются каталоги, каждый из которых является разделом сайта (естественно, кроме служебных каталогов, таких, как "images").

Это значит, что в каждом таком каталоге должен лежать так называемый «индексный файл» - страница, которая загружается по умолчанию при таком обращении к разделу: http://site.com/razdel. Имя этого файла (или возможные имена) вам нужно узнать у вашего хостера. Чаще всего это такие имена, как "index.html", "index.php" и т. п. - расширение зависит от используемого серверного языка.

Значит, с именами файлов разобрались. Но что же нам положить в эти файлы? Вот теперь-то мы и переходим собственно к основной части сегодняшнего разговора.

В самом начале файла стоит вставить код включения ядра движка. Подобное обращение на языке php выглядит следующим образом:

// инициализация ядра include("bin/core.php");

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

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

function getinclude($path) { return str_replace("n", "", (implode(file($path), ""))); }

Новостная система

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

Суть её работы сводится к следуещему. Имеется текстовый файл с новостями, разделенными символом перевода строки (словом, каждая новость - в новой строке). Каждая строка разделена символом вертикальной черты («|») на два поля: дату и, собственно, саму новость.

Опредилив функцию новостной системы в нашем включамом файле («ядре»), мы получаем возможность на любой странице получить нужное количество последних новостей. Первым параметром передаётся часть пути, указывающая на размещение файла с новостями. Количество выводимых новостей, как вы уже догадались, задаётся вторым, необязательным, параметром.

Вот моя реализация функции новостной системы:

function getnews($path="", $lim=3) { $news = file($path."news.txt"); $result = ""; if ($lim == 0) { $lim = count($news); } for ($i=0; $i<$lim && $i

Что ж, на сегодня пока что всё. Продолжение следует...


Извините за возможно сумбурный и/или неровный стиль изложения - писáлась статья ночью
вопросы и уточнения принимаются

Источник: http://mysitez.km.ua/
Источник: http://articles.org.ru   Прочитана 1655 раз.
  Закладки:  
     
     
     
Google
 




     
Copyright 2007 by bvisoft.com