Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Идея состоит в том, чтобы дать пользователю полную свободу действий при формировании темы оформления системы. Обычно управление формирование внешнего вида сайта ложится на систему, сама тема оформления влияет на этот процесс лишь косвенно, то есть она пассивна. Мы уже делали шаги в сторону интерактивности тем оформления вставляя переменные в HTML код и обрабатывая их, но тем не менее заставить тему управлять сайтом было невозможно. Кроме того, оформление сайта разбросанное по отдельным файлам не позволяло выстроить общей картины и затрудняло разработку тем. Даже человеку знакомому с HTML достаточно сложно, было, нарезать готовый HTML шаблон на куски.
Продолжая в том же духе, уместно будет сказать о том, что внешний вид сайта очень сильно зависит от разработчиков системы, другими словами существуют жестко вшитые куски, которые достаточно сложно менять или перемещать, чтобы изменить некоторые из них нужно править саму систему, что прямо скажем не всем и не всегда удобно. Для примера можно назвать такие вещи как табличная структура, модуль, лицензия, генерация страниц, левые правые верхние нижние блоки, а также банеры.
Другими словами задача стояла такая
1. Создать симбиоз ядра системы и темы оформления, когда не только ядро жестко задает правила поведения и отображения элементов системы, но и тема активно управляет видимостью и управлением элементов.
2. Позволить дизайнеру воплощать любые дизайнерские идеи без оглядки на ядро. То есть, хочет чтобы, верхние блоки отображались слева, правые и левые блоки были расположены вместе справа - нет проблем.
3. Не тормозить продвинутых пользователей в реализации различных способов форматирования текста, таких как HTML - различных версий. XHTML и даже XML, то есть наиболее полно реализовать CMS, так как CMS - это система управления контентом, а вот отображение этого контента может быть любым.
4. Решив задачу 2 и 3 увести систему от табличного дизайна и подготовить к отображению на различных устройствах, таких как мобильных, наладонных и так далее...
5. Жестко разграничить понятия оформление и данные.
Итог
Выполнив все поставленные задачи, мы можем смело сказать, что система не будет тянуть пользователей назад, даже тогда когда все дружно решат перейти на DIV, никаких изменений в движке не потребуется нужно будет только поправить дизайн.
Реализация и как всё работает
В пользовательской теме оформления должен присутствовать файл index.html. Это обычный HTML файл, предназначенный для формирования внешнего вида системы. Соответственно надобность в файлах: header.html, footer-close.html и footer-open.html отпадает.
Синтаксис, простейший файл оформления будет иметь вид:
Естественно, верстальщик и дизайнер могут наполнить его любым HTML оформлением и применить все возможные и известные приемы верстки. Как мы видим, табличная структура отсутствует, и мы можем все построить на дивах (DIV) или переписать код в XHTML.
В данном случае и в целом все понятно, просто и наглядно. Остается только объяснить какие переменные вида {%XXXX%} за что отвечают. Расставить эти переменные естественно можно по всему файлу, в каком угодно порядке.
{%HEAD%} - Стандартное формирование шапки - меты и титлы, а также содержание, которое присутствует в системе по умолчанию.
{%MODULE%} - Нарезка для модуля, который должна подставить система.
{%LICENSE%} - Копирайты системы.
{%BLOCKS banner%} или {%BLOCKS b%} - Верхний банер.
{%BLOCKS left%} или {%BLOCKS l%} - Левые блоки.
{%BLOCKS center%} или {%BLOCKS c%} - Верхние блоки.
{%BLOCKS down%} или {%BLOCKS d%} - Нижние блоки.
{%BLOCKS right%} или {%BLOCKS r%} - Правые блоки.
{%BLOCKS foot%} или {%BLOCKS f%} - Нижний банер.
{%BLOCKS time%} или {%BLOCKS t%} – Время генерации страницы.
{%BLOCKS none,ХХХ%} или {%BLOCKS n,ХХХ%} - Произвольный блок системы или свободный блок без оформления, где ХХХ - это либо ID блока, либо название файла блока.
{%BLOCKS standart,ХХХ%} или {%BLOCKS s,ХХХ%} - Произвольный блок системы или свободный блок с оформлением свободного блока, где ХХХ - это либо ID блока, либо название файла блока.
{%BLOCKS message%} или {%BLOCKS m%} – Сообщение на главной странице.
{%BLOCKS variables%} – Анализатор переменных.
{%BLOCKS query%} – Анализатор запросов в базу данных.
Новая система оформления тем будет доступна, начиная с версии SLAED CMS 2 Pro.
...ДУМАЮ - ЭТО РЭВОЛЮШН! - уже сам столкнулся с подобным(им.подобным) - это не то чтобы удобно - это - ВПЕРЕД за ОРДЕНАМИ! СПАСИБО ТЕМ КТО ПРИДУМАЛ - я ,вообще думаю - и даже знаю - сейчас все поменяется в плане подхода к Дизайну - и девиз этого изменения:все гениальное - просто!!!(правда - зачем забывать народ! - "простота - хуже воровства!" - однако и воровство - сейчас это никак не критерий - а предмет для философских рассуждений!)
Конечно, такое оформление это огромный плюс системе. Мне самому не раз приходилось потрошить ПХП файлы системы для того чтоб добитсянужного рещультата.
Eduard, а будет эта новая система реализована в бесплатной ветке CMS?
Я в своё время отказался от slaed только потому что не мог реализовать все дизайнерские идеи. Надеюсь что в новой версии
можно будет воплотить всё что угодно, например как в joomla.
Вторая версия принесёт гиганский процент пользователей системы, я в этом уверен на 100%. Простая в пользовании, быстрая, низкая цена и теперь с любым дизайном. Жду не дождусь. РАБОТАЕТЕ В ПРАВИЛЬНОМ НАПРАВЛЕНИИ