Флажок узла Drupal отмечен даже после удаления из таблицы базы данных

Я написал код в Drupal, что после нажатия на узел изменить запрос будет запущен и снимите флажок, чтобы каждый раз отображать предупреждение. Запрос работает нормально, но после второй перезагрузки переключатель отключился. Я хочу снять галочку, сразу после того, как пользователь нажал "Редактировать"

function debtcc_manage_node_prepare($node)
{
  $nid = $node->nid;
  if ($nid != null) {
    //field_cache_clear();
    $query = db_delete('field_data_field_change_updation_date')
      ->condition('entity_id',$nid)->execute();
    field_cache_clear();

  }
}

Как я могу этого достичь? Есть ли в drupal какая-либо функция для автоматического обновления страницы или иным способом?

1 ответ

Решение

Измените форму и установите состояние по умолчанию для вашего поля как не отмеченное:

function YOUR_MODULE_form_alter(&$form, &$form_state, $form_id) {

if ($form_id == 'YOUR_FORM_ID' && $form['nid']['#value'] != NULL) {

$form['YOURFIELD'][LANGUAGE_NONE]['#default_value'] = 0;
}
}

При нажатии на кнопку редактирования флажок будет снят, и вы уже позаботились о базе данных.

Другие вопросы по тегам