CONTENT MANAGEMENT SYSTEM
Blox Logo
Blox CMS — блочный метод сайтостроения
.
 
Blox Help

UTF-8 без BOM
Blox CMS работает на HTML5
←→

База данных

в работе

Что касается внутреннего устройства Blox CMS, то оно, как и внешний вид, связано с понятием "блок". Главный вопрос архитектуры веб-приложения - это, как храняться данные. Данные каждого блока храняться в таблице базы данных, столбцы которой фактически описаны в дескрипторе шаблона. То есть, чтобы изменить таблицу базы данных, досточно в текстовом файле просто переписать тип столбца, добавить новый или удалить ненужный. При этом, система не просто изменит тип столбца, добавит или удалит столбец в базе данных, но и учтет тот факт, что данные столбцов могли быть как-то связаны с другими данными.

------------------------------------------------------------

В Blox CMS используется базе данных MySQL. Обращаться к базе данных приходится только в совершенно особых случаях. В этой статье дается самое общее представление о базе данных Blox CMS и описывается структура основных таблиц. таблицу users

Список всех страниц сайта находится в таблице pages. Таблица имеет следующие поля (столбцы):

pages

id Номер страницы
outerBlockId Номер внешнего блока страницы
title Содержимое элемента title
keywords Значение мета-тега keywords
description Значение мета-тега description


Для данных всех блоков, имеющих одинаковый шаблон, выделяется одна таблица БД.

Список всех блоков сайта находится в таблице blocks. Таблица имеет следующие поля (столбцы):

blocks

id Идентификатор блока
tabId Номер таблицы, где хранятся данные
recId Идентификатор записи в этой таблице
Для табличного блока значение этого поля нулевое, так как для данных табличного блока выделяется отдельная таблица.
numOfShares Количество совместных использований блока
usesDiffTdd Блок использует дескриптор другого шаблона


Список всех таблиц с данными находится в таблице tabs:

tabs

id Номер таблицы
tdd Имя дескриптора шаблона


Таблицы, где хранятся данные, именуются в виде tab99, где 99 - это номер таблицы (tabId), который упоминался выше. Все таблицы для данных имеют следующую структуру:

tab99


id | dat1 | dat2 | dat3 | dat4 | dat5

id - это столбец с идентификаторами записей. В остальных полях находятся данные. Типы данных этих полей задаются в файле дескриптора шаблона (.tdd).

При отображении многозаписного блока, данные автоматически извлекаются из базы данных и поступают на шаблон в виде двумерного массива $tab. Для однозаписного блока извлекается только одна запись таблицы БД и поступают на шаблон в виде одномерного массива $dat.

Познакомиться с документацией по MySQL можно на официальном сайте.

Примечания

  • В этой статье при упоминании таблиц пропущены префиксы имен таблиц. Если вы решите писать свои MySQL-запросы, то нужно не забывать перед именами таблиц ставить префикс, который хранится в константе PREFIX, например:

    Извлечения всей записи 22 из таблицы tab99

    $result = mysql_query('SELECT * FROM '.PREFIX.'tab99 WHERE id=22');
    $dat = mysql_fetch_row($result);