Добрый день !
Поделитесь, пожалуйста, опытом.
Допустим, продумывается более-менее серьезный проект на Друпале, в котором предполагается задать некоторое количество типов содержимого и пока еще точно неизвестно, какие дополнительные действия будут производиться в процессе работы с этими узлами.
Каким образом будет более грамотно эти типы содержимого задать ?
1. Написать для каждого типа содержимого по своему модулю, где всё определить - установку, всякие хуки и т.д. Сначала придется поработать, зато потом всё можно будет без проблем донастраивать.
2. Взять и забить в админке этот тип данных, там же прописать ему поля и т.д. Это, естественно, легче, чем руками в 1-м случае, но зато потом что-то дополнительно с этими нодами делать проблематично.
3. Возможно, есть некий третий вариант ...
Комментарии
п.2, потом когда появится определённость
- п.1
То есть, получается, что п.2 больше предназначен для каких-нибудь несложных и недорогих сайтов (типа, сайт-визитка или несложный корпоративный сайт), где разработчик точно знает, что никаких нестандартных действий при работе с узлами проводиться не будет ?
Что именно проблематично?
Ну, допустим, я создаю ноду определенного типа.
И мне нужно при её создании произвести некоторые действия
Например:
1. Автоматически создать несколько нод другого типа.
2. В текст некоторой ноды добавить фразу "Нода такая-то успешно создана ..."
3. Создать, удалить или переименовать некоторые пользовательские файлы.
и т.д.
То есть, произвести какие-то нестандартные операции.
прежде чем заняться хуками, написанием модулей и прочим рукоблудием - рекомендуется ознакомиться с этим
Спасибо, очень интересная публикация.
Только не совсем в статье понятно, как можно от сайта требовать безболезненный переход на следующую версию Друпала ?
То есть, например, я разрабатываю проект под Друпал 7, пишу под него свои модули с использованием функций Друпал 7 и т.д.
И всё нормально работает.
И неужели часто в таких случаях возникает задача перевода проекта на Друпал 8 ?
И неужели проблемы с переводом этого проекта на Друпал 8 будут считаться недоработкой разработчика ?
Какая разница, каким образом создаются типы содержимого?
Я же Вам выше ответил о том, какие проблемы могут потом возникнуть, если тип ноды задан в админке.
http://drupal.org/project/rules
это крайний случай общей задачи "поддержка и администрирование сайта"
недоработкой будут считаться проблемы с обновлением сайта (переход на следующую версию как крайний случай) и его масштабированием (добавлением нового функционала, как вариант), вызванные со стороны разработчика:
- неправильным планированием структуры данных
- кодом, ограничивающим использование этих данных
Следующая версия системы - это имеется в виду, к примеру, переход с Drupal 7.15 на Drupal 7.16, но не с Drupal 7.15 на Drupal 8.0 ?
в данном случае я подразумевал смену мажорной версии, т.е. 7 > 8
но и при апдейтах в рамках одной версии, не исключаются изменения в структуре данных, для этого, собственно и надо запускать update.php после каждого обновления
да, и кстати - Drupal 9 coming soon, не стоит зацикливаться на 8
Не стандартные оперции можно производить абсолютно с любыми нодами через node api