Форум русской поддержки Joomla!® CMS
28.07.2017, 19:01:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Обратная связь не присылает имя отправителя

 (Прочитано 261 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bonny
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« : 23.06.2017, 13:03:51 »

Код:
<?php

 /**
 * @package Joomla.Site
 * @subpackage com_contact
 * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidation');
JHtml::_('behavior.tooltip');
 if (isset($this->error)) : ?>
<div class="contact-error">
<?php echo $this->error; ?>
</div>
<?php endif; ?>

<div class="contact-form">
<form id="contact-form" action="<?php echo JRoute::_('index.php'); ?>" method="post" class="form-validate" style="overflow-x: hidden !important">

<input type="hidden" name="nospam:blank" value="" style="overflow-x: hidden !important"/>

<div class="input-field col s6">
<input id="last_name" type="text" class="validate required" name="jform[contact_name]">
<label for="last_name">Ваше имя <span class="required">*</span></label>
</div>

<div class="input-field col s12">
<input id="email" type="email" name="jform[contact_email]" class="validate required">
<label for="email" data-error="неверно" data-success="правильно">Email <span class="required">*</span></label>
</div>

<div class="input-field col s12">
<textarea id="textarea1" class="materialize-textarea required" name="jform[contact_message]" value=""></textarea>
<label for="textarea1 text">Сообщение <span class="required">*</span></label>
</div>

<div class="control-group">
<div class="controls">
<div align="center"><input class="btn submit_button" type="submit" id="sendButton" disabled="disabled" value="Отправить" onclick="eventAfterSend()" /></div>
<input type="hidden" name="option" value="com_contact" />
<input id="topic" type="hidden" class="validate required" name="jform[contact_subject]" value="Обратная связь">
<input type="hidden" name="task" value="contact.submit" />
<input type="hidden" name="return" value="<?php echo $this->return_page;?>" />
<input type="hidden" name="id" value="<?php echo $this->contact->slug; ?>" />
<?php echo JHtml::_( 'form.token' ); ?>
</div>
</div>
</form>

<script>
window.eventAfterSend = function ()
{
window.parent.Materialize.toast('Сообщение отправлено!', 4000);
window.parent.$("#modalMail").modal('close'); /* Закрываем модальное окно*/
window.parent.location.reload(); /* Перезагрузка фрейма */
}
</script>

<!-- Скрипт проверки полей в форме обр связи -->
<script>
var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/;
$('#email, #last_name, #textarea1').keyup(function(){
$('#sendButton').prop('disabled', !pattern.test($('#email').val()) || $('#last_name').val().length <= 5 || $('#textarea1').val().length <= 5 );
});
</script>
<!-- /Скрипт проверки полей в форме обр связи -->
</div>
Ребята, обратная связь не присылает имя отправителя. В форме она у меня есть.
Присылает такой тест.

Это письмо отправлено с сайта САЙТ от:
Письмо <МЫЛО>

текст письма

Что надо сделать?
Записан
bonny
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #1 : 26.06.2017, 00:10:23 »

Так кто может ответить?
Записан
robert
Профи
********

Репутация: +380/-14
Offline Offline

Пол: Мужской
Сообщений: 4166


« Ответ #2 : 26.06.2017, 00:39:46 »

Что надо сделать?
Надо добавить поле "имя отправителя" и/или "тему письма".
Так кто может ответить?
Тот, кто изменил стандартную форму (а может быть, и не только ее).
Записан
darkghost
Практически профи
*******

Репутация: +94/-0
Online Online

Сообщений: 2127



« Ответ #3 : 26.06.2017, 11:02:32 »

Поля для ввода Имени есть, вот они
Код:
...
<div class="input-field col s6">
  <input id="last_name" type="text" class="validate required" name="jform[contact_name]">
  <label for="last_name">Ваше имя <span class="required">*</span></label>
</div>
...
Теперь необходимо посмотреть есть ли эти поля в обработчике этой формы (файл который формирует собственно письмо для отправки)
Записан
bonny
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #4 : 26.06.2017, 11:14:39 »

Где оно находится?
Записан
darkghost
Практически профи
*******

Репутация: +94/-0
Online Online

Сообщений: 2127



« Ответ #5 : 26.06.2017, 11:27:23 »

смотрите в самом компоненте --- в папке com_contact. По идеи, файл должен находится "близко" возле самой формы
В форме, расположение файла задается здесь action
Код:
.... action="<?php echo JRoute::_('index.php'); ?>
Записан
robert
Профи
********

Репутация: +380/-14
Offline Offline

Пол: Мужской
Сообщений: 4166


« Ответ #6 : 26.06.2017, 11:55:36 »

Поля для ввода Имени есть, вот они
Да, не увидел.
Форму обрабатывается контроллером ContactControllerContact, функцией submit():
Код:
<input type="hidden" name="task" value="contact.submit" />
Что вы вводили в поле "Ваше имя"? Возможно, значение поля очищается при фильтровании.
Записан
bonny
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #7 : 26.06.2017, 22:51:39 »

Русское имя ввожу всегда.
Записан
darkghost
Практически профи
*******

Репутация: +94/-0
Online Online

Сообщений: 2127



« Ответ #8 : 27.06.2017, 11:15:38 »

кирилица или латиница - значения не имеет. Дело в том, что возможно идет обнуление поля или же обработчик формы не включает его в тело письма для отсылки. Тут надо смотреть сам файл обработчика.
Если же это стандарт - можно попробовать поступить следующим образом
а) сделать копию системных файлов сайта (бЭкап)
б) такой же версии Жуумлы (установочной) - заменить файлы com_contact
Не могу предположить результат подмены - но может сработать. Если же нет --- смотреть обработчик формы и искать причину
Записан
bonny
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #9 : 30.06.2017, 20:15:09 »

Да это стандартный файл.
Я взял код из https://github.com/openshift-quickstart/joomla-example/blob/master/php/components/com_contact/controllers/contact.php и отобразилось имя.
У кого-то есть новый? Тот просто старый 2012 года...
Записан
bonny
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 9


« Ответ #10 : 30.06.2017, 20:18:53 »

Странно короче. Я это щас проделал на бекапе сайта на опенсервера.
С сайта самого отправил письмо и запахало и без изменений. Кто-то шалит. Хммм...
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet