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

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

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

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

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

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

Ответов: 4
Просмотров: 1493
Последний ответ 01 Март 2016, 22:15:10
от aghigay
форма создания новой темы для модуля форум

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

Ответов: 4
Просмотров: 1890
Последний ответ 13 Февраль 2013, 22:49:13
от Rodogor
Вывод рекомендованных товаров, в версии интернет магазина

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

Ответов: 5
Просмотров: 2562
Последний ответ 18 Июнь 2012, 23:50:45
от admin

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.
Просто я когда тоже писал кастом для отправки почты для стартовой версии сталкивался с такой же ошибкой, вроде как сообщение об отправки проходит, а письма по факту нет.