Drupal CCK Alanlarda İzin Değerler listesi

2 Cevap php

Ben temelde sadece CCK alanda izin verilen değerlerin her yazdırmak için arıyorum ..

'content_node_field' i izin verilen değerler tablo içinde bir metin alanı içine saklanır biliyorum.

değerler daha sonra 'global_settings' içinde saklanır

Ben nasılsa bir PHP döngü kullanarak her bireyin izin değerini yazdırmak için arıyorum.

ancak tüm değerleri tek bir metin alanı içinde depolanan ile .. im zor tek tek her bir değerini yazdırmak için bulmak.

2 Cevap

Böyle bir şey hile yapmak gerekir.

// 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;
}

Ben sağ soru alıyorum, bunu örneğin, sadece alanların adlarının [] suffixing tarafından PHP dizileri oluşturabilirsiniz:

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

Şimdi böyle bir dizinin değerlerini alabilirsiniz:

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

Update Based On Comment:

Siz buna göre manipüle sonra dizi için verileri dönüştürmek için json_decode işlevini kullanabilir ve:

Example:

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

var_dump(json_decode($json, true));