Что я пытаюсь сделать, так это включить/отключить ревизию в соответствии с выбранным таксономическим термином в типе контента, который я создал, т.е. когда пользователь добавляет контент, который пользователь может выбрать поле таксономического термина (может быть поле выбора) в соответствии с выбранным параметром Я хочу включить/отключить ревизию. Как я могу это сделать?Как включить/отключить ревизию в drupal 7
ответ
Отключите создание новой настройки ревизии для типа содержимого.
Затем в hook_form_alter добавить новый обработчик представления перед основным одного:
function YOUR_MODULE_form_alter(&$form, &$form_state, $form_id) {
//drupal_set_message("Form ID is : " . $form_id);
switch($form_id) {
case 'CONTENT_TYPE_node_form':
//dpm($form);
$form['actions']['submit']['#submit'][] = 'revision_control_node_form_submit';
$form['actions']['submit']['#submit'] = array_reverse($form['actions']['submit']['#submit']); // reverse array to put our submit handler first
break;
}
}
Затем в новый обработчик представить проверку, если термин таксономии имеет правильное значение для сохранения новой редакции. Я не пробовал этот следующий бит, но в соответствии с this page положить
$node->revision = 1;
перед тем узлом сохранения создаст новую версию.
node_save вызывается в node_form_submit, а объект узла построен в node_form_submit_build_node.
Посмотрите на другие атрибуты, такие как vid, которые принадлежат к $ form_state. Я бы сказал, что хорошее образованное предположение заключалось бы в том, чтобы положить $ form_state-> revision = 1; и посмотреть, будет ли это проявляться как свойство узла после node_form_submit_build_node.
Таким образом, вы окончательный новый представить обработчик будет выглядеть примерно так:
function revision_control_node_form_submit($form, &$form_state) {
if($form_state['values']['your_taxonomy_field'] == 'your_value') {
$form_state->revision = 1;
}
}
Теперь я на самом деле не пытался ничего из этого, но даже если она не работает, я уверен, что вы будете на праве трек ... Удачи!
- 1. Баннер в drupal 7
- 2. Drupal 7: вставить фотографию в форму drupal
- 3. drupal 7: как настроить многоязычность?
- 4. Drupal: Как экспортировать сообщение из drupal 7 в Excel
- 5. Как экспортировать Drupal 6 данных в Drupal 7
- 6. базы данных в Drupal 7
- 7. Чистые URL Drupal 7
- 8. Drupal 7 change URL
- 9. Drupal 7 hook_form_FORM_ID_alter() Отправить
- 10. Drupal 7 theme config
- 11. Drupal 7 gallery teaser
- 12. Drupal 7 - показать категории
- 13. Drupal 7 - Redirect 301
- 14. Структура контента Drupal 7
- 15. Загрузка файла в drupal 7
- 16. Drupal 7 - отладочные крючки
- 17. Drupal 7 overriding node.tpl.php
- 18. Проблемы безопасности в Drupal 7
- 19. Интеграция Datatables в Drupal 7
- 20. Вложение swf в drupal 7?
- 21. Отключить тизер в Drupal 7
- 22. Преобразование шаблонов в drupal 7
- 23. Drupal 7 - Поиск от
- 24. Drupal 7 Dynamic Theming
- 25. PHPunit на Drupal 7
- 26. Drupal 7 Просмотров hover
- 27. Drupal 7 - Окно поиска
- 28. SOAP API в Drupal 7
- 29. Предупреждение JS в Drupal 7
- 30. Шаблон проектирования в Drupal 7