Как использовать Drupal для составления отчетов о таблицах данных, обработанных вне Drupal? - PullRequest
1 голос
/ 10 марта 2011

Есть ли модуль или набор модулей, которые можно использовать для этой цели. Я обрабатываю данные с использованием сценариев sql и т. Д. Вне Drupal. Я читал, что комбинация Views и CCK может сработать, но это требует повторной настройки каждого поля (в CCK). Я экспериментировал с использованием php-кода внутри блоков, но параметры отображения ограничены. Должен ли я создать новый модуль?

1 Ответ

2 голосов
/ 10 марта 2011

Использование CCK для этого - действительно плохая идея.

  1. CCK может работать только с той архитектурой базы данных, которую он создает. Использование существующих полей CCK в существующей архитектуре базы данных практически невозможно.
  2. CCK изменяет структуру базы данных в зависимости от ее конфигурации. Например. Создание поля «несколько» или повторное использование поля в другом типе контента резко изменит порядок и нормализует базу данных: создание новых таблиц, удаление столбцов и т. д.

Ваш внешний скрипт должен учитывать все это. Единственный правильный способ - это обработать все через CCK API, что включает в себя написание cron-реализаций или скриптов drush.

Это оставляет вам один действительно хороший вариант: создать модуль, который определяет свои собственные типы контента. Такой модуль получает возможность определять все поля (без CCK, просто $node->foo) любым удобным для него способом.

Это хороший пример, например, создавать узлы, которые имеют контент от внешних сервисов. Скажем, поле $ node-> price, где цена извлекается из некоторого внешнего сервиса SOAP.

Это также хороший пример, когда у вас есть устаревшие базы данных, где вам нужно читать, записывать или обновлять данные. Еще одним преимуществом этого подхода является то, что вы можете легко ограничить действия: например, только чтение или создание и чтение, но без обновления. CCK не позволяет такие вещи (легко).

...