Оптимальный способ задания типа контента для более-менее серьезного проекта

Аватар пользователя roman-yrv roman-yrv 11 августа 2012 в 9:58

Добрый день !

Поделитесь, пожалуйста, опытом.

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

Каким образом будет более грамотно эти типы содержимого задать ?

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

2. Взять и забить в админке этот тип данных, там же прописать ему поля и т.д. Это, естественно, легче, чем руками в 1-м случае, но зато потом что-то дополнительно с этими нодами делать проблематично.

3. Возможно, есть некий третий вариант ...

Комментарии

Аватар пользователя Andruxa Andruxa 11 августа 2012 в 10:23

п.2, потом когда появится определённость

"roman-yrv" wrote:
какие дополнительные действия будут производиться в процессе работы с этими узлами

- п.1

Аватар пользователя roman-yrv roman-yrv 11 августа 2012 в 11:33

То есть, получается, что п.2 больше предназначен для каких-нибудь несложных и недорогих сайтов (типа, сайт-визитка или несложный корпоративный сайт), где разработчик точно знает, что никаких нестандартных действий при работе с узлами проводиться не будет ?

Аватар пользователя Ch Ch 11 августа 2012 в 10:23

"roman-yrv" wrote:
но зато потом что-то дополнительно с этими нодами делать проблематично.

Что именно проблематично?

Аватар пользователя roman-yrv roman-yrv 11 августа 2012 в 11:30

Ну, допустим, я создаю ноду определенного типа.
И мне нужно при её создании произвести некоторые действия
Например:

1. Автоматически создать несколько нод другого типа.
2. В текст некоторой ноды добавить фразу "Нода такая-то успешно создана ..."
3. Создать, удалить или переименовать некоторые пользовательские файлы.
и т.д.

То есть, произвести какие-то нестандартные операции.

Аватар пользователя Andruxa Andruxa 11 августа 2012 в 11:39

прежде чем заняться хуками, написанием модулей и прочим рукоблудием - рекомендуется ознакомиться с этим

Аватар пользователя roman-yrv roman-yrv 11 августа 2012 в 12:41

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

То есть, например, я разрабатываю проект под Друпал 7, пишу под него свои модули с использованием функций Друпал 7 и т.д.
И всё нормально работает.

И неужели часто в таких случаях возникает задача перевода проекта на Друпал 8 ?

И неужели проблемы с переводом этого проекта на Друпал 8 будут считаться недоработкой разработчика ?

Аватар пользователя roman-yrv roman-yrv 11 августа 2012 в 12:47

Я же Вам выше ответил о том, какие проблемы могут потом возникнуть, если тип ноды задан в админке.

Аватар пользователя Andruxa Andruxa 11 августа 2012 в 14:01

"roman-yrv" wrote:
задача перевода проекта на Друпал 8

это крайний случай общей задачи "поддержка и администрирование сайта"

"roman-yrv" wrote:
проблемы с переводом этого проекта на Друпал 8 будут считаться недоработкой разработчика ?

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

Аватар пользователя roman-yrv roman-yrv 11 августа 2012 в 14:27

Следующая версия системы - это имеется в виду, к примеру, переход с Drupal 7.15 на Drupal 7.16, но не с Drupal 7.15 на Drupal 8.0 ?

Аватар пользователя Andruxa Andruxa 11 августа 2012 в 14:39

в данном случае я подразумевал смену мажорной версии, т.е. 7 > 8

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

да, и кстати - Drupal 9 coming soon, не стоит зацикливаться на 8 Wink

Аватар пользователя Ch Ch 11 августа 2012 в 14:58

"roman-yrv" wrote:
То есть, произвести какие-то нестандартные операции.

Не стандартные оперции можно производить абсолютно с любыми нодами через node api