Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
У версии "Старт" закончился trial-ключ

Автор mrvorazanРаздел Установка UMI.CMS

Ответов: 8
Просмотров: 6198
Последний ответ 23 Января 2013, 20:20:14
от admin
Продление демо версии или перенос на новый демо хостинг

Автор rob1nРаздел Установка UMI.CMS

Ответов: 7
Просмотров: 4358
Последний ответ 01 Марта 2016, 11:00:30
от Rodogor
Изменение вывода каталога в мобильной версии отличной от основной

Автор fantom103Раздел Шаблоны TPL

Ответов: 4
Просмотров: 4363
Последний ответ 01 Марта 2016, 22:15:10
от aghigay
Вывод рекомендованных товаров, в версии интернет магазина

Автор max_ripРаздел Шаблоны XSLT

Ответов: 5
Просмотров: 4594
Последний ответ 18 Июня 2012, 23:50:45
от admin
robots.txt свой для каждого сайта в старой версии Umi

Автор shotoРаздел Настройка системы и модулей

Ответов: 12
Просмотров: 8020
Последний ответ 02 Октября 2014, 11:05:49
от shoto

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

*

Babajka

  • *
  • 42
  • +0/-0
    • Просмотр профиля
Форма обратной связи в версии Start
« : 12 Декабря 2012, 12:49:47 »
Сделал форму обратной связи, как в данной статье, предложенный Надеждой.
http://umi-cms.spb.su/forum/index.php?what=showtopic&theme=8
Но ничего не выходит, не отправляется. Это ясно что из-за того что она в tpl делает, а я пытаюсь в xslt.
Но как именно можно реализовать это в xslt?

*

Babajka

  • *
  • 42
  • +0/-0
    • Просмотр профиля
Re:Форма обратной связи в версии Start
« Ответ #1 : 14 Декабря 2012, 11:47:02 »
Нашел более, как мне кажется, легкий способ. http://prostoufa.ru/forma-obratnoj-svyazi-na-umi-start/#comment-322
Содержание темы:
Так как в редакции start системы управления umicms нет модуля обратная связь, то пришлось написать свой обработчик форм. Правда он без конструктора форм, но для простой обратной связи на сайте вполне сгодиться.

Вот код обработчика формы, который я по привычке помещаю в кастомный файл модуля users: /classes/modules/users/__custom.php. Так же не забываем добавить функцию в файл permissions.php, лежащий поблизости в той же папке. Я добавил функцию в ветку «login».

public function send_form()
{
//список полей формы
$item1 = (string) getRequest('item1');
$item2 = (string) getRequest('item2');
$item3 = (string) getRequest('item3');
$item4 = (string) getRequest('item4');
$item5 = (string) getRequest('item5');
$item6 = (string) getRequest('item6');
$item7 = (string) getRequest('item7');
$item8 = (string) getRequest('item8');
 
//массив обязательный полей и сообщений о пустом значении соответствующих полей
$test = array(
'Заполните поле 2' => $item2,
'Заполните поле 2' => $item3
);
$error = false;
foreach ($test as $name_field => $value) {
if (empty($value)) {
$this->errorNewMessage('Необходимо заполнить все поля',false);
 
$error = true;
}
} //проверка заполненности обязательных полей
if ($error) {
$this->errorPanic(); //вывод ошибки
}
 
//формирование тела письма
$mailContent = 'Поле 1: '.$item1.'<br>';
$mailContent .= 'Поле 2: '.$item2.'<br>';
$mailContent .= 'Поле 3: '.$item3.'<br>';
$mailContent .= 'Поле 4: '.$item4.'<br>';
$mailContent .= 'Поле 5: '.$item5.'<br>';
$mailContent .= 'Поле 6: '.$item6.'<br>';
$mailContent .= 'Поле 7: '.$item7.'<br>';
$mailContent .= 'Поле 8: '.$item8.'<br>';
 
$mail = new umiMail;
$email_from = regedit::getInstance()->getVal("//settings/email_from"); //берём адрес электронной почты и имя адресата из вкладки «почта» модуля «конфигурация».
$mail->addRecipient($email_from);
$mail->setFrom($item2, $item1); //$item2 - email отправителя, $item1 - имя
$mail->setSubject('Пользователь заполнил форму на сайте "garto.ru"');
$mail->setPriorityLevel('highest');
$mail->setContent($mailContent);
$mail->commit();
$mail->send();
 
$this->redirect('/order/?result=success');//редирект при удаче
 
}

Вывод формы такой:

<form action="/users/send_form/" method="post" >
<label>Фамилия, имя, отчество:</label><br/>
<input type="text" name="item1" value=""/>

<label>E-mail или телефон для связи:</label><br/>
<input type="text" name="item2" value=""/>

<label>Текст сообщения:</label><br/>
<textarea name="item3" ></textarea>
<br/>
<input type="submit" name="item4" class="buttom" value="Отправить"/>
</form>

Перезагрузка страницы происходит, но отправка сообщения не идет. В чем может быть проблема?
« Последнее редактирование: 14 Декабря 2012, 11:51:15 от Babajka »

*

PHOENIX-75

  • *
  • 22
  • +3/-0
    • Просмотр профиля
Re:Форма обратной связи в версии Start
« Ответ #2 : 15 Января 2013, 15:04:33 »
Как вариант для начала нужно проверить а заполнено ли поле "E-mail отправителя" в Модули->Конфигурация->Вкладка Почта судя по email_from.
Просто я когда тоже писал кастом для отправки почты для стартовой версии сталкивался с такой же ошибкой, вроде как сообщение об отправки проходит, а письма по факту нет.