MaxSite CMS

Подписаться на эту рубрику по RSS

Все о MaxSite CMS

Сделал небольшой развлекательный плагин к Новому году - падающий снег на сайте. Плагин поддерживает два варианта снега - первый в виде «булечек», второй - в виде картинок-снежинок. Причём можно включить варианты одновременно.

Из настроек присутствуют «вкл/выкл», выбор количества снежинок, скорость падения, а также выбор картинки. Тем, кто хочет максимально ощутить белую гадость красоты зимы, могут включить снег и в админке.

Далее...

Помню, когда я делал свой первый шаблона на WordPress, то взял какой-то понравившийся несложный вариант и на его основе уже пытался экспериментировать. Меня очень сильно напрягали некоторые вещи, вроде использования ul-li-списка для вывода блоков сайдбара (тогда они ещё не были динамическими и жестко задавались в файле). Ведь любой здравомыслящий человек иначе как в виде div.widget оформлять не станет. Список-то тут при чём?

Конечно, когда делаешь один шаблон, то не сильно обращаешь внимание на такие мелочи. Ну, повозился лишних полдня, научился работать с элементами списка и приводить их в обычные блоки. Прописал несколько лишних стилей, классов - трудозатраты окупаются.

Но, когда разработка шаблонов поставлена «на поток», возникает острое желание как-то упростить исходный каркас будущего шаблона до такого варианта, чтобы содержал и базовые стили, и удобную HTML-разметку, и понятный (и приличный) PHP-код, который сделает из сайта более-менее функциональный вариант. «Хуже» всего ещё и то, что от клиента к клиенту появляются однотипные задачи, которые нужно решать оперативно. Да и не хочется делать двойную работу, потому что через какое-то время на горизонте может появиться еще один клиент, который скажется «сделай как у того-то» - а ты это уже делал и знаешь сколько возни и времени на это ушло.

Далее...

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

Теперь вы узнаете, что для записей есть еще один механизм, позволяющий указывать дополнительные данные - метаполя.

Далее...

Сегодня поговорим о том, как модифицировать шаблон внутри цикла вывода записей.

В MaxSite CMS цикл вывода находится в type-файлах, которые «скрыты» от вебмастера. Однако если вдруг возникла ситуация, когда нужно поменять формат вывода именно внутри цикла, то вместо корректировки сложного type-файла, MaxSite CMS предоставляет механизм в виде использования type_foreach-файлов.

Как вы уже знаете из предыдущих статей (раз, два, три), type-файлы имеют «вставки» в виде type_foreach-файлов. Изначально идея была в том, чтобы предоставить вебмастеру возможность произвольно менять формат вывода непосредственно в цикле вывода (foreach - именно поэтому такое название). Но постепенно мы расширили идею и теперь type_foreach-файлы позволяют менять вывод и в других частях type-файлов.

Скажу больше, в последних версиях системы с помощью type_foreach-файлов можно менять даже параметры получения страниц (файлы ...-mso-get-pages.php). Для пользователей WordPress - это невиданнейшая наглость! smile

Далее...

В предыдущих статьях (раз, два) мы могли оценить насколько несложно адаптировать html-шаблон к MaxSite CMS. Главное, что необходимо сделать верстальщику - это разделить исходный html-шаблон на две части: main-start.php и main-end.php. Цикл вывода данных система берёт уже на себя.

Таким образом типичный шаблон MaxSite CMS будет состоять из:

  • index.php - диспетчер файлов (копируем из default-шаблона)
  • info.php - краткое описание шаблона
  • main-start.php - начальная часть шаблона
  • main-end.php - конечная часть шаблона
  • header.php - часть HEAD (по желанию)
  • footer.php - подвал (по желанию)
  • functions.php - регистрируем сайдбар
  • options.php - если шаблон использует опции (копируем из шаблона Clouds)

Непосредственно за верстку отвечают только два файла main-start.php и main-end.php - остальные практически без изменений можно копировать от шаблона к шаблону. Со временем у вас будут возникать какие-то свои заготовки, который снизят трудозатраты.

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

Далее...

В предыдущей статье мы рассмотрели основные отличия шаблонов WordPress и MaxSite CMS. Кратко ситуация такая:

  • WordPress имеет жесткую структуру файлов, в MaxSite CMS файлы задаются произвольно.
  • WordPress заставляет верстальщика заниматься программированием цикла вывода данных. MaxSite CMS - скрывает этот процесс, оставляя верстальщику только задачи по верстке.
  • WordPress-шаблон использует для каждого типа данных отдельный файл, тем самым получается дублирование HTML-кода от файла к файлу. Если же отказаться от использования файлов разных типов и использовать один общий, то необходимо углубляться в программирование, расставляя условия вида «is_тип». В MaxSite CMS разделена структура HTML-шаблона от вывода цикла. Верстальщику нет необходимости заботиться о файлах типов данных.

Продолжим наши изыскания на небольшом практическом примере. Сделаем простенький HTML-шаблон и посмотрим как его нужно подключать к MaxSite CMS.

Далее...

В своих учебных статьях о MaxSite CMS я подразумеваю, что их читатель хоть немного, но программист. И поэтому привожу куски кода чтобы те, кому это интересно, мог использовать в своих проектах. Если читатель не имеет представлений о PHP, то мои рассказы ему мало интересны. Однако есть группа тех, кто непосредственно связан с вебстроительством, и при этом имеет посредственные знания PHP. Речь идет о верстальщиках-дизайнерах. Большинство из них могут разобраться в базовом синтаксисе PHP, выучить несколько функций CMS и всё это использовать при верстке шаблона. Как правило, верстальщики (будем дальше по тексту их так именовать) имеют некий отлаженный и готовый «программистский шаблон», где уже выставлены нужные функции в нужных местах. smile

Речь в статье пойдет именно для этой категории, и я постараюсь максимально исключить сложный код, сосредоточившись на теории и конкретных описаниях с практическим уклоном. Чтобы привнести некоторый накал страстей, я решил усложнить себе задачу, но упростить её тем, кто умеет делать шаблоны для WordPress: я буду приводить сравнение и рассказывать об отличиях в MaxSite CMS. Таким образом верстальщику будет проще понять что к чему.

Далее...

Недавно вышла MaxSite CMS 0.41, в которой были изменения связанные с новым алгоритмом получения страниц, который позволяет более полно использовать возможности MySQL и учитывает некоторые его особенности. В анонсе этой версии я вскользь упомянул, что сделаю отдельную статью, где расскажу об этой работе. Выполняю обещание.

Далее...

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

Далее...

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

Далее...

MaxSite CMS сегодня исполнилось 2 года. В целом я доволен как развивается система. Практически все задумки удалось реализовать, воплотить новые идеи и сохранить легкость и удобство использования.

Далее...

Не так давно я просил высказаться о плагинах, которые используют WordPress-блогеры, чтобы стравнить их с аналогами в MaxSite CMS. Спасибо всем тем, кто откликнулся.

Далее...

Виджет (widget), в классическом понимании, это некий блок, который выводится в боковой панели сайта (сайдбар, sidebar). Пожалуй, самая важная особенность виджетов состоит в том, что они настраиваются и размещаются через админ-панель. Виджеты как правило имеют свои настройки и их можно располагать в произвольном порядке в сайдбарах.

Далее...

Не так давно Сапа запустила Биржу статей. Данный факт практически полностью прошел мимо внимания блогеров и я так думаю, что главная причина - это несколько своеобразная концепция Биржи. Особо отмечу, что для тех блогеров, которые никогда не занимались продажей статей, разобраться в хитросплетениях довольно сложно. На Сапе есть хелп, но, опять же, он расчитан на подготовленного пользователя.

Сегодня я попробую рассказать о Бирже статей глазами вебмастера.

Далее...

Сегодня поговорим о плагинах. В комплекте MaxSite CMS (в версии 0.38 их 72 шт.). Если сравнивать с WordPress, то вроде бы немного, но проблема WordPress'а в том, что какие-то примитивные вещи требуется делать через «пень-колоду». В нем часто приходится идти на массу ухищрений, чтобы не только обойти ограничения системы, но и заставить корректно работать свои функции. Даже такое примитивное действие, как включение/инициализация плагина обросла неимоверными проверками и прочими никому не нужными глупостями. Я уже совсем молчу про полный хаос и отсутствие какой-то четкой структуры файлов плагинов. Они могут быть с любыми именами и любыми функциями.

При разработке MaxSite CMS я, естественно, учитывал все эти моменты, поэтому в системе используется строгое именование, а также предопределенный набор правил. Всё это позволяет значительно упростить создание плагина и сделать его многофункциональным. Именно поэтому я считаю, что по функциональности плагинов MaxSite CMS мало в чем уступает WordPress.

Далее...