Суб’єкти в Drupal 7


13

Що таке Drupal у Drupal 7? Я розумію, що Drupal Commerce будує Продукти як цілісність. Я знаю, що зараз існує основний API Entity і додаток для додавання для Entity API.

Цього року у мене є кілька проектів, де я хотів би використовувати Drupal 7, NoSQL і, можливо, API Entity, якщо він вимагає цього, але у мене виникають проблеми, коли вони знадобляться.

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

Крім того, чи можете ви ще отримати можливість спілкуватися з модулями з Entity і як це робиться? Мовляв, суб’єкт роботи з розміщення робочих місць отримує псевдонім з Pathauto та відкривається у представленнях, а також з'являється у XML-мапі сайту.

Відповіді:


9

Суб'єкт - це структура даних, визначена moka_entity_info () і може бути наповнювальною, це означає, що ви можете додавати до них поля.

У програмі Drupal 7 Core - це вузли, користувачі, коментарі, словники та терміни.

У Contrib є багато інших, наприклад приватні повідомлення та комерція, як десяток їх;)

Однак, я вважаю, що об'яви про роботу є ідеальними як вузли :) Інтеграції не мають автоматично інтеграції Pathauto (жетони), перегляди тощо.


9

Суб'єкти - це метарівень вище вузлів, користувачів тощо.

По суті, якщо ви подивитеся на D6, то існує багато дублюючих модулів та функціональність для цих типів речей. Наприклад, є модулі для приєднання полів cck до користувачів та до термінів таксономії.

У D7 було прийнято рішення розглядати їх однаково, архітектурно, тому якщо у вас є модуль, який щось робить для сутностей, він повинен працювати для вузлів, термінів та користувачів.

У попередніх версіях Drupal такий модуль, як Commerce, мав би два варіанти: створити користувацький тип вузла або вийти повністю за межі внутрішніх систем Drupal та визначити власний тип речі. З юридичними особами можна описати Товар як тип речі, що відрізняється від існуючих типів, але все-таки використовувати такі функції, як поля в їх макіяжі.

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

Ви можете. Я думаю, вам слід бути обережними, щоб надто швидко створювати сутності. Часто користувацькі типи вузлів все одно будуть робити те, що ви хочете. Це завдання, що перелічує різний тип речі до вузла, чи це вузол з якимись спеціальними властивостями?


3

Я почав використовувати сутності в кількох своїх проектах для речей, які насправді не були "змістовними". Ми використовуємо їх для речей, де нас не хвилює, коли вони були опубліковані або хто був автором.

Реальні переваги визначення об'єктів полягають у тому, що ви розробляєте власні спеціальні модулі. Ви отримуєте приємну структуру столу та купу доброти Drupal (Fieldability, інтеграція з видами, ...) безкоштовно. Більше не створюйте власні структури таблиць або переоблаштовуйте тип вузла під свої потреби. Крім того, мені подобається, наскільки легкими вони є, настільки ефективні суб'єкти повинні бути кращими. Якщо ви зробили якісь запити в D6 з вузлами, ви зрозумієте, що я маю на увазі.


1

Вузли, користувачі, систематика - приклади сутностей Друпала. Основна особливість сутності полягає в тому, що вона може бути призначена іншим об'єктам: користувач асоціюється з вузлом, а таксономія може бути призначена вузлам та користувачам.

Якщо те, що ви описуєте як роботу, можна призначити користувачеві або вузлу, то я ставлю це сутністю. Якщо те, що ви можете "працювати", є лише типом контенту, то я не став би це сутністю.


1

Якщо ви хочете сказати, що насправді мало слів, ви можете сказати, що en entity - це лише частина даних, про яку знає drupal, і її можна зберігати в будь-якому місці.

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