Бесплатная CMS для вашего сайта Разумная альтернатива WordPress

Landing Page на MaxSite CMS

09-07-2018Время чтения ~ 2 мин.Roadmap 12545

Возможность создавать лендинги в 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(...) отключает хуки на обработку текста записи. То есть можно как их оставить, так и убрать — всё зависит от задачи.

Похожие записи
Комментарии (7) RSS
1 Сергей 2018-07-25 22:58:22

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

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


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

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


3 Александр 2018-10-04 20:47:14

Кто бы подсказал? php5.6.37 mysql 5.7 вылезает ошибка

http://pix.toile-libre.org/upload/original/1538674979.jpg
Как с ней бороться?


4 Максим 2018-10-04 21:48:45 admin
Александр, судя по ошибке на скриншоте, дело в настройке MySQL. Нужно поиграть настройкой sql_mode.

5 Алекс 2018-10-09 11:42:45

Прекращение поддержки расширения MySQL в PHP.

В качестве замены текущему нативному расширению предпологается использовать расширение mysqli или PDO, а возможно mysqlnd.

В результате, в будущих версиях PHP5 (начиная с 5.5 или 5.6) вызовы таких функций, как mysql_pconnect, mysql_query и так далее будут пораждать весьма неприятные уведомления E_DEPRECATED, а уже в версии PHP 6 код этих функций будет, скорей всего, полностью удалён из PHP.


6 Алекс 2018-10-09 11:44:18

Подскажите, вы планируете замену использования MySQL когда и на на что?


7 Максим 2018-10-09 16:36:25 admin

MySQL как была, так и будет. Вы перепутали устаревшие функции и базы данных.

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