parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Menandr 20.07.2015 21:56

Я храню все урлы в виде таблицы в базе. Это решает проблему построения сайтмапов а так же ловли 404 ошибок (и много других проблем тоже решает).

Каждая страница индивидуально связана с модулем. Модуль - группа страниц по определённому признаку (блог, новости, карточка товара в интернет-магазине и т.п.). Модули аналогично хранятся в отдельной таблице БД. Каждый модуль имеет настраиваемые параметры - список подключенных css и js файлов, имена классов, отвечающих за хранение html-кода header'а, body и footer'а, имена классов, отвечающих за построение контента на этой странице + некоторые глобальные (в рамках модуля) параметры.

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

Каждая страница строится из блоков, которые формируются аналогичным образом.

На самом деле, структура ещё более сложная и еще более гибкая за счёт иерархических настроек.