Внутренняя структура документов Nano-CMS.

Формат и структура документов:

Минимальный код документов Nano-CMS довольно прост:

<?php /* Выше этой строки в файле ничего не должно быть */

   
$_s['title']='Тайтл документа.';
   
$_s['content']='

<h2>Заголовок документа</h2>

   <p>HTML код документа в соответствующих тегах.</p>

   '
;

/* Ниже этой строки в файле ничего не должно быть. */ ?>

Требования стандартные: не убивать синтаксис РНР, и не употреблять одинарных кавычек внутри значения для переменных тайтла и контента. Потому что это убьёт синтаксис PHP, ибо сами значения уже окаймлены одинарными кавычками.

Если документы у Вас исключительно статичные, на голом HTML, и Вы не желаете блюсти синтаксис PHP, то шаблон документа может быть упрощён. В данном варианте для HTML кода документа уже нет никаких ограничений на соблюдение синтаксиса PHP:

<?php /* Выше этой строки в файле ничего не должно быть */

   
$_s['title']='Тайтл документа.';
   
$_s['content']=<<<content

<h2>Заголовок документа</h2>

   <p>HTML код документа в соответствующих тегах.</p>

content;

/* Ниже этой строки в файле ничего не должно быть. */ ?>

Если код вызывает ошибку при использовании на Вашем сайте, кликните, чтобы узнать причину.

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

Примечание:

Естественно, автор Nano-CMS мог бы оградить Вас от РНР кода в документах движка, но тогда Вы не сможете вставлять в них РНР скрипты. Которые в данном случае можно употреблять без ограничений. Нужно только помнить, что вывод осуществляется не на экран, а в переменную $_s['content']

Ограничение на имена документов.

В файле настроек ./data/settings.php есть запись, которую мы уже обсуждали в разделе безопасности:

         'conf'   => array(
            
'dir' => 'a-z0-9-/',       # Допустимые символы в имени директорий.
            
'fil' => 'a-z0-9-_',       # Допустимые символы в имени файлов.
         
),

Из неё следует, что URL документа применительно к имени файла может содержать цифры и буквы латинского алфавита, а также два спецсимвола - подчеркивание и дефис.

Однако имя документа (так, как оно записано в файловой структуре сервера) ещё более ограничено - в нём не разрешён символ подчёркивания. Который задействован в другом месте, в ЧПУ.

Итого для имени документа у Вас остаются цифры и буквы латинского алфавита (заглавные и строчные, если Ваш сервер их различает), а также дефис.

Замечание о теге заголовка.

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

На самом деле спецификация языка тут сполна уважается, а заголовок уровня H1 уже присутствует. В него облекается тайтл документа, и отображается в хедере (дефолтный шаблон дизайна Наны именно таков).

Поскольку тег H1 расположен перед кодом документа, все предписания и стандарты соблюдены.

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