Рубрика развивается при поддержке
Сервисы
Oleg Hanin
3046

Craft CMS: разработка кастомного сайта по силам даже php-джуниору

Я создаю и поддерживаю сайты уже около десяти лет без глубокого углубления в программирование. В реальных условиях мне никогда не приходилось пользоваться конструкторами Weebly, Wix. Бизнесу, как правило, надо что-то более кастомное.

В закладки

На определенной стадии разработки сайта с уникальным дизайном и структурой мы имеем набор HTML-файлов. Для того чтобы превратить это всё в динамический сайт с панелью управления, надо проделать достаточно сложную работу по внедрению дизайна в выбранную вами CMS. Каждая система управления имеет свои нюансы, по мне это очень дорого и не надежно.

По опыту могу сказать, что не каждый php-разработчик может быстро внедрить дизайн, например, в WordPress, Drupal и подобные системы. Если это делают средние программисты, то на выходе получается «фарш», который потом ещё и ломается при попытке обновить само ядро CMS.

Для удобного редактирования устанавливают множество плагинов, которые зависят друг от друга и сайт превращается в «фарш».

Я для себя открыл Craft CMS. После установки у вас нет ничего кроме админки. Нет стартового шаблона. Вы можете брать любой HTML и сразу внедрить его в CMS.

Шаблоны в Craft CMS используют twig.

Template вашей странички:

{% extends "layout" %} <h1>{{ entry.title }}</h1> <div>{{ entry.content }}</div> {% block content %}

Глобальный layout:

<!doctype html> <html> <head> <title>{{ entry.title }}</title> </head> <body> {% block content %} {% endblock %} </body> </html>

entry — глобальная переменная. По умолчанию уже имеет атрибут title. Пишем {{ entry.title }} в шаблоне. На уровне CMS нас уже есть поля разных типов, которые мы можем «прикручивать» к страничкам и выводить их значения. Всё очень гибко.

Управление полями для страниц сайта происходит в визуальном конструкторе.

Доступные типы полей: assets, categories, checkboxes, color, date, time, dropdown, email, entries lightswitch, matrix, multi-select, number, plain text, radio buttons, table tags URL users.

Можно без глубокого знания программирования строить разные структуры сайта.

Для тех кто работает с контентом всё выглядит логично.

Очень важный момент — установка и обновление ядра системы происходит через сomposer. Это просто замечательно.

Всем кто занимается разработкой сайтов средней сложности я рекомендую посмотреть эту CMS. Если вы делаете красивые и уникальные сайты и хотите делать это ещё быстрее, то Craft CMS может вам упростить жизнь.

Для личного использования бесплатно. Для клиентов $299 за раз и $59 в год за обновления. Разработкой занимается небольшое агенство в Америке. Раньше эти ребята разрабатывали и поддерживали какой-то популярный плагин для ExpressionEngine CMS. Как я понимаю, визуальный конструктор полей был частью этого плагина.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Oleg Hanin", "author_type": "self", "tags": ["cms"], "comments": 16, "likes": 13, "favorites": 75, "is_advertisement": false, "subsite_label": "services", "id": 61333, "is_wide": false, "is_ugc": true, "date": "Fri, 15 Mar 2019 17:40:56 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
0
{ "id": 61333, "author_id": 270070, "diff_limit": 1000, "urls": {"diff":"\/comments\/61333\/get","add":"\/comments\/61333\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/61333"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
16 комментариев
Популярные
По порядку
Написать комментарий...
2

Кстати Craft CMS сделан на Yii2. Как-то смотрел его, не зашла их философия.

LUYA показалась на порядок гибче и мощнее, тоже на Yii2.
Она спроектирована в рассчете на разработчиков, там нельзя все настроить в граф интрфейсе, но так и задумано.

Ответить
1

о спасибо за наводку!

Ответить
0

Там мощный фреймворк для построение админки, на AngularJS, REST и Active Record.
Можно сделать практически любую админку, я делал реализацию системы entity-attribute-value.

Ответить
2

Ребят, Вам надо попробывать OctoberCMS ;)

Ответить
1

весьма интересная cms-конструктор. Преимущества cms и гибкость в одном флаконе

Ответить
1

Ребята сделали платный modx? Серьезно, да?

Ответить
0

Как там поживает MODX3? ;)

Ответить
0

Откуда мне знать ?

Ответить
0

Ну вот и никто не знает. При чем здесь тогда MODX к обсуждению Craft?

Ответить
0

300 баксов за лицензию? не дохера ли за объявленную функциональность?
это ж 20000 рублей, столько стоит лицензия на webasyst, hostcms, и даже младшую версию битрикса

ни разу не знаю, что такое twig, буду за десктопом, погуглю, но кое-где в темплейтах применяется smarty, мощная штука с хорошей документацией

Ответить
1

смарти стал слишком жырным. твиг минималистичный и его хватает «за глаза» в большинстве случаев

Ответить
0

не каждый php-разработчик может быстро внедрить дизайн, например, в ... Drupal

Шаблоны в Craft CMS используют twig

https://www.drupal.org/docs/8/theming/twig

установка и обновление ядра системы происходит через сomposer. Это просто замечательно

https://www.drupal.org/docs/develop/using-composer/using-composer-to-install-drupal-and-manage-dependencies

https://www.drupal.org/docs/develop/using-composer

Ответить
1

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

Ответить
0

Я не работал с этими cms. Я из Латвии, здесь своя каша 🥣 для европы часто делаем. Надо глянуть эти CMS, я слышал о них.

Ответить
0

Эх, давным давно когда CraftCms была первой версии, меня заинтересовала она, я думал перевести документацию и пиарить ее на ру рынке, был у меня домен даже в ru, и вел переговоры с разработчиками, но они во всю пилили переход на новую версию и у нас как то не сложилось, до сих пор в вк можно паблик CraftCMS найти созданный мной. Но в 2019 уже есть и более интересные предложения, те же Headless CMS.

Ответить
0

Отличная система! только с ней и работаю.
Используя WP и прочие подобные CMS, неизбежно приходится подгонять сайт под цмс, с Крафт наоборот - всё сделано для того, чтобы можно было настроить систему под задачи сайта

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }