26

Re: Контакт

в моей есть поддержка хтмл в письмах и обход неприятного бага с заголовками в outlook.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

27

Re: Контакт

поправил

class Contact {
    public static function _shorcode($attributes) {
        return self::form($attributes['recipient']);
    }
    public static function form($recipient) {
        $name  = Request::post('contact_name'); 
        $email = Request::post('contact_email');                    
        $body  = Request::post('contact_body'); 
        $errors = array();
        if (Request::post('contact_submit')) {
            if (Request::post('contact_name') == '' || Request::post('contact_email') == '' || Request::post('contact_body') == '') {
                    $errors['contact_empty_fields'] = __('Empty required fields!');
            }
            if ( ! Valid::email(Request::post('contact_email'))) {
                $errors['contact_email_not_valid'] = __('Email address is not valid!');
            }
            if (count($errors) == 0) {
                    $header ="Content-type: text/plain; charset=utf-8\r\n";
                    $header.= "From: <" . $email . ">\r\n";
                    if (mail($recipient, $name, $body, $header)) {
                        Notification::setNow('success', __('A letter has been sent!'));
                    } else {
                        Notification::setNow('error', __('A Letter was not sent!'));
                    }
            }
        }
        return View::factory('contact/views/frontend/form')
                ->assign('name', $name)
                ->assign('email', $email)
                ->assign('body', $body)
                ->assign('errors', $errors)
                ->render();            
    }
    public static function display($recipient) {
            echo self::form($recipient);          
    }
}

Поделиться

28

Re: Контакт

Подскажите, почему в письме, отправленном через форму контактов, приходит только сообщение, а имени и адреса нет?

Поделиться

29

Re: Контакт

Здравствуйте.
Подскажите, пожалуйста, как сделать так что бы в плагине forum.monstra.org/ru/topic/10/kontakt, в нужных мне полях прописывался логин пользователя, который отправляет сообщения

Поделиться

30

Re: Контакт

Contact 1.1.0
+ Устранена csrf уязвимость
+ Используется плагин Captcha вместо хелпера капчи.
+ Исправлены транслейты.

Сайт Awilum

Поделиться

31

Re: Контакт

Спасибо.
И все таки, а где меняется мыло куда отправляется сообщение?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

32

Re: Контакт

Использование:

Шорткод для контента

{contact recipient="admin@site.org"}

Код для шаблонов

<?php Contact::display('admin@site.org'); ?>

Сайт Awilum

Поделиться

33

Re: Контакт

Супер, спасибо, особенно за шорт код, это то, чего я хотел бы для всех плагинов.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

34

Re: Контакт

Спасибо - работает отлично.

Рекомендация:
Было бы неплохо - если бы сообщения дублиривались и в Админке. (Можно сделать чекбокс - отображать сообщения в Админке ДА/НЕТ)

Поделиться

35

Re: Контакт

Нужно иметь две формы обратной связи (contacts) одна просто форма связи, вторая, отдельная с бронированием. Это просто почтовая форма со своими полями. Как можно реализовать это на Монстре? Спасибо.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

36

Re: Контакт

Ау - это еще актуально.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

37

Re: Контакт

что за бронирование ?!

Сайт Awilum

Поделиться

38

Re: Контакт

Просто нужна еще одна форма со своим набором полей(функционал - бронирование информации или мест в гостинице или билетов в кинотеатре не имеет значения) просто почтовая форма в которой посетитель заполняет чего и сколько ему нужно и отправляет на мой адрес. Соответственно я должен иметь возможность создать дополнительную форму, задать адрес куда отправлять и задать поля для заполнения текстовые, выпадающие или чекбоксы. Можно ли такое реализовать и как?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

39 (2012-10-27 21:16:45 отредактировано Hmelex)

Re: Контакт

Предложение и не только для Контактов и для ГОСТЕВОЙ:
Если пользователь Авторизирован - не выводить поля
ИМЯ и ПОЧТА.

Поделиться

40

Re: Контакт

sergeyterr если еще актуально по поводу 2-х форм - то реальный выход, сделать копию плагина contact ну и внутри все переименовать smile + форму свою и обработчик по образцу contact

Поделиться

41

Re: Контакт

Да актуально, а где обработчик находится?

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

42

Re: Контакт

файл /plugins/contact/contact.plugin.php если смотреть оригинальный плагин.
метод:
public static function form($recipient) {
...
в блоке if (Request::post('contact_submit')) {
тут
1) проверяются поля на не пустые значения
2) проверяется поле contact_email на правильное заполнение почтового адреса
3) ... дальше каптча...
если валидация не прошла (1,2,3) в массив $errors  заносятся сообщения об ошибках.
если ошибок не было:
if (count($errors) == 0) // массив пустой
подготавливается адрес куда отправлять, тема, сообщение, заголовки и отправляется собственно
...
}
собственно по моему на сайте у jinn есть видеоурок как быстро подготовить копию плагина.

Поделиться

43

Re: Контакт

sergeyterr выложи html файл своей формы будем от него плясать, может еще кто-то присоединится

Поделиться

44

Re: Контакт

ок завтра выложу

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

45 (2012-11-23 23:25:36 отредактировано AlxBuk)

Re: Контакт

Awilum скажи плиз куда вставить строку
"Отправлено с сайта Омномно.рф"
чтобы было понятно что письмо пришло с сайта.

Пока написал так, в файле contact.plugin.php

$header = "From: propiskaomsk.ru ". $name . " <" . $email . ">\r\n";

Сайт AlxBuk

Поделиться

46

Re: Контакт

добавьте в тему сообщения например:

$subject = "Отправлено с сайта ... от ".$name;

Поделиться

47

Re: Контакт

Как изменить label на форме
http://i.imgur.com/c7jIf.png

Сайт AlxBuk

Поделиться

48

Re: Контакт

в файле

plugins/contact/views/frontend/form.view.php

измените например имя на что-то свое
было:

<label><?php echo __('Name', 'contact'); ?></label>

будет:

<label>Вася</label>

и т.д.
если сайт не на нескольких языках.

Поделиться

49

Re: Контакт

что изменить то?! еСЛИ ПРИВЕСТИ форму что есть так как на картинке то  <label><?php echo __('Name', 'contact'); ?></label>
сделай так: <div><label><?php echo __('Name', 'contact'); ?></label></div>

Лучше сгореть, чем истлеть...

Сайт kromverk

Поделиться

50

Re: Контакт

kromverk пишет:

что изменить то?!

Я же написал label а это значит метка к текущему input, в данном случае изменить "Имя" на "Ваше Имя" и т.д.

Сайт AlxBuk

Поделиться