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

bantell

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

ProtectYourSite

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

bantell

  • Захожу иногда
  • 88
  • 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

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

fsv

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

bantell

  • Захожу иногда
  • 88
  • 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; ?> 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отображение формы регистрации

Автор lector999

Ответов: 1
Просмотров: 320
Последний ответ 08.07.2018, 12:25:59
от kern.USR
Белый экран Контактов

Автор symbians

Ответов: 5
Просмотров: 226
Последний ответ 12.06.2018, 15:09:09
от NewUsers
Подмена email в форме контактов (Shortcode также)

Автор aleks

Ответов: 0
Просмотров: 116
Последний ответ 07.06.2018, 11:52:23
от aleks
Вывод формы html

Автор EDIK

Ответов: 0
Просмотров: 178
Последний ответ 31.05.2018, 22:49:51
от EDIK
Реализация формы авторизации по логике Apache Basic authorization

Автор ap11

Ответов: 0
Просмотров: 90
Последний ответ 22.05.2018, 13:05:47
от ap11