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

bantell

  • Захожу иногда
  • 91
  • 2 / 0
Всем привет!
Подскажите, пжлст, как в 3й Joomla проще всего сделать автозаполнение формы контактов для зарегистрированных пользователей? Не совсем понимаю специфику формирования полей, без хака ядра не получается сделать, но это не вариант - т.к. хочется обновляться. Функционала штатной формы хватает, просто хотелось сделать для удобства зарегистрированных, чтобы они не вводили лишнюю информацию.
Только модулем?
*

ProtectYourSite

  • Завсегдатай
  • 1812
  • 101 / 4
  • Безопасность вебсайтов
Re: Автозаполнение формы контактов
« Ответ #1 : 09.06.2018, 05:57:42 »
Смотря чем выводится контактная форма. По идее там и стоит добавлять логику логику. Если стандартная форма Joomla,  то хватит переопределения шаблона.
*

bantell

  • Захожу иногда
  • 91
  • 2 / 0
Re: Автозаполнение формы контактов
« Ответ #2 : 09.06.2018, 06:05:50 »
Смотря чем выводится контактная форма. По идее там и стоит добавлять логику логику. Если стандартная форма Joomla,  то хватит переопределения шаблона.
стандартной. форма формируется автоматом:
Код
<?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
<?php if ($fieldset->name === 'captcha' && !$this->captchaEnabled) : ?>
<?php continue; ?>
<?php endif; ?>
<?php $fields = $this->form->getFieldset($fieldset->name); ?>
<?php if (count($fields)) : ?>
<fieldset>
<?php if (isset($fieldset->label) && ($legend = trim(JText::_($fieldset->label)))!== '') : ?>

<?php endif; ?>
<?php foreach ($fields as $field) : ?>
<?php echo $field->renderField(); ?>
<?php endforeach; ?>
</fieldset>
<?php endif; ?>
<?php endforeach; ?>
Переопределить XML не получится. Выход который нашел - разделить
Код
<?php if ($user->guest) : ?>
Для гостя прежняя форма
<?php else: ?> для негостя = переписать вывод.
Но, сталкнулся с бедой - тк стоит капча форму не отправляет без нее. Поставил плагин капчи только для гостей - выдает 500 ошибку >:(
« Последнее редактирование: 09.06.2018, 06:15:55 от bantell »
*

ProtectYourSite

  • Завсегдатай
  • 1812
  • 101 / 4
  • Безопасность вебсайтов
Re: Автозаполнение формы контактов
« Ответ #3 : 09.06.2018, 06:36:02 »
Тогда лучше плагином на событие
*

fsv

  • Живу я здесь
  • 2637
  • 382 / 2
Re: Автозаполнение формы контактов
« Ответ #4 : 10.06.2018, 13:34:23 »
Если дешево и сердито проще и быстрее, можно в переопределенном шаблоне получать юзера. Если есть $user->id, то добавить чуть джаваскрипта: после загрузки страницы в нужные поля подставлять значения юзера, получаемые в php.
Веб-разработка: заказ. Только сложная и объемная разработка. Дорого.
*

bantell

  • Захожу иногда
  • 91
  • 2 / 0
Re: Автозаполнение формы контактов
« Ответ #5 : 13.06.2018, 19:48:00 »
Если дешево и сердито проще и быстрее, можно в переопределенном шаблоне получать юзера. Если есть $user->id, то добавить чуть джаваскрипта: после загрузки страницы в нужные поля подставлять значения юзера, получаемые в php.
Ну вообще да! Спасибо! почему-то даже не вспомнил о таком.
если кому-то понадобится, выкладываю код (вставить в самый низ переопределенного шаблона формы):
Код
<?php if ($user->id != 0) :?>
<script type="text/javascript">
(function($){
$(document).ready(function(){
  $("#jform_contact_name").val("<?php print $user->name ;?>");
  $("#jform_contact_email").val("<?php print $user->email ;?>");
  $("#jform_contact_emailmsg").val("Site question").attr('type','hidden');
  $("#jform_contact_emailmsg-lbl").remove();
});
})(jQuery);
</script>
<?php endif; ?> 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Внешний вид формы входа

Автор Veliax

Ответов: 5
Просмотров: 99
Последний ответ 28.03.2019, 15:02:06
от effrit
Предупреждение PHP после отправки формы

Автор fireman

Ответов: 7
Просмотров: 210
Последний ответ 16.03.2019, 15:13:54
от fireman
Perfect ajax Popup Contact Form закрытие всплывающей формы

Автор Yailyaya

Ответов: 5
Просмотров: 138
Последний ответ 16.02.2019, 13:34:49
от Yailyaya
Как получить адекватные URL для контактов?

Автор lilsaint5800

Ответов: 6
Просмотров: 150
Последний ответ 15.02.2019, 23:04:54
от lilsaint5800
Пропадает поле для ReCaptcha, после попытки отправить данные формы

Автор Igoritaly

Ответов: 0
Просмотров: 76
Последний ответ 07.02.2019, 09:26:15
от Igoritaly