что такое CCK Computed Field? - PullRequest
       9

что такое CCK Computed Field?

2 голосов
/ 24 июля 2010

Объясните мне, пожалуйста, простыми словами, что такое вычисляемое поле CCK?

Ответы [ 2 ]

5 голосов
/ 24 июля 2010

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

<?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;
?>

Код кредита: Тимур Гильфанов

Подробныйстраницу руководства на drupal.org можно найти по адресу http://drupal.org/node/126522

1 голос
/ 26 июля 2010

Расчетное поле CCK - это поле, которое заполняется при сохранении записи. Это фактическое поле в базе данных, а не то, которое рассчитывается только тогда, когда оно должно быть показано.

Я использовал его для создания поля FullName, когда пользователь вводит свои имя и фамилию.

Содержимое вычисляемого поля может быть любым, как вам нравится, как отмечает AdamG выше (хотя пример возраста не очень хороший, потому что, если запись не обновлена, возраст никогда не изменится). Вы вводите свой собственный код PHP, который будет выполняться при сохранении записи.

Часто вам не нужно вычисляемое поле CCK; расчеты / изменения могут быть выполнены в модуле или шаблоне.

...