добавить кнопку в профиль пользователя

Главные вкладки

Аватар пользователя _user001_ _user001_ 23 ноября 2013 в 14:57

здравствуйте!

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

function my_module_user($op, &$edit, &$account, $category = NULL) {
  global $user;
 
  switch ($op) {
    case 'view':
      $account->content['my_button'] = array(
        '#type' => 'submit',
        '#value' => t(' текст кнопки '),
        '#submit' => array('my_func'),
      );
}

function my_func() {
// обработка по нажатию на кнопку
}

кнопка в Профиле отображается, НО при нажатии на нее НИЧЕГО не происходит Sad

помогите разобраться, плз!

Комментарии

Аватар пользователя serega111 serega111 23 ноября 2013 в 22:27

А где написано, что она что-то должны делать?

P.S. Почитайте, что такое html форма, как она работает и как они создаются в друпале.

Аватар пользователя _user001_ _user001_ 24 ноября 2013 в 13:11

а как же
'#submit' => array('my_func')
???
тип элемента submit и

#submit
Используется в: form, button, submit, image_button

Описание: Задает массив названий функций, которые выполняются
при отправке всей формы или отправке формы определенной кнопкой.

кнопку в Профиль нельзя, только ссылку?

Аватар пользователя penexe penexe 24 ноября 2013 в 13:59
<?php
function my_module_user($op, &$edit, &$account$category NULL) {
  global 
$user;
 
  switch (
$op) {
    case 
'view':
      
$account->content['my_form'] = drupal_get_form('my_module_my_form');
  }
}

function 

my_module_my_form($form, &$form_state) {
  
$form['my_button'] = array(
    
'#type' => 'submit',
    
'#value' => t('Save'),
  );
  
  return 
$form;
}

function 

my_module_my_form_submit(&$form, &$form_state) {

}

?>
Аватар пользователя drupby drupby 24 ноября 2013 в 15:40

"_user001_" wrote:
теперь вот думаю как передать значение $account->uid из my_module_user() в my_module_my_form_submit() ...

function my_module_user($op, &$edit, &$account, $category = NULL) {
  global $user;
 
  switch ($op) {
    case 'view':
      $account->content['my_form'] = drupal_get_form('my_module_my_form', $account);
  }
}

function my_module_my_form($form, &$form_state, $account) {
  $form['my_button'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
 
  return $form;
}

function my_module_my_form_submit(&$form, &$form_state) {

}

"...: Any additional arguments are passed on to the functions called by drupal_get_form(), including the unique form constructor function."