Возьмите данные из поля существующего узла и сделайте его значением по умолчанию для поля с другим типом контента - PullRequest
0 голосов
/ 02 июля 2010

Я не знаю, нахожусь ли я на правильном пути, но я пытаюсь позволить пользователям моего веб-сайта создавать собственные версии страниц на моем веб-сайте. По сути, я бы хотел, чтобы наша документация использовалась в качестве отправной точки, где они просто добавляют детали и создают новую страницу для себя в процессе. У меня есть тип контента «книга», который я изменил с помощью CCK, и тип контента «клиентские правки», который использует виджет nodereferencefromURL, чтобы связать себя с узлом книги.

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

В итоге я использовал правила для сохранения информации от пользователя и клонированного узла в скрытые поля. Тот, который сохранил исходный идентификатор узла в поле при создании контента такого типа, если URL-адрес не заканчивается на Clone. Это означает, что при создании клона исходный идентификатор узла сохраняется в поле. Это облегчало использование аргумента views, который использовал идентификатор узла, чтобы клон появлялся рядом с оригиналом, когда пользователь посещает исходную страницу. Второй трюк с правилом состоял в том, чтобы вычислить поле, которое сохраняло «имя магазина» из профиля пользователя только при сохранении клонированного контента. Это означало, что в клоне было скрытое поле, в котором сохранялась информация, поэтому я мог затем использовать другой аргумент представлений, чтобы ограничить представление только людьми с одинаковым именем магазина в их профиле. Я не очень хорошо разбираюсь в PHP, но мне удалось найти фрагмент (не помню где), который возвращает имя магазина текущего вошедшего в систему пользователя в качестве аргумента.

global $user;</p> <p>profile_load_profile($user);</p> <p>return $user->profile_store_name;

0 голосов
/ 02 июля 2010

Это звучит немного странно, изменения вашего клиента будут отличаться от исходного узла или просто скопированных данных?

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

Вам понадобится сделать модуль для хранения вашего собственного php-кода.

...