MaxSite.org 11 лет
Блог вебмастера о сайтостроении

MaxSite CMS

Все о MaxSite CMS

Пример создания шаблона по принципу D3 (продолжение 2)

MaxSite CMS / Создание шаблонов (версии 0.8x)Просмотров: 11677 (248)

Типографика

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

[text-demo]
[text-normalize]

При просмотре этой записи автоматически будет выведена вся используемая типографика. Это и заголовки H1-H6, и ссылки, и списки, и т.п. Второй код отвечает за вывод типового варианта normalize.html, где используются только «голые» html-тэги.

Читать дальше...

Пример создания шаблона по принципу D3 (продолжение)

MaxSite CMS / Создание шаблонов (версии 0.8x)Просмотров: 8899 (187)

Основные стили модульной сетки уже заданы (см. начало), но остался нерешенным вопрос адаптивного дизайна. Здесь главное придерживаться правила, что «адаптивные» изменения определяются в каждом блоке индивидуально. То есть не нужно стремиться вынести всю «адаптивность» в отдельные файлы.

Для задания адаптивности удобно использовать @переменные. Рассмотрим как это использовать на практике.

Читать дальше...

Пример создания шаблона по принципу D3 (начало)

MaxSite CMS / Создание шаблонов (версии 0.8x)Просмотров: 12624 (265)

Принципиальное отличие шаблона аля-D3 от типового, в способе использования CSS-стилей. Традиционно шаблоны MaxSite CMS использовали css-фреймворк в виде style-all-mini.css с набором уже готовых стилей под разные задачи. В D3 предполагается создание одного результирующего css-файла без привязки к style-all-mini.css.

Технически возможность использовать один css-файл в MaxSite CMS существовала всегда, но только в 0.86 появилась «заготовка» файлов, упрощающая создание шаблона в таком варианте.

Идея D3 возникла не на ровном месте, а исходя из практических потребностей. Основная проблема использования style-all-mini.css в том, что в нём используется сброс браузера reset, который верой и правдой служит уже много лет. Но сегодня на сцену выходит новый вариант — normalize, который в большей мере учитывает специфику браузеров и обладает достаточно неплохой типографикой. Сбросы несовместимы между собой, поэтому нельзя просто так взять и заменить один на другой — это приведёт к «развалу» шаблонов. Сложность здесь ещё и в том, что многие сторонние CSS-фреймворки уже содержат свой вариант сброса стилей и это создает некоторые проблемы их интеграции с MaxSite CMS (в типовом варианте).

Таким образом концепция D3 устраняет все эти противоречия и предлагает вебмастеру полную свободу в написании CSS, но при этом предоставляет уже готовые стили (в виде less-файлов), используемые MaxSite CMS на разном уровне (ядро, плагины, хелперы и т.д.).

Читать дальше...

Произвольный вывод главной страницы сайта

MaxSite CMS / Общие вопросыПросмотров: 7896 (153)

На решение этой задачки у меня ушло более полугода. За это время были разные решения, но в процессе отладки и тестирования, пришлось от них отказаться. Суть — сделать так, чтобы блогер мог произвольно выстроить вывод главной страницы сайта из админ-панели. Нечто похожее уже давно присутствует в MaxSite CMS — компоненты шапки и подвала, но в случае главной задача усложняется тем, что опций каждого блока вывода может содержать очень много разных настроек.

Впрочем, всё это «лирика». Покажу на примерах, каким образом в начиная с MaxSite CMS 0.853 мы можем произвольно настраивать главную страницу.

Читать дальше...

Вывод блоков записей в шаблоне

MaxSite CMS / Общие вопросыПросмотров: 10391 (197)

В MaxSite CMS 0.852 появился новый PHP-класс Block_pages задача которого упростить создание блоков записей в шаблоне. Традиционно вывод записей блоками достаточно сложная задача и вебмастера стараются её обходить стороной. Вместо этого предлагается типовой вариант вывода записей.

Самый распространенный пример — вывод главной страницы сайта. В MaxSite CMS хоть и существуют различные варианты, но они достаточно простые и очевидные. Если потребуется что-то сложное, например вывод колонками, то необходимо программировать такой вариант индивидуально. Кроме того остается нерешенным вопрос вывода нескольких блоков записей на главной. Скажем, вверху одиночная запись, ниже две колонки по рубрике, а ещё ниже — только миниатюры в ряд.

Новый Block_pages как раз и призван упростить написание такого вывода. Он сам получает данные записей для вывода и сам же организует необходимые циклы вывода.

Читать дальше...

Создание шаблонов вне предлагаемого в MaxSite CMS варианта D2

MaxSite CMS / Создание шаблонов (версии 0.8x)Просмотров: 14687 (270)

После перехода в MaxSite CMS 0.84 только на shared-каталог у некоторых вебмастеров почему-то сложилось впечатление, что это усложняет верстку шаблонов и вариант D2 является единственным вариантом, от которого нельзя отступать. Мнение совершенно дикое и в корне неверное — уж чего-чего, а в MaxSite CMS шаблон может быть вообще произвольной структуры. Единственным условием любого шаблона — наличие файла index.php.

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

Но, вебмастеру, который пока с трудом разбирается в вёрстке или новичку в системе, мой помысел неясен — ему с головой хватает одного расположение сайдбара на весь сайт и простеньких css-стилей. Бывает ещё случай, когда вебмастер «закостенел» до такой степени, что уже не может мыслить вне своих css-стилей и именования своих же css-классов и вариант с div.all вгоняет его в полнейший ступор.

Попробую разъяснить почему я предлагаю именно такой вариант D2 (напомню, что этот шаблон — каркас для новых шаблонов) и как сделать свой вариант.

Читать дальше...

Новый Default-шаблон в MaxSite CMS 0.84

MaxSite CMS / Создание шаблонов (версии 0.8x)Просмотров: 6928 (125)

В MaxSite CMS 0.84 мы обновили дефолтный шаблон. Предыдущий вариант появился в MaxSite CMS 0.54 и за прошедшие полтора года получил достаточно серьезное развитие и оброс массой новых возможностей.

Должен отметить, что в «старом» default-шаблоне впервые появилась концепция компонентов шапки и подвала, были предопределенные файлы, ушки, css-стили и js-скрипты, которые позволяют автоматизировать множество типовых задач вебмастера. Здесь же я предложил css-фреймворк, который содержит базовые стили, «заточенные» под особенности системы (type-файлы, плагины и т.п.).

После того, как я познакомился с LESS, я внедрил его поддержку на уровне ядра MaxSite CMS и разработал механизм «фоновой» компиляции less-файлов в обычный css-файл. Такой вариант позволяет вебмастеру вообще не задумываться о процессе компиляции — всё работает автоматом.

Но, хотя default-шаблон и предлагает очень хорошую функциональность, постепенно я натыкался на некоторые ограничения, которые «тормозили» дальнейшее развитие системы. Именно поэтому был предложен другой вариант построения шаблона, где все существующие ограничения были исключены.

Читать дальше...

О сайте

Здесь вы получите самую полную информацию о создании сайтов на MaxSite CMS.