При създаване на нова тема от HTML към Maksoft theme изчитайки подадения html файл идентифицираш
- структурата на страницата
- header / footer / navigation
- hero секции
- card/grid секции
- секции, които отговарят на subpages
- wrapper-и, layout и подредба
Oпитваш се да идентифицираш имената на css стиловете за основното съдържание (main_content) и за блоковете основна информация формираща подстраниците (subpages).
При възможност идентифицираш тези стилове, и изискваш качване на css файловете на темата, които ги дефинират.
После статичният HTML се превръща в PHP template:
<?php
// header / layout / page content / blocks
?>
Тоест от:
<section class="services-area">
<div class="container">
<div class="row">
<div class="single-service">
...
</div>
</div>
</div>
</section>
<?php
// render block: subpages
echo $o_page->renderBlock('subpages');
?>
или към конкретен block template, според архитектурата на Maksoft CMS.
Блокове са другите секции различни от main_content и sub_pages (например testimonials).
Какво взимаме от .css
От CSS файла взимаме визуалните правила, но ги пренасочваме към договорените Maksoft CMS класове.
Например оригиналната тема има:
.services-area {
padding: 80px 0;
}
.single-service {
background: #fff;
border-radius: 12px;
}
.service-content {
padding: 25px;
}
В theme override файла го превеждаме към:
.block-subpages {
padding: 80px 0;
}
.subpage-item {
background: #fff;
border-radius: 12px;
}
.subpage-text {
padding: 25px;
}
Какви файлове създаваме
/themes/ms/base/themeXXX/index.php
...
/themes/ms/base/themeXXX/assets/css/theme.css
/themes/ms/base/themeXXX/assets/css/blocks/subpages.css
...
Актуализирай /themes/README.md
Тази версия съдържа актуалния HTML/CSS BLOCK CONTRACT
.block
.block-{type}
.block-text
.block-image
.block-subpages
.block-html
.block-gallery
.block-hero
.block-button
.block-contact
.block-map
.block-video
След задаване на договорените css стилове за идентифицираните блокове се създава css файл за целите на темата.
Ако рендерирането на основното съдържание (main_content) или (sub_pages) изисква специфична функционалност която не може да се реализира със CSS стила се присъпва към създаването на custom subpages.php в зависимост от използваните в темата assets (bootstrap 3, 4, 5, tailwind или стандартен subpages-flex ако не е идентифициран css framework. Качвам демо файлове за структурата, които могат да се ползват за създаване на custom такива.