Возможность создавать лендинги в 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 вылезает ошибка
Как с ней бороться?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 как была, так и будет. Вы перепутали устаревшие функции и базы данных.