Drupal 7 Node

主标签

投票加载中...
标签: 

Node(节点)模块式Drupal内容创建功能的核心;它负责内容在页面中的创建以及展示。此模块式Drupal的必需模块,在默认的完整安装中是启用的。

模块案例: 

Node API Hooks:https://api.drupal.org/api/drupal/modules!node!node.api.php/group/node_a...

Node Title唯一性判断

方法1: form_alter

 /**
 * Implements hook_form_alter().
 */
function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'mycontenttype_node_form') {
    $form['#validate'][] = 'check_node_title_unique';
  }
}

function check_node_title_unique($form, $form_state) {
    $node = $form_state['values'];
    $query = new EntityFieldQuery();
    $query->entityCondition('entity_type', 'node');
    $query->entityCondition('bundle', 'mycontenttype');   // mycontenttype你的内容类型的机器名.
    $query->propertyCondition('title', $node['title']);
    
    // 此处用于验证修改.
    if ($node['nid']) {
      $query->propertyCondition('nid', $node['nid'], '<>');
    }
    $flag = (bool) $query->range(0, 1)->count()->execute();
    if ($flag) {
      form_set_error('title', '此素材已经存在.');
    }
} 

方法二: hook_node_validate  https://api.drupal.org/api/drupal/modules!node!node.api.php/function/hoo...