Есть, значит, для Drupal 8 - консолько, а для Drupal 7 - пилите все руками, да?
Неее... ))
Надо бы трохи подправить баланс справедливости. Благо братья наши, нодJSники, делают кучу полезных инструментов (нам бы перенимать у них, ну да ладно... не об этом сейчас).
Есть, такая полезность как YEOMAN. Работает на ноде, позволяет скаффолдеры строить для разного.
Вот и решил я немного скрасить рутину, для начала - автоматизировав создание кастомных модулей.
Сразу про "А чо не драш" или "А чо не брать готовые модули":
Делал, в первую очередь, для себя. Надоело копировать это каждый раз. На ноде работает хорошо, быстро. Пишется и поддерживается - удобно. Короч, вот так.
Ок. Как юзать:
- ясен пень - должна быть нода
- так же должен быть установлен сам модуль - YO
- и, вслед, ставим генератор Drupal-модулей
(Установка: Linux, Mac, Windows)
(ключик "-g" означает что модуль будет установлен глобально - не для отдельного проекта, и будет доступен в любой директории.)
Вооот.... Теперь можно модульки делать - хоть обделаться! )) Создаем папку модуля в "нужном месте", переходим в нее..:
..и, генерируем модуль:
По-ходу, отвечаем на все поставленные вопросы, типа: "Имя модуля", "Необходимые хуки", "Генерируемые файлы" и т.п.
На выходе получаем готовый скелетон модуля! Как2ПальцаАбАсфальт...
Пока способности - не безграничны, но рутину скрашивает на раз-два. Чего могет:
- Генерация .info
- Генерация .module
- Генерация .install (при необходимости)
- Генерация статических файлов - JS / CSS (при необходимости)
- Имплементация некоторых хуков - hook_permission, hook_menu, hook_install/hook_uninstall, hook_schema (при необходимости)
Хуки, на выходе - с готовыми шаблонами.
Если "взлетит" (если будет интерес к проекту) - буду дальше развивать. Внедрю еще хуков, настроек им приделаю, все дела...
Странички проекта:
Пока еще свежак, так-что смотрите-фидбечте. Тута, тама - де удобно.
Красивых вам модулей, YO!
ЗЫ - немного про YEOMAN можно почитать тут и здесь. Ну и канешн в гуглах, если уж понесло... ))
Вложение | Размер |
---|---|
drupal_yeoman.png | 17.08 КБ |
yo1.png | 64.77 КБ |
yo2.png | 95.86 КБ |
yeoman.png | 49.84 КБ |
yeoman_multiple.png | 39.68 КБ |
Комментарии
С модулями теперь палегше.
Требуем генератор тем теперь.
Ща по модулькам сделаем годно, потом и на темы посмотрим.
Норм будет
Костя, если бы ты знал, что такое драш, ты бы знал, что любая нормальная тема умеет генерировать сабтемы через драш.
Шикарная штука)
Йоу бичь мазафака! Да это же просто восхитительно!
Шикарно! Сижу пробую. Спасибо!
Наконец-то дошли руки затестить. Работает!) Раньше генерил заготовки модулей через пхпшторм, но эта штука реально удобнее и быстрее. Ещё раз Спасибо!
Пасиба, всем оттестившим!
Немного освобожусь и добавлю еще хуков, и может формо-генератор запилю.
Требуем новых хуков, пора.
Не вопрос. Каких вам не хватает? )))
hook_field_views_data_views_data_alter();
hook_preprocess_views_view_summary_unformatted();
Шутка, конечно
Тулза зачётная, хотя ещё и не пробовал. Респект, как говорится.
PS. Есть предложение реализовать какой-нибудь темплейт набора хуков в редактируемом виде. Чтобы каждый мог расширять набор хуков по вкусу.
Или даже расширяемый набор темплейтов. Например,
- base_hooks.xml - базовый набор хуков (как бы из коробки)
- views_hooks.xml - что-то пользовательское
- my_custom_hooks.xml - ещё что-то-там пользовательское
- my_super_puper_hooks_set.xml - и ещё что-то-там пользовательское
...
и т.д.
В планах - добавить реализации хуков HOOK_block_*, HOOK_theme (может с возможностью ввода необходимых темплейтов) и генератор форм (это может даже отдельным скаффолдером).
Делать возможность подключения своих конфигов - ИМХО, разрушает весь смысл скаффолдинга: вместо написания хуков в модуле их нужно будет писать в конфиге, который потом подключать к генератору, который их же и запишет потом в модуль...
Но! Вполне себе пища для размышления, может что и придумаю в этом направлении.
СПС @OldWarrior!
Вот вам ещё пища для размышления. Говоря о внешних темплейтах я говорю о возможности расширять набор хуков произвольным образом, причём группируя наборы каким-то удобным для себя образом и именуя мнемонически. Поскольку, понятно, модули пишутся для самых разных нужд. НО САМОЕ ГЛАВНОЕ: ЭТО ОФИГЕННАЯ ВОЗМОЖНОСТЬ обмениваться сетами (наборами) между пользователями тулзы - т.е. потенциальный обмен расширениями. Каждый сможет подключить то, что ему удобно/нужно. Каждый сможет дополнить базовый набор своим шаблоном и дать его другим. Речь не о конфиге, а именно об автоматически подключаеых/загружаемых наборах/заготовках. Ядро тулзы при расширении набора тоже править не нужно, обновляются только наборы заготовок. Можно в XML, можно как-то иначе: TXT, CVS или вообще в JSON... etc.
Вам лично это может сократить время между обновлениями и сэкономить время на рутинную работу по забивке шаблонов хуков. И у вас никто не будет просить и ждать днями/неделями/месяцами дописать какой-то хук (которых овер 9000 вообще-то). Такая независимость на мой взгляд существенно поднимет и полезность и значимость и популярность тулзы в глазах пользователей.
PS. А впрочем, хозяин - барин. Просто чахлый набор хуков (если у вас не будет времени его постоянно расширять) со временем может похоронить хорошее начинание.
Немного не тот концепт ))
Направление Вашей мысли я понял. И согласен, было бы круто иметь под рукой что-то вроде артисана из лары. Но это определенно нужно писать, а ввиду постепенного отмирания 7ки - вроде как поздновато уже... Да и применяемый подход ПОП, в купе с практически отсутствием структуры в построении модулей не особо располагают к такой автоматизации.
Да, и это больше похоже на тот шаг, который совершают многие - задумать простую вещицу, решающую элементарную задачку, и в порыве фанатизма замахнуться на гипер-мега-турбо-мульти-тулл, решающий все проблемы насущности. В итоге, это редко у кого получается.
Задача этого генератора - не быть полноценным модуль-билдером, а просто убить грусть уставшего проггера, который в тримилионный раз пишет инфо-файл для очередного модулька.
D7 как раз как бы и отмирает с каждой такой фразой
Не претендую, канеша, на объективность, но, думаю, лет 5-6 седьмая ветка ещё точно протянет. За это время всё отшлифуете и перейдёте на самую свежую ветку (что там уже будет: какой-нить D15 ?). К тому же вроде как ничто не мешает по ходу придумать какую-то вообще абстрактную модель, где можно будет выбирать, под какую именно версию генерировать "module kit".
Да, тогда всего уже достаточно.
Эта мне респект за поднятие, Антон думал мы забудем ))
Ну и тебе, борода, респект, так и быть.
Ай-ай, забыли главного режиссера )
Подскажите а чем не угодил module_builder?