Сайт вебмастера

Учимся работать с шаблоном MF. Модули главной

22-06-2021Время чтения ~ 7 мин.Шаблоны для MaxSite CMS 3551

Теперь поговорим о том, как настраивать главную страницу. Сейчас мы используем типовой вариант вывода — как в блогах — записи в обратном порядке. За это отвечает выключенная опция «Включить юниты для главной».

Для настройки главной в таком режиме используется вкладка «Главная». Здесь можно указать разные опции. Такая возможность когда-то была единственной в MaxSite CMS, но потом мы добавили возможность настройки главной с помощью юнитов (units). Юнит — это некий произвольный блок, который позволяет выводить html-код, опцию, ушку, подключать файл для вывода и т.д.

Когда вы отмечаете опцию «Включить юниты для главной», то главная формируется именно через юниты. Юниты можно указать здесь же в опции «Юниты для главной», либо отметить «Использовать units.php» и тогда юниты будут браться уже из этого файла. Собственно units.php используется для того, чтобы вебмастер мог сразу задать все юниты шаблона и их не нужно было бы потом ручками настраивать.

Со временем возможности юнитов увеличивались, а главная могла уже состоять из 20-30 юнитов. Нередко была ситуация, когда один блок мог состоять из нескольких юнитов, поэтому управлять ими всеми в одной «куче» оказалось не очень удобно. Поэтому родилась идея объединить юниты в модули и работать с ними индивидуально. В MF (и Default) скорее всего вы будете работать с модулями, но модуль — это просто удобный способ организации юнитов в один логический блок и не более того.

Для начала рассмотрим что такое юниты. Сразу даю ссылку на документацию — с ней необходимо ознакомиться перед дальнейшим чтением.

Главная страница состоит из разных блоков. Если мы вообще делаем лендинг, то там может быть десяток самых разных блоков с html-разметкой. Когда-то раньше приходилось делать отдельную static-страницу, где выполнять всю html-вёрстку, а потом указывать её в качестве страницы главной. Проблема здесь в том, что очень сложно организовать вывод динамического содержимого, например последние записи сайта под блоком слайдера, а ниже список всех рубрик. Такие вещи потребуют хорошего программирования и на static-странице это сделать будет проблематично.

С юнитами вопрос решается намного проще: мы просто указываем подходящий вариант в виде опций, например для last-pages.php, а чего там только нет...

Теперь давайте посмотрим как устроены модули. Для начала откройте модуль store/base/base1/index.php. Файл index.php является основным для любого модуля и его использует MaxSite CMS, когда происходит подключение модуля. И именно в нём размещаются непосредственно сами юниты.

В модуле base/base1 он такой:

[unit]
module = base/base1
require = content.php
parser = autotag_simple
[/unit]

Здесь используется директива require (если вы не знаете что она делает, то вернитесь к документации), которая подключает файл content.php. Если вы его откроете, то увидите обычный HTML-код.

В подобных модулях я разделяю HTML-код от кода юнита для более удобной работы. Вы открываете файл content.php, где и вносите правки.

Рассмотрим другой модуль: store/pages/favorites1/index.php. Этот файл содержит сразу несколько юнитов. В нём вывод обрамляющего HTML, а также юниты для last-pages.php, который выводит последние записи. Когда станет задача использовать такой модуль, то нужно будет править опции этих юнитов (например указать номер записи, рубрики и т.д.).

Почему модули удобней?

Всё дело в опции «Юниты для главной». Если там разместить все эти юниты, то это будет слишком много кода. Намного проще работать с каждым блоком отдельно, а в опции указать:

@module headers/header2
@module pages/favorites1
Создавать свои модули лучше на основе существующих. Ранее я уже показывал как это делать с помощью страницы «Создать модуль».

Все модули можно условно поделить на динамические и статические. Динамические выводят записи и прочие данные сайта и меняются автоматом. Статические по сути выводят обычный HTML-код. Динамические модули более сложны, поскольку используют множество опций. Статические проще — достаточно отредактировать привычный HTML-код.

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

Какие блоки нужны на главной?

Когда вы планируете сайт, то подумайте об его основном назначении. Если это блог, то скорее всего вам хватит обычной шапки и вывода записей в обратном порядке. Если он часто обновляется, то возможно будет удобней использовать несколько модулей с разбивкой по рубрикам. Если совсем много записей, то можно использовать слайдеры, которые будут выводить обложки записей.

Если же у вас бизнес-сайт, который предполагает продажу товаров/услуг, то скорее всего вам нужен будет лендинг для главной.

Такой лендинг состоит из обычных модулей, главное правильно их подобрать. Когда я проводил 4-дневный марафон по маркетингу в своём телеграм-канале, то подробно рассказывал о том, как составлять блок УТП (уникальное торговое предложение), как учитывать целевую аудиторию и прочие основы. Вначале вам нужно понять какой товар вы продаёте, потом определить его характеристики, понять под какую ЦА вы будете работать и только после этого приступить к написанию текстов.

На начальном этапе блоки лендинга создаются как обычный текст. После этого вы делаете рабочий прототип, а уже потом думаете, как это окончательно оформить. Когда у вас будут готовые тексты, то их сверстать в готовый модуль MF будет несложно. Намного сложней будет взять блок, а потом придумывать под него текст — вы потратите много времени впустую.

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

В качестве примера я уже приводил сайт treact.owaiskhan.me, где собраны примеры лендингов и разных блоков. В MF (в Default) используется точно такой же подход — комбинируете блоки между собой — получится лендинг.

Когда вы подобрали все блоки, все тексты, то после этого можно приступить к дизайну. И здесь, опять же, всё будет зависеть от вашего уровня подготовки. В принципе, все существующие блоки MF и блоки Berry CSS уже готовы для использования. Ваша задача только поправить тексты, адреса, ссылки и может быть изображения. Для большинства задач вам хватит классов цветов и размеров. Иногда нужно настроить отступы (padding/margin). Я, честно, говоря даже не уверен, что на этом нужно останавливаться, поскольку есть документация Berry, а также html-курс, где вы можете получить подробную информацию.

Наверное стоит ещё отметить, что лендинг можно сделать не только на главной, но и на любой другой странице сайта. Модули указываются с помощью шорткода module прямо в тексте записи:

[module]headers/header2[/module]
[module]pages/favorites1[/module]

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

Концепция формирования страницы сайта в виде отдельных блоков (у нас это модули и юниты) сейчас преобладает среди сайтостроителей. Когда-то давно сайты верстались целиком, где все блоки были между собой связаны. Сейчас так не делают: стараются изолировать каждый блок друг от друга так. Именно поэтому в MaxSite CMS отдельные файлы модульной сетки, отдельные и самостоятельные компоненты шапки и подвала и отдельные модули. Намного проще и удобней работать с небольшим по коду блоком, чем пытаться найти его в общей массе html-кода.

Возможно вы уже сталкивались с визуальными конструкторами страниц. Например сайт stitches.hyperyolo.com. Более продвинутые сервисы предлагают больше возможностей, скажем Tilda. Визуальное построение страницы и каждого блока — это, безусловно круто, но сложно для реализации и поддержки. Когда я пробовал сделать нечто подобное для UniCSS, то столкнулся с массой технических проблем, поэтому не рискнул его развивать дальше.

Но по сути любой визуальный построитель работает по тому же самому принципу: вначале выбираем модульную сетку (фактически это контейнер), а потом указываем какие блоки нужно выводить. У нас это обычный текст, что конечно не очень выразительно, но зато просто и надёжно. :-)

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

Похожие записи