Основни типове страници в Maksoft CMS
В Maksoft CMS страниците се описват чрез три отделни слоя:
- page_type – какъв тип съдържание е страницата
- page_view – какъв е базовият режим на визуализация
- page_role – каква е глобалната роля на страницата в рамките на сайта
Тези три стойности се използват от логиката на CMS за определяне на поведението на страницата и за автоматично извеждане на подходящ schema mapping чрез таблицата page_schema.
page_types
| ID |
Ключ |
Описание |
Предназначение |
| 0 |
undefined |
Undefined |
Типът не е зададен изрично и се определя автоматично от CMS. |
| 1 |
page |
Page |
Стандартна страница със статично или общо съдържание. |
| 2 |
post |
Post |
Публикация, новина, статия или блог материал. |
| 3 |
product |
Product |
Продуктова страница с цена, характеристики, изображения и друга продуктова информация. |
| 4 |
offer |
Offer |
Оферта, промоция, пакетно предложение или кампания. |
| 5 |
testimonial |
Testimonial |
Отзив, мнение, препоръка или ревю от клиент. |
| 6 |
system |
System |
Системна страница, използвана от CMS за вътрешна или административна логика. |
| 7 |
faq |
FAQ |
Страница с често задавани въпроси и отговори като самостоятелен тип съдържание. |
| 11 |
system |
System |
Системна страница, използвана от CMS за вътрешна или административна логика. |
Идентифицира се в таблица pages чрез полето page_type. По подразбиране стойността е 0 (undefined), което означава, че типът може да бъде определен автоматично от CMS.
page_views
| ID |
Ключ |
Описание |
Предназначение |
| 0 |
undefined |
Undefined |
Изгледът не е зададен изрично и се определя автоматично от CMS. |
| 1 |
default |
Default Page |
Стандартен изглед на страница. |
| 2 |
single |
Single Page |
Детайлен изглед за единичен обект, например публикация, продукт или FAQ страница. |
| 3 |
listing |
Listing |
Изглед за списък от обекти, например публикации, продукти, оферти или други подстраници. |
| 4 |
funnel |
Funnel Page |
Целева страница с фокус върху конверсия, кампании, стъпков процес или sales funnel. |
| 5 |
admin |
Admin Page |
Административен или системен изглед, използван за вътрешни страници на CMS. |
Идентифицира се в таблица pages чрез полето page_view. По подразбиране стойността е 0 (undefined), което позволява на CMS да определи подходящия изглед автоматично.
page_roles
| ID |
Ключ |
Описание |
Предназначение |
| 0 |
none |
No Role |
Страницата няма специална глобална роля в сайта. |
| 1 |
home |
Home Page |
Начална страница на сайта. Обикновено е една за всеки сайт. |
| 2 |
news |
News Page |
Глобална страница за новини, публикации или блог листинг. |
| 3 |
contact |
Contact Page |
Глобална страница за контакт на сайта. |
| 4 |
privacy_policy |
Privacy Policy |
Глобална страница с политика за поверителност. |
page_role не се съхранява като отделна таблица в базата. Това е изчисляема стойност, определяна от логиката на CMS, например чрез PageTypeResolver(), AdminOrchestrator и връзките на страницата със съответния сайт.
Връзка между page_type, page_view, page_role и schema
След като CMS определи стойностите за page_type, page_view и page_role, те се използват за намиране на подходящ schema mapping чрез таблицата page_schema.
Тя съдържа съответствие от вида:
page_type + page_view + page_role -> schema_provider + schema_key
Пример:
| page_type |
page_view |
page_role |
schema_provider |
schema_key |
| 1 |
1 |
1 |
schema_org |
WebPage |
| 1 |
3 |
2 |
schema_org |
CollectionPage |
| 2 |
2 |
0 |
schema_org |
Article |
| 3 |
2 |
0 |
schema_org |
Product |
| 7 |
2 |
0 |
schema_org |
FAQPage |
Така CMS разделя ясно:
- тип на съдържанието –
page_type
- режим на визуализация –
page_view
- глобална роля в сайта –
page_role
- SEO / structured data изход – чрез
page_schema
Текущата страница get_page(n)
Съдържанието на текущата страница е прочетено с функция
get_page($n)
във променлива
$row
| n |
int(10) |
UNSIGNED |
не |
|
идентификационен номер на страницата |
|
|
| ParentPage |
int(10) |
UNSIGNED |
не |
0 |
идентификационен номер на предходната страница |
|
|
| Name |
varchar(128) |
|
не |
|
име (заглавие) на страницата |
|
|
| PHPvars |
text |
|
не |
|
инициализиращи страницата PHP променливи (скрипт който се изпълнява преди всичко) |
|
|
| textStr |
text |
|
не |
|
основното съдържание на страницата |
|
|
| PHPcode |
text |
|
не |
|
PHP скрипт който се изпълнява след парсване на основното съдържание |
|
|
| toplink |
smallint(6) |
|
не |
0 |
маркер за местоположението на страницата |
|
|
| show_link |
smallint(6) |
|
не |
1 |
маркер за начина на визуализация на подстраниците |
|
|
| show_link_order |
varchar(4) |
|
не |
ASC |
показва реда на визуализация на подстраниците |
|
|
| show_link_cols |
smallint(6) |
|
не |
1 |
брой колони в който да се визуализират подстраниците |
|
|
| make_links |
smallint(6) |
|
не |
1 |
|
|
|
| form |
bigint(20) |
UNSIGNED |
не |
0 |
// не се използва |
|
|
| PageURL |
varchar(128) |
|
не |
|
външен файл който се вмъква в скрипта |
|
|
| imageNo |
int(11) |
|
не |
0 |
идентификационен номер на изображението към страницата |
|
|
| imageWidth |
varchar(4) |
|
не |
150 |
зададената ширина на изображението към страницата |
|
|
| image_allign |
smallint(6) |
|
не |
1 |
зададеното HTML подравняване на снимката (default, right и пр.) |
|
|
| ankID |
int(10) |
UNSIGNED |
не |
0 |
|
|
|
| PrintVer |
smallint(6) |
|
не |
1 |
|
|
|
| SiteID |
int(10) |
UNSIGNED |
не |
0 |
|
|
|
| addtype |
int(10) |
UNSIGNED |
не |
0 |
|
|
|
| SecLevel |
smallint(6) |
|
не |
0 |
| imageName |
varchar(128) |
|
име на снимката към страницата (alt текст) |
|
|
|
|
| image_src |
varchar(64) |
|
име и път към файла със снимката за страницата |
|
|
|
|
| image_dir |
int(10) |
UNSIGNED |
не |
0 |
|
|
|