将字段赋值为可计算的 PHP
其实,我需要在一个字段中获取另一个字段的值。当我尝试在“测试”内容类型中使用字段 Computed时,一切正常,但当我转移到其他内容类型时就出现了错误。
更确切地说:我需要从字段 field_link 中获取网站地址,并计算 Tиц、PR、在 ЯК 和 DMOZ 的存在情况。
这是我遇到的错误:
PDOException: SQLSTATE[21S01]: 插入值列表与列列表不匹配:1136 列数与第 1 行的值数不匹配:INSERT INTO {field_data_field_link} (entity_type, entity_id, revision_id, bundle, delta, language, field_link_url, field_link_title, field_link_attributes) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8_rel, :db_insert_placeholder_8_class); 数组 ( [:db_insert_placeholder_0] => node [:db_insert_placeholder_1] => 120 [:db_insert_placeholder_2] => 120 [:db_insert_placeholder_3] => ad [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => und [:db_insert_placeholder_6] => http://сайтпользователя.ru [:db_insert_placeholder_7] => Перейти на ресурс [:db_insert_placeholder_8_rel] => nofollow [:db_insert_placeholder_8_class] => art-button but ) 在函数 field_sql_storage_field_storage_write() 中 (文件 /home/p/pratru/swap-ad/public_html/modules/field/modules/field_sql_storage/field_sql_storage.module 的第 448 行。
我不知道该如何解决这个问题……似乎有冲突 0_0
我想尝试这样:
将通过 PHP 代码获取的值设置为“默认值”。这可以怎么实现?好像是通过钩子……但我对钩子完全不懂。
+ 我还需要获取字段 field_link 的值……
这样我获取字段 field_link 的值:
<?php $node=menu_get_object();
if(isset($node->field_link)) {
$b = render(field_view_field('node', $node, 'field_link'));
$entity_field[0]['value'] = $b; //从该字段获取网站地址,确定 Tиц、PR 等等。?>
请帮帮我。我想实现一个非常重要的功能……