Landing Page на MaxSite CMS

Просмотров: 716Комментарии: 2
MaxSite CMSСтатьи и подсказки

Возможность создавать лендинги в MaxSite CMS существует давно. Она базируется на выборе main-шаблона landing, который входит в комплект Default-шаблона (я сегодня как раз его чуть подправил в dev-версии).

Лендинг состоит из своих html-блоков, а значит нужно отключить вывод всех остальных плагинов, сайдбаров, виджетов, шапки и подвала. При редактировании записи нужно выбрать:

  • Вывод изображенияНе показывать (они не нужны)
  • Шаблон записиlanding (об этом чуть ниже пойдет речь)
  • Профиль оформленияtheme-landing.css (он делает фон браузера белым)
  • Шаблон заголовка записиno-info.php (исключить вывод заголовка записи)
  • Обработчик HTMLНет (поскольку мы пишем на чистом HTML, но можно взять Simple)

Настройка лендинга

Теперь вывод страницы будет браться из текста записи. В нём, собственно, и размещаются html-блоки лендинга.

Такой вывод, на самом деле, лишь частично убирает «лишнее». Остаётся стандартная секция HEAD, подключаются css-стили шаблона, плагинов и т.п. Само по себе это неплохо, поскольку теже стили можно использовать и на странице лендинга. UniCSS, например, без проблем позволяет настроить произвольный вывод лендинга.

Но, если стоит задача получить «чистый» и полностью свой HTML, включая секцию HEAD, и при этом запретить вывод любых других css/js-файлов, то придется сделать другой main-шаблон, например landing0 (и выбрать его в настройках записи). Приведу полный код файла (main/landing0/main.php):

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
 
if ($fn = mso_fe('main/blocks/_start.php')) require($fn);
 
global $CONTENT_OUT;
echo $CONTENT_OUT; 
 
if ($fn = mso_fe('main/blocks/_end.php')) require($fn);
 
# end of file

Файлы _start.phpи _end.phpтолько для того, чтобы использовать возможность сжатия html-кода. Всё остальное будет содержаться в переменной $CONTENT_OUT, а это не что инное, как текст записи. В данном варианте нужно указывать полный html-код:

<!DOCTYPE HTML>
<html><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
...
<body>
...
</body></html>

При этом всё равно остается возможность в тексте использовать плагины, например bb-код, смайлики, код формы и т.п. За это отвечает файл main-function.php (в каталоге main/landing/ — его можно скопировать). В нём mso_remove_hook(...) отключает хуки на обработку текста записи. То есть можно как их оставить, так и убрать — всё зависит от задачи.

Комментариев: 2 RSS

1Сергей26-07-2018 00:58

Это все хорошо, но что делать с mrypt.

сорри за оффтоп.

2Максим26-07-2018 09:03

Пока ждём. Обещают CodeIgniter 4, тогда может сделаем миграцию. На 3-ю версию нет никакого смысла переходить. Если дело затянется, то буду сам править. Пока PHP 7.1 мало распространнен, проблема не особо актуальная.

Оставьте свой комментарий!

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)

О проекте

MaxSite CMS предназначена для создания сайтов любой сложности. Система отлично подходит обычным пользователям, вебмастерам, фрилансерам и вебстудиям.