Принцип доступа к данным - один - и это объект (модель).
Другое дело как организован принцип хранения...
Строить системы инклудов... Извините , а разве CMS основанные на хранении данных не построены на инклудах?
инклуд конфиг
инклуд шаблон
инклуд engine
инклуд ...
и т.д.
Если нужен определенный функционал, например - организовать поиск, сортировки и прочее, то здесь преимущество на стороне баз данных, если это визитка или сайт с полустатическим контентом, то почему бы и не использовать ФС?
Конечно, нужно хорошо продумать модель хранения данных, в том числе и доступ к постоянно меняющемуся меню (а так ли это часто бывает?)
Вы же сами уже почти все знаете.
У вас есть объектная модель данных (страницы)
Title, description, keywords, content.
Способ хранения данных
Sql
id | Title | description | keywords | content
File пример 1 (один файл - одна страница)
id - имя файла
$Title
$description
$keywords
$content
инклудите файл - подставляете в шаблон
File пример 2 (один файл - много данных)
id(страницы) РАЗДЕЛИТЕЛЬ Title РАЗДЕЛИТЕЛЬ РАЗДЕЛИТЕЛЬ description РАЗДЕЛИТЕЛЬ keywords РАЗДЕЛИТЕЛЬ content
...
Выбор данных
SQL
select * from table where id=нужное_значение
обработать результат запроса для вывода
File 1
include Нужное значение
тк данные уже подготовлены - вывод
File 2
fread(файл данных)
Поиск нужной строки
Обработка строки
Вывод
Возможны и другие варианты.
аналог - iframe + парсер js
а когда этот код выполняется?
$('#enter').click(function(){ ....
должен выполнится после load.
а в инсталляторе в locale разве нет русского языкового файла?
$f_arr = explode('-',$file_name);
тогда
$f_arr[0] и будет до первого дефиса.
кстати,
<unit>".($squarefeet!='' ? 'кв.м' : '')."</unit>
уже можно спокойненько заменить на
<unit>кв.м</unit>
потому что вы в эту ветку попадете с непустым валидным значением
тогда уж
if (empty($squarefeet)) return '';
какая ошибка, и куда вы вставляете вызов функции?
тоже вариант - попробуйте расгруппировать.