2010-07-24 2 views

Répondre

1

Un champ CCK calculé est celui qui est rempli lorsque l'enregistrement est enregistré. C'est un champ réel dans la base de données, plutôt qu'un qui est calculé seulement quand il doit être montré.

Je l'ai utilisé pour créer un champ FullName, quand un utilisateur entre son prénom et son nom. Le contenu du champ calculé peut être quelque chose que vous aimez, comme AdamG note ci-dessus (bien que l'exemple d'âge n'est pas bon parce que si l'enregistrement est mis à jour, l'âge ne changera jamais). Vous mettez dans votre propre code PHP qui sera exécuté lorsque l'enregistrement est enregistré.

Souvent, vous n'avez pas besoin d'un champ CCK calculé; les calculs/modifications peuvent être effectués dans un module ou un modèle.

5

C'est un champ CCK qui fournit un résultat de "calcul" que vous pouvez ajouter à n'importe quel nœud. Vous pouvez écrire du code php personnalisé pour prendre des valeurs du nœud, ou n'importe où ailleurs dans la base de données, et produire un résultat. Disons que vous avez un champ sur un noeud où quelqu'un entre leur anniversaire. Vous pouvez avoir un CCK Computed champ qui utilise PHP pour calculer la personne âge automatiquement sans avoir à leur demander d'entrer dans un autre morceau de l'information:

<?php 
$birthday_date = date_make_date($node->field__[0]['value']); 
$birthday = $birthday_date->db->parts; 

//compute age 
$bdayunix = mktime(0, 0, 0, $birthday['mon'], $birthday['mday'], $birthday['year']); 
$nowunix = time(); 
$unixage = $nowunix - $bdayunix; 
$age = floor($unixage/ (365 * 24 * 60 * 60)); 

$node_field[0]['value'] = $age; 
?> 

crédit Code: Timur Gilfanov

Une page détaillée du manuel sur drupal .org peut être trouvé à http://drupal.org/node/126522

+0

son effacé. Merci. – Molfar

Questions connexes