Сайт Виктора Лучкова — victorluchkov.ru

5399
Делал сайт бизнес-тренеру. Решил написать о том какой я «молодец» и как я «победил дракона». А еще провел анализ modX Revo. Все минусы и плюсы.

Мне нравится считать себя тимлидом. Ну, понимаете, я могу считать себя кем хочу, хоть котом. Но, по всем признакам я, вроде как, тимлид. К этому гениальному выводу я пришел исходя из двух обстоятельств: я руковожу и программирую. А иногда я беру себе проекты, как халтурку, и делаю их один. Как строители шабашат, ну вы знаете. Сначала шабашишь, потом бац, и фирму свою глядишь, откроешь, окна будешь ставить, порог вхождения небольшой: есть скафандр – будут путешествия. Про один такой проект и хочу рассказать, а также сделать какие-то выводы. К сожалению, тут будут технические подробностей, поэтому вот вам смешная картинка про тимлидов. 

Проект по программированию и натягиванию на движок. Верстка уже была готова, дизайн согласован, оставалось только заставить всё это работать. Я отказывался сначала, не хотел (я ленив по природе), но пацаны из студии МОСТ прямо упросили меня. Мол, ты парень такой, кого не страшно просить, ибо программисты все безумные кругом. Одним ТЗ подавай, другим деньги. Да и найти нормального программиста в Рязани, который не будет трахать голову по всяким пустякам и согласится работать за те гроши, что беру я — просто миф. Хотя есть алмазы в сёлах, но поговаривают интернеты туда еще не провели.

Сайт бизнес-тренера. Я их всегда недолюбливал: вроде как паразиты на теле бизнеса. Как инфобизнесмены, коучи и прочее говно. Но Виктор мне понравился: эрудированный, не выпендривается, знает, чего хочет, платит бабло, которое не позволяет себе платить средней паршивости фирма в Рязани. Короче нормальный бизнес-тренер и пашет как лошадь: контент генерирует на-гора, рассылки триггерные делает, видео записывает и каждую неделю куда-то уматывал на свои бизнес-тренерские дела, поэтому связь держали исключительно по скайпу, хотя сам он и из Рязани. Мне советы давал разные по ходу работы, книжки советовал. Короче изменил я свое мнение. Не все бизнес-тренеры мудаки. Это как c SEOшниками. Есть нормальные ребята, но репутация профессии подпорчена большим количеством аферистов.

А, да! Я же про сайт хотел рассказать. Идея сайта в том, что он состоит из большого количества блоков разных форматов. И эти блоки выводятся по определенным правилам, которых over9000. Заставил я это всё работать с помощью MODX Revo, php и пиздюлей. Всё как обычно — на входе вёрстка, на выходе алмаз ограненный.

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

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

Всё оформлено максимально децентрализовано и на чанках (кусочки кода в MODX). В чем фишка то? А в том, что за счет использования БЭМ (блок, элемент, модификатор) в верстке и за счет использованием сниппетов получилось добиться полностью независимого конструктора для пользователя. Сниппеты это куски пехапе кода. Они производят другие куски кода, в зависимости от id ресурса или id шаблона.

То есть можно сказать: эй, MODX, у меня новый тип страницы. Хочу, чтобы был заголовок, текст, под ним отзывы, под ними комменты, справа чтобы тэги висели и еще какое-нибудь говно, я сам еще не решил. И всё будет корректно работать.

И у страницы сразу будет и рабочая логика — если тэг выбран, то сразу подцепляются статьи и мероприятия по тэгу. Если выбрано несколько тэгов, то всё это подцепляется, но уже по матану. Если же статьи выбраны, то они показываются в приоритете, а дальше по матану. Если картинку загрузили к статье в поле слайдер, то статья сразу попадает на главную страницу вместе со ссылками, вступлением и заголовками.

Все по кускам. Сначала основной текст. Затем блок для регистрации, берется из другого места. Статьи в блок «подготовка к мероприятию» дергаются по тэгу. Отзывы тоже идут по связи. С проектом было крайне забавно работать, потому что в качестве ТЗ были блоки, и наброски страниц, которые по 100 раз изменились в процессе работы. Но, так как я изначально знал об этом, то и делал с акцентом на независимость.

Просто кликаешь, добавляешь, вводишь и вуаля. Как LEGO собирать в режиме реального времени. Приятно.

Почему MODX то? Я всегда считал, что MODX сделан для дизайнеров. Он настолько прост, что если ты знаешь html и css, то ты разберешься с ним за 1 сутки. Ну, конечно, если ты не ленивая жопа, которая ищет оправдания вместо того чтобы делать. Я раз 5 или 6 обучил стажера за один день натягивать шаблон на MODX. Каждый раз неприятие. Типа моя жумла или вордпресс делает это по другому. Фу! Блевота! В жумле вот так…

И через 1 неделю он говорил мне: — это лучшее из того что я пробовал. Лучше чем героин, который мне приходилось принимать, когда я делал сайты на joomla, чтобы не страдать так сильно!

А ты ему: — парень, вот тебе сайт modstore.pro иди и охуевай дальше.

А знаете что самое клевое? Ну, то, что если вы дизайнера научите этим пользоваться, то он будет делать просто крутецкий продукт. Потому что дизайнер думает как пользователь. А программист думает как программист: где ТЗ!? Этого в ТЗ не было!

Пример из проекта: необходимо чтобы контент-менеджер мог выбирать любой документ и показывать его на главной в слайдере.

Смысл в том, что программист сделает форму для добавления фото в слайдер и рядом флажок «выводить на главной» а дизайнер просто сделает форму добавления фото и припишет «если фото загружено, то оно будет выводиться на главной». Смекаете? Программисты — псы алгоритмов. Но дизайнеры не умеют программировать. В итоге ваш охуенный залайканный на дрибле дизайн будет разбит о суровые реалии советской алгоритмической школы, главный постулат которой «небыло в ТЗ». Чуть ниже кусок админки, где это реализовано.

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

Подведу итог про MODX Revo. UPD от 10.09.15, спасибо пользователям Виктору и Мордынскому Николаю с сайта modx.pro

Плюсы:

  1. Из коробки ничего нет. Как следствие нет лишнего кода и прочего говна. Только то, что надо. Ни одной строчки система не сгенерирует без твоей на то воли. Из этого вытекает минус: надо познакомиться с большим количеством модулей, документаций и вообще у новичков руки опускаются.
  2. Куча шаблонов. Любой html это шаблон. Хе-хе. Просто берешь код и говоришь: вот это будет меню, а это футером. Это везде повторяется, а это нет. Чувствуешь себя идиотом иногда, вроде «мне что за это правда деньги платят?».
  3. Быстро работает. Блин.  Даже не так. Можно навесить снипет вроде «сделать всё пиздато» который все сожмет аки gulp и, к примеру, будет выводить всё через аякс. Ну для совсем любителей скорости. У меня получалось сделать 92 на gmtrix. Как статику отдает.
  4. Безопасность. Могу рассказать про ORM xPDO но никто не поймет ничего, даже я. Скажу просто за 4 года штук 10 взломов сайтов на жумле. И ни одного на MODX.
  5. Бесплатная.
  6. Модульная система и модулей много (сомнительный плюс, учитывая количество дополнений для Жумлы, Вордпресса и Друпала)

Минусы:

  1. Всё хранится в БД. Вообще всё. Шаблоны, логика, пехапе, небо и аллах, всё. Но можно перетащить в файлы. Под всеми шаблонами чанками и снипетами, есть галочка «статичный» если она активна нужно указать путь к файлу где храниться код и все.
  2. Как следствие первого пункта — только для одиночек. Одиночек, шабашников, вебмастеров, фрилансеров. Команда тупо не осилит, ибо, как вы понимаете систему контроля версий можно поставить только для контроля css. Ну, то есть алгоритм работы такой, что сначала верстка, а потом натянули. И если надо править разметку, то надо пускать верстальщика в админку, а он там не разберётся без пузыря.
  3. Вебмастеру надо немного врубиться в дизайн и в подход. Иначе они начинают делать такой пиздец, что просто не в сказке сказать. К примеру, вместо того чтобы засунуть куда-нибудь в конфиг телефон и адрес и выводить его везде (в футере, в хедере, в контактах) они тупо его прописывают кодом. А потом клиент хочет сменить телефон, и он остается где-то где не заметили. Ну, вообще это везде подобное говно наблюдается, не только здесь.
    • От Виктора с сайта modx.pro:
      1. Низкая известность и отсутствие маркетинга — клиент приходит и говорит не знаю я эту вашу модыксу, сделайте мне мою визитку на битриксе, мне сосед сказал, что он крутой. 
      2. Угрюмый шаблонизатор из коробки. 
      3. 623 компонента в офф репозитории, это не так много, учитывая что некоторые устарели, а некоторые бесполезные. 

Если я что напутал, не серчайте. Я джуниор а не тимлид — я всех обманул. А еще у меня есть отзыв заказчика на книжке, которую он выпустил:


Рассказывает

Руководитель
Вконтакте, Facebook, Google+

Сайтhttp://victorluchkov.ru/

Технологии: PHP, xPDO, JavaScript, MODX Revo, стандартный набор CSS+HTML

Выводы: Если у вас e-commerce то берите 1С-Битрикс или пишите с нуля, если у вас корпоративный сайт-визитка-лендинг-что угодно то modX Revo.

 

MODX не CMS, а CMF. То есть это фреймвёрк для того чтобы делать другие CMS. Нам нужно больше фреймверков! Хочу фреймверк чтобы делать другие фреймверки, которые делают другие фреймверки

Перечитываю и понимаю, что сложно написано, но что поделать — ведь цель этой статьи создать впечатление, что я охуеть какой профессионал. На самом деле так оно и есть. Я серьезно!

Поделиться
Плюсануть