Я хотел бы добавить опцию на вкладку «Параметры публикации» в форме узла. Я знаю о модуле custom_pub, но хотел бы интегрировать его в свой собственный пользовательский модуль для отображения кнопок социальных сетей на узле … (не хочу, чтобы для этого понадобилось 2 модуля).
Это должно работать для drupal6: https://www.drupal.org/node/538224#comment-2372926 но hook_nodeapi не работает в d7 …
Я начал с:
function hook_social_form_alter(&$form, $form_state, $form_id) {
$node = node_load(arg(1));
$social_buttons = (isset($node->social_buttons[0]['value'])) ? $node->social_buttons[0]['value'] : 0;
$form['options']['social_buttons'] = array(
'#type' => 'checkbox',
'#title' => t('Show social buttons'),
'#default_value' => 0,
);
}
Но значение моего варианта не сохраняется и не обновляется …
Как продолжить? -Могу ли я создать для него запись в базе данных?
Вы также должны добавить свою собственную функцию отправки. Используйте эту страницу как ссылку для добавления собственного обработчика отправки:
http://zgadzaj.com/how-to-add-your-own-extra-validate-or-submit-function-using-drupals-hookformalter
Затем вы сохраните значение в этом обработчике отправки в вашу собственную таблицу. Возможно, вы захотите загрузить значение и установить #default_value для элемента формы, используя также значение из базы данных
Других решений пока нет …