В Drupal 6 как автоматически создавать поля CCK на узле, когда создается новый узел с указанным типом узла? - PullRequest
0 голосов
/ 08 ноября 2010

Я использую Drupal 6 и Views 2, а также CCK, Panels и Node Relationships.(пока)

У меня определены два основных типа контента:

  1. Профиль пользователя (с использованием модуля профиля контента)
  2. Продукт

Каждый из этих типов контента имеет ссылку на узел на два других типа контента, Tier и Commission:

  1. Ссылки на содержимое профиля пользователя "Tier" content
  2. Ссылки на контент продукта "Commission Category"content

Может быть от 5 до 10 каждого из них и до 100 от каждого пользователя / продукта.

При добавлении категории комиссионных необходимо указывать значения в долларах.добавляется для каждого существующего в настоящее время узла уровня.

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

Желаемый эффект заключается в том, что пользователис ролью «персонал» может администрировать как уровни пользователей, так и категории продуктов.

Пользователи увидят значение при просмотре продукта, который отображается как комбинация их уровня и CКатегория пропуска.

Например:

Категория A => Уровень 1 (100 долларов США), Уровень 2 (200 долларов США), Уровень 3 (300 долларов США)

Категория B => Уровень 1 (120 долларов США), Уровень 2 (250 долларов США), Уровень 3 (300 долларов США)

Есть ли способ сделать то, что я предлагаю?или мне вообще нужно попробовать другой подход для достижения желаемого эффекта?

1 Ответ

0 голосов
/ 02 августа 2011

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

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

Тогда я бы использовал hook_form_alter (), чтобы в форме уровня добавлялось поле ввода для каждой категории комиссионных. Таким образом, всякий раз, когда вы добавляете новый уровень (или редактируете существующий), вы можете обновить все эти значения одновременно. Используйте hook_nodeapi (), чтобы вставить / обновить все соответствующие узлы Комиссии.

Затем вы можете сделать то же самое для формы категории комиссионных, но в другом направлении.

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

...