Де Drupal зберігає вміст тіла вузла?


48

У таблиці вузлів ви знайдете все, крім фактичного тіла. Де я можу знайти цей текст тексту? Я припускаю, що він десь зберігається як крапля.


Щоб зрозуміти, де всі поля вузла зберігаються в Drupal 7: див. Drupal.stackexchange.com/questions/68515/…
кігті

Відповіді:


38

Тут у мене немає запущеної інсталяції drupal, але я задав собі це саме питання пару тижнів тому, і знадобився час, щоб знайти відповідь.

Якщо я добре пам’ятаю, тіло вузла зберігається в таблиці, яка використовується для збереження «ревізій» вузла. Я не впевнений, як його звуть, але це має бути щось на кшталт "node_revision" або "node_reitions".


4
правильно. це node_revisions.body

Просто додамо ... мета відокремлення тіла вузла - дозволити розробникам створити стільки різних типів вмісту, скільки вони хочуть, і мати лише одну таблицю, що містить усі node_id. Зміни, до яких належить тіло, знаходяться на окремих таблицях.
Ренделл

Посилання webdevgeeks.com порушено.
перепрограміст

Для якої версії drupal правильна ця відповідь?
кігті

1
@claws, ця відповідь призначена для Drupal 6, для Drupal 7 поле тіла зберігається у таблиці field_data_body.
Йогеш

53

У Drupal 7 тіло переміщено до таблиці field_data_body.


2
На своєму сайті Drupal 7 я бачу тіла мого вмісту в таблицях "field_data_body" та "field_revision_body".
репрограміст

Це справедливо лише в тому випадку, якщо у вас є типи вмісту, які включають поле тіла (те саме, що і будь-яке інше поле без заголовку). Наприклад, опитування не мають.
Скотт Еверден

1
Не зовсім правильно. Текст тіла зберігається у valueстовпчику поля під назвою body. Це за замовчуванням зберігається у body_valueстовпці field_data_bodyтаблиці. Однак, ніщо не заважає вам використовувати, скажімо, MongoDB для зберігання даних у bodyполі (майже нічого: стандартний профіль створює їх у SQL, тому краще використовувати мінімальний, якщо ви хочете використовувати MongoDB для збереження болісної міграції пізніше).

Яка асоціація між вузлом і field_data_body? В останньому немає nidні vidстовпця (принаймні, не з цією назвою)
Вибухові таблетки

У field_data_body є колонна сутність_контакту, яка посилається на nid з таблиці вузлів
новаторський кундан


8

В Drupal 6 вміст тіла вузла зберігається в таблиці "node_reitions" під полем "body".

node_reitions.body

У Drupal 7 вміст тіла вузла зберігається в таблиці 'field_data_body' під полем 'body_value'. Якщо виправлення вмісту є, то вони також зберігають дані в таблиці 'field_revision_body' під полем 'body_value'.

field_data_body.body_value

field_revision_body.body_value

У Drupal 8 вміст тіла вузла зберігається в таблиці "node__body" під полем "body_value". Якщо виправлення вмісту є, то вони також зберігають дані в таблиці 'node_revision__body' під полем 'body_value'.

node__body.body_value

node_revision__body.body_value


5

Ваше зміст зміст типів тіла зберігається в field_data_bodyі field_revision_bodyтаблицях.


2

Це SQL, який ви б використовували (клієнт MySQL):

SELECT node.nid,node.vid,type,node.title, body 
FROM node join node_revisions ON node.nid = node_revisions.nid
WHERE node.title = 'some title';

Так, так, відповідь - таблиця "node_reitions" в Drupal 6.


2

У Drupal 7 тіло вузла знаходиться у field_data_body та field_revision_body. Нові поля, додані за допомогою CCK (який доданий до ядра в Drupal 7), знаходяться в field_config та field_config_instance. У Drupal6 тіло вузла зберігається у node_reitions, а створені поля зберігаються у content_node_field та content_node_field_instance.


1

Я створив кілька нових типів вмісту, і для них тіло або опис переходить у стовпець field_description_value таблиці, content_type_<type_name>де type_nameназва нового типу вмісту.


1

У Drupal 7 його в field_revision_body .. якщо ви опишете цю таблицю, ви побачите коло для підсумків тіла та його тип довготексту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.