0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 6377 Просмотров

Вопрос профессионалам колупавшим АртФорм вдоль и поперёк :) Стоит задача следующего характера: что бы при отправке письма админу, в письме отображались дополнительные поля из массива params таблицы jos_users после:
ARTF_JUSER: ...
ARTF_JUSERNAME: ...
ARTF_JUSERIP: 178.95....

Решал таким образом:
1. Идём в плагин plugins\content\artformsplugin.php и добавляем в переменную $html функции afReplacer дополнительные поля, например:
Код
 <input type="hidden" name="joomlauser" value="'.$my->name.'" />
 <input type="hidden" name="joomlausername" value="'.$my->username.'" />
...
 <input type="hidden" name="joomlasurname" value="'.$my->params[surname].'" />


2. Потом идём в components\com_artforms\artforms.html.php и после строки 477 дописываем этот параметр на отправку:
Код
$body .= JText::_( 'ARTF_JUSER' ).': '.$joomlauser.$crlf;
$body .= JText::_( 'ARTF_JUSERNAME' ).': '.$joomlausername.$crlf;
...
$body .= JText::_( 'ARTF_JSURNAME' ).': '.$joomlasurname.$crlf;

Вроде всё? Но поля пустые приходят. Никак не разберусь, что я упустил, 2 день колупаю скрипт и он мне не даётся. Подскажите пожалуйста.

Ход мыслей в принципе верный. Да только не полный. Дополнительно в файле artforms.html.php
Необходимо добавить например:
$joomlauser = JArrayHelper::getValue( $_POST, 'joomlauser', '' );
      $joomlausername = JArrayHelper::getValue( $_POST, 'joomlausername', '' );
      $joomlauserip = JArrayHelper::getValue( $_POST, 'joomlauserip', '' );
      $joomlausermail = JArrayHelper::getValue( $_POST, 'joomlausermail', '' );
      if ( $joomlauser == '' ) $joomlauser = JText::_( 'ARTF_ANONYMOUS' );
      if ( $joomlausername == '' ) $joomlausername = JText::_( 'ARTF_ANONYMOUS' );
      if ( $joomlauserip == '' ) $joomlauserip = JText::_( 'ARTF_NOIP' );
      if ( $joomlausermail == '' ) $joomlausermail = JText::_( 'ARTF_NOMAIL' );
и вот сюда:
 // Mailbody
...
$body .= JText::_( 'ARTF_JUSERMAIL' ).': '.$joomlausermail.$crlf;
               $body .= JText::_( 'ARTF_JUSER' ).': '.$joomlauser.$crlf;
               $body .= JText::_( 'ARTF_JUSERNAME' ).': '.$joomlausername.$crlf;
               $body .= JText::_( 'ARTF_JUSERIP' ).': '.$joomlauserip.$crlf;
и сюда тоже:
$html .= '<input type="hidden" name="afversion" value="ArtForms '.afVersion().'" />
                      <input type="hidden" name="formid" value="'.$row->id.'" />
                      <input type="hidden" name="do" value="send" />
                      <input type="hidden" name="formtitle" value="'.$row->titel.'" />
                      <input type="hidden" name="joomlauser" value="'.$user->name.'" />
                      <input type="hidden" name="joomlausername" value="'.$user->username.'" />
                     <input type="hidden" name="joomlausermail" value="'.$user->email.'" />
                      <input type="hidden" name="joomlauserip" value="'.$_SERVER['REMOTE_ADDR'].'" />';
*

oc01

  • Захожу иногда
  • 315
  • 29 / 1
Как добавить в форму поле с постоянной? Например, баланс юзера с компонента AlphaUserPoints. Чтобы значение с этого компонента вставлялось в новое поле формы? Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать строчки - "ArtForms v. 2.1b7.2 [For Joomla 1.5] - Build 107 Локализация Джумла! - русская

Автор tasha_did

Ответов: 10
Просмотров: 11897
Последний ответ 02.03.2012, 12:43:01
от Ershik
Как вставить форму ArtForms в любое место на странице сайта?

Автор vikvol

Ответов: 66
Просмотров: 43720
Последний ответ 19.01.2012, 23:09:28
от pikachu
Отредактировать форму ввода текста ArtForms.

Автор wmag

Ответов: 1
Просмотров: 6150
Последний ответ 18.08.2011, 14:15:52
от Quadro
Руссифицированная форма обратной связи ArtForms v2.1

Автор lexich

Ответов: 20
Просмотров: 21962
Последний ответ 06.05.2011, 12:57:46
от wmag
Как расширить поле в ArtForms?

Автор art-m1987

Ответов: 2
Просмотров: 6030
Последний ответ 28.01.2011, 07:28:06
от tirexkz