drupal - шпаргалка по структуре
Из заметок по drupal уже были выбраны некоторые полезности drupal. В этом посте - неполная шпаргалка по структуре drupal.
В drupal все элементы (так называемые Ноды | node) хранятся в специальной таблице node . Начиная с версии __ появилась таблица node_revision(?), в которой хранятся истории изменений (nid -node ID, vid - reVision ID)
Ноды (Node) могут быть различного типа (type). От самого простой - Page до замысловатых (товар в интернет магазине с кучей характеристик, галерея… )
Таксономия (taxonomy) в drupal - один из наиболее гибких и мощных инструментов. Она позволяет реализовать практически любую каталогизацию (категории в несколько уровней, теги, свойства и т.д.) для выбранного типа node
Таблица vocabulary (?) - “словарики” (терминов таксономии) содержит типы возможных “терминов” (тэги, категории товаров, разделы и т.д.)
SELECT *
FROM `term_data` td
INNER JOIN `term_hierarchy` th ON td.tid = th.tid
WHERE td.vid =5';
--td.vid - как раз и есть id словаря (
select * FROM `node` n
INNER JOIN `content_type_type1` c1 ON n.nid = c1.nid
INNER JOIN `term_node` tn ON tn.nid = n.nid
--выбираем все ноды, связанные с CCK-типом type1 и таксономией
--(будут дубли, в оригинальном запросе требовалось дополнительное условие)
Таблицы типа content_type_type1 (вместо type1 может быть, например, product) создаются CCK-плагином. Плагин позволяет добавлять дополнительные поля (field_pole, field_newname) - все поля начинаются со префикса field_
таблицы с префиксом view_ относятся к плагину view (вид), который позволяет настраивать отображение группы элементов (нод).
Иногда в таблицах могут присутствовать нестандартные недокументированные поля (добавленные предыдущими разработчиками) - бывает всякое =)
Метки: drupal