我正在使用nodeapi更新更新节点,但是我需要在幕后进行更多操作,这需要我知道字段的旧值/是否有一种方法可以在覆盖之前获取字段的旧值.
解决方法:
编辑
hook_nodeapi()只对新的$node对象起作用,所以我之前的回答对你没用.相反,您需要在提交时访问节点.为此,您需要注册自己的提交处理程序,该提交程序将在提交节点表单时被调用.它可以让您访问当前值和新值:
function test_form_alter(&$form, &$form_state, $form_id) {
if ($form_id === 'contenttype_node_form') { // Replace contenttype
$form['#submit'][] = 'test_submit'; // Add a submit handler
}
}
function test_submit($form, &$form_state) {
// Load the current node object
$node = node_load($form_state['values']['nid']);
// Display the current node object's values
dsm($node);
// Display the submitted values
dsm($form_state['values']);
}
更新称为$node对象已更新.您可能对presave更感兴趣,它在验证后检查节点,或验证,在验证之前检查它;两个$ops在保存新的$node对象之前触发.
标签:php,drupal,drupal-6 来源: https://codeday.me/bug/20190705/1383837.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。