• Современная, быстрая и удобная система управления сайтом
  • 3-е место в рейтинге бесплатных CMS для блогов + добавьте свой сайт!
  • Более 100 тысяч созданных сайтов
  • Постоянное развитие системы. Русскоязычная поддержка
  • Готовые программные решения (плагины, виджеты, модули и т.п.)
  • Открытый исходный код на GitHub
  • SEO-friendly — идеальна для поискового продвижения
  • Минимальная нагрузка. Работает на любом хостинге
  • Автоматическая установка и обновление системы
Возможности | Помощь | Архив | Отзывы | Помочь проекту

Общие вопросы

Модульная структура сайта

Просмотров: 525Комментарии: 0
MaxSite CMSОбщие вопросы

Модульность - это принцип, согласно которому приложение разделяется на отдельные сущности - модули. В вебстроительстве это будет разделение программного кода на отдельные файлы. Понятно, что обслуживать файлы по отдельности несколько проще, чем один большой файл, где всё собрано скопом.

Деление на модули может выполняться по самым разным критериям, начиная от востребованности (частоте использования функций) до схожей функциональности. Я стараюсь быть в курсе новостей мира CMS и могу сказать, что на текущем этапе, практически все системы используют именно модульный подход. Проблема здесь в том, что разработчики CMS понимают практическую реализацию модульности совершенно по разному и это приводит к разной структуре файлов и каталогов.

В какой-то мере ситуацию «выправляет» использование фреймворков, которые заставляют вебмастера следовать предустановленному порядку. Достаточно сравнить каталоги CodeIgniter и Zend Framework чтобы в этом убедиться. И здесь следует обязательно отметить тот факт, что оба фреймворка используют шаблон проектирования MVC (Модель-Вид-Контроллер). То есть теоретически, если следовать MVC, разработчики должны были получить примерно одинаковую структуру файлов. На деле же этого не происходит. Если же посмотреть другие фреймворки или CMS, то мы увидим ещё больше различий и несоответствий.

Читать дальше »

Форматированный вывод записей в MaxSite CMS

Просмотров: 974Комментарии: 46
MaxSite CMSОбщие вопросы

Головная боль любого верстальщика - смесь HTML и PHP-кода. Особенно запутанным будет код, в котором используется множество вложенных тэгов, css-классы и стили.

При выводе записей помощью PHP-кода получаются необходимые данные, но для вывода в браузер, нужно его оформить в HTML. Сложность здесь в том, что на уровне PHP невозможно заранее определить какие именно данные потребуются для вывода.

Например - заголовок записи. Если это главная страница, то это должна быть ссылка. Если одиночная, то просто H1. Если это какой-то виджет, то просто текст.

Именно по этой причине в MaxSite CMS с самых первых версий используются универсальные функции mso_page_...() в которых можно указать HTML-оформление. Этот подход на порядок проще, чем заставлять верстальщика оперировать PHP-переменными: код был бы в несколько раз сложней и запутанней (одни if-условия чего стоят...).

Читать дальше »

Формирование колонок в MaxSite CMS

Просмотров: 401Комментарии: 1
MaxSite CMSОбщие вопросы

Вывод данных колонками довольно интересный способ. Особенно неплохо он смотрится, когда колонок несколько с разной «колоночностью».

Сама по себе верстка колонок несложная и как правило базируется на нескольких float-блоках внутри одного родителя. Что-то вроде такого:

<div class="box">
	<div class="left w33"> первый </div>
	<div class="left w33"> второй </div>
	<div class="left w33"> третий </div>
</div>

Ну и разные вариации с wrap-блоками, разными ширинами и пр.

Сложности возникают, когда необходимо организовать колонки, состоящие из нескольких вложенных блоков. Например на главной странице две колонки, в каждой из которых по 3 записи из двух рубрик. И хотя основа css-стилей останется той же, но придется организовывать некий счетчик рубрик, записей и уже от этого вставлять открывающие и закрывающие DIV'ы.

В MaxSite CMS 0.74 (но лучше использовать последний prelatest), появился отдельный php-класс, который берет на себя организацию колонок, избавляя вебмастера от необходимости вручную что-то считать и прописывать тэги/css.

Читать дальше »

Автоматическое создание миниатюр в MaxSite CMS

Просмотров: 450Комментарии: 11
MaxSite CMSОбщие вопросы

Давно хотелось реализовать автоматическое создание миниатюр. Во многих WordPress-шаблонах используются thumb-библиотеки, которые позволяют создавать произвольные миниатюры на основе больших изображений.

Правда в таких библиотеках существует большая проблема безопасности, поскольку миниатюры создаются путем прямого GET-запроса к серверу. Благодаря чему огромное количество взломов WordPress-сайтов было сделано именно через эти библиотеки. Ну и при желании можно легко забить дисковую квоту любого сайта, сформировав множество get-запросов для создания новых миниатюр. Запрос виден прямо в html-коде сайта...

Все эти вопросы очень серьёзны, поэтому при создании своего thumb-скрипта, я полностью отказался от формирования миниатюр из get-запросов. Единственным вариантом создания миниатюры будет явный вызов php-кода. Это полностью закрывает «внешнее воздействие», а с учётом строгой фильтрации входящих данных, делает использование безопасным.

Читать дальше »

О проекте

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