【问题标题】:what is CCK Computed Field?什么是 CCK 计算场?
【发布时间】:2010-07-24 16:40:23
【问题描述】:

请用简单的话解释一下什么是CCK计算场?

【问题讨论】:

    标签: drupal cck


    【解决方案1】:

    它是一个 CCK 字段,它提供一个“计算”结果,您可以添加到任何节点。您可以编写自定义 php 代码以从节点或数据库中的任何其他位置获取一些值,并生成结果。假设您在某人输入生日的节点上有一个字段。您可以拥有一个使用 php 自动计算人员年龄的 CCK 计算字段,而无需要求他们输入其他信息:

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

    代码来源:Timur Gilfanov

    drupal.org 上的详细手册页面可以在http://drupal.org/node/126522找到

    【讨论】:

      【解决方案2】:

      计算的 CCK 字段是在保存记录时填写的字段。它是数据库中的实际字段,而不是仅在显示时才计算的字段。

      当用户输入他/她的名字和姓氏时,我用它来创建一个 FullName 字段。

      计算域的内容可以是您喜欢的任何内容,正如上面 AdamG 所指出的(尽管年龄示例不是一个好的示例,因为除非更新记录,否则年龄将永远不会改变)。您输入自己的 PHP 代码,该代码将在保存记录时执行。

      通常您不需要计算 CCK 字段;计算/更改可以在模块或模板中完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-11
        • 1970-01-01
        相关资源
        最近更新 更多