Список допустимых значений в полях drupal CCK - PullRequest
3 голосов
/ 20 апреля 2010

Я просто хочу распечатать каждое из разрешенных значений в поле CCK ..

я знаю, что допустимые значения хранятся в текстовом поле таблицы: 'content_node_field'.

значения затем сохраняются в «global_settings»

Я пытаюсь как-то распечатать каждое допустимое значение с помощью цикла PHP.

однако все значения хранятся в одном текстовом поле. Мне сложно распечатать каждое значение по отдельности.

Ответы [ 2 ]

1 голос
/ 20 апреля 2010

Нечто подобное должно сработать.

// Get the global_settings like you described.
$serialized_data = db_result(db_query("..."));
// Unserialize the data.
$unserialized_data = unserialize($serialized_data)
// Foreach the allowed values.
$values = array();
foreach(explode("\n", $unserialized_data['allowed_values']) as $value) {
  $values[] = $value;
}
0 голосов
/ 20 апреля 2010

Если я правильно понял ваш вопрос, вы можете создать массивы PHP, просто добавив [] к именам полей, например:

<input type="text" name="myname[]" />

Теперь вы можете получить значения массива следующим образом:

foreach($myname as $value)
{
  echo $value . '<br />';
}

Обновление на основе комментариев:

Вы можете использовать функцию json_decode для преобразования ваших данных в массив и последующей соответствующей манипуляции:

Пример:

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json, true));
...