Вход • Регистрация

Отправка личного сообщения из страницы объявления

  • 06 апреля 2016 г.
  • хочу сделать возможность написать личное сообщение не из страницы пользователя, а непосредственно из страницы объявления. Вывожу форму личного сообщения таким образом:

    if (! empty($result["form"]))
    {
    echo $this->get('form', 'messages', array("to" => $result['user_id'])); //переменной "to" присваиваем значение user_id (id автора объявления)
    }

    шаблон формы:

    echo '<form method="POST" action="" id="messages" class="ajax messages_form">
    <div class="block_header">'.$this->diafan->_('Написать автору').'</div>
    <input type="hidden" name="module" value="messages">
    <input type="hidden" name="action" value="add">
    <input type="hidden" name="to" value="'.$result["to"].'">
    <input type="hidden" name="redirect" value="'.(! empty($result["redirect"]) ? $result["redirect"] : '').'">';

    echo $this->get('get', 'bbcode', array("name" => "message", "tag" => "message", "value" => ""));

    echo '<br>
    <input type="submit" value="'.$this->diafan->_('Отправить', false).'">
    <div class="errors error"'.(!empty($result["error"]) ? '>'.$result["error"] : ' style="display:none">').'</div>
    </form>';



    при отправке формы, в таблицу "messages" в поле "to_user" записуется id текущего объявления, но не id - автора как положено и естественно модуль не корректно работает.... как это можно исправить?
  • 07 апреля 2016 г.
  • форму вывожу в ab.view.id.php

    if (! empty($result["form"]))
    {
    echo $this->get('form', 'messages', array("to" => $result['user_id'])); //переменной "to" присваиваем значение user_id из таблицы БД "ab"
    }


    Шаблон формы личного сообщения messages.view.form.php
    echo '<form method="POST" action="" id="messages" class="ajax messages_form">
    <div class="block_header">'.$this->diafan->_('Написать автору').'</div>
    <input type="hidden" name="module" value="messages">
    <input type="hidden" name="action" value="add">
    <input type="hidden" name="to" value="'.$result["to"].'">
    <input type="hidden" name="redirect" value="'.(! empty($result["redirect"]) ? $result["redirect"] : '').'">';

    echo $this->get('get', 'bbcode', array("name" => "message", "tag" => "message", "value" => ""));

    echo '<br>
    <input type="submit" value="'.$this->diafan->_('Отправить', false).'">
    <div class="errors error"'.(!empty($result["error"]) ? '>'.$result["error"] : ' style="display:none">').'</div>
    </form>';

    и еще вопрос:
    в файле messages.action.php в валидации введенных данных есть проверка:

    if (! empty($this->diafan->_route->show))
    {
    $_POST['to'] = $this->diafan->_route->show;
    }

    если ее убрать, то все работает. для чего она?

Новости

  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.
  • 25 июля 2023 г.
  • Выпустили очередную сборку DIAFAN.CMS 7.0.1. Она уже доступна к установке.

Блоги

  • 15.12.2023
  • В новой сборке DIAFAN.CMS 7.1.1 мы расширили функциональность баннеров, уделили внимание YML-фиду для Яндекс.Маркет, улучшили “Настройки шаблона”, оформили модуль лога действий и разработали “Заметки” для пользователей административной части сайта. Также проработали замечания и предложения наших пользователей, исправили несколько ошибок.

Форум