Флажок узла 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;
}
}
При нажатии на кнопку редактирования флажок будет снят, и вы уже позаботились о базе данных.