Современная, быстрая и удобная система управления сайтом

Landing Page на MaxSite CMS

Архив записейКомментарии: 7Просмотров: 11478

Возможность создавать лендинги в 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Сергей25-07-2018 22:58

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

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

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

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

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

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

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

4Максим04-10-2018 21:48

Александр, судя по ошибке на скриншоте, дело в настройке MySQL. Нужно поиграть настройкой sql_mode.

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

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

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

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

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

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

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

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

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

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

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

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