Личная персональная форма

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

Аватар пользователя leha373 leha373 3 февраля 2020 в 23:33

Привет Всем
У меня тут возник вопрос.
В друпал 8 есть персональная контактная форма.Я так понимаю,она нужна чтобы отправлять сообщение тому кому она принадлежит. Если не прав , то поправьте меня!Вопрос.Как ее можно открыть, через ссылку.
А если по сути,регистрируются пользователи с определенной ролью,я их вывожу через views, и хочу добавить ссылку, вызвать персональную форму и чтобы можно было написать сообщение лично!
Спасибо!

Лучший ответ

Аватар пользователя ivnish ivnish 3 февраля 2020 в 23:46

Ссылка на контактную форму имеет вид http://САЙТ/user/UID/contact

Где UID это идентификатор пользователя

Комментарии

Аватар пользователя leha373 leha373 5 февраля 2020 в 20:10

У меня еще один вопрос.Как добраться до персональной контактной формы через файл .theme
пишу

function sales_zymphonies_theme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
if ($form_id == 'contact_message_personal_form') {
          kint($form);
}

выскакивает белый экран The website encountered an unexpected error. Please try again later.

Аватар пользователя ivnish ivnish 5 февраля 2020 в 20:53

Я рекомендую делать hook_form_alter в кастомном модуле, а не в теме. Не уверен, что в Д8 он вообще в теме будет работать

Аватар пользователя leha373 leha373 5 февраля 2020 в 20:56
function sales_zymphonies_theme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
               
     
      if ($form_id == 'user_register_form') {
                  //kint($form);
                 
                   $form['tos'] = [
      '#type'          => 'checkbox',
      '#title'         =>  new TranslatableMarkup('Я согласен с условиями пользовательского соглашения'),
      '#description' => new TranslatableMarkup('Установив этот флажок, вы соглашаетесь с <a href=":conditions" onclick="return !window.open(this.href)">условиями пользовательского соглашения</a>', [':conditions' => Url::fromUri('entity:node/10', ['attributes' => ['target' => '_blank']])->toString()]),
          '#required'      => TRUE,
      '#default_value' => TRUE,
    ];
                  $form['psikholog']['#description'] = t('профессиональный психолог, тренер, представитель психологического или тренингового центра');
                  $form['psikholog']['#default_value'] = TRUE;
                  $form['polzovatel_portala']['#description'] = t('общение с психологами, ответы на "Вопросы психологу", психологические консультации');
                   
        $form['actions']['submit']['#submit'][] = 'sales_zymphonies_theme_contact_submit';
      }

   
       
   if ($form_id == 'contact_message_personal_form') {
         kint($form);
           echo 'sdhf';
           
           
            }
        }

Вот у меня весь hook
Для формы регистрации все работает, а для персональной формы нет!
Вообще не пойму в чем проблема?!

Аватар пользователя ivnish ivnish 5 февраля 2020 в 20:58

Нужно убрать глючный участок кода, а потом зайти в журнал друпала. Там будет написано что ему не нравилось

Аватар пользователя leha373 leha373 5 февраля 2020 в 21:24

Тогда может кто подскажет,как в личной персональной форме переопределить поля?

я хочу чтобы в поле ВАШЕ ИМЯ admin, было ВАШЕ ИМЯ значения из поля ИМЯ, материала психологи
и по аналогии с полем КОМУ