Не работает форма в контактах, opencart Version 3.0.2.0 (rs.4), в файле contact.php нет...

Тема в разделе "Ошибки и их решения", создана пользователем iv8383, 1 фев 2019.

  1. iv8383

    iv8383 Новичок

    Сообщения:
    5
    Симпатии:
    0
    Не работает форма в контактах, opencart Version 3.0.2.0 (rs.4), в файле contact.php нет...даже text_message который есть в catalog/language/ru-ru/information/contact.php :
    $_['text_message'] = '<p>Ваше сообщение успешно отправлено владельцу магазина!</p>'; на 14 строке.

    добавлял перед:

    $data['continue'] = $this->url->link('common/home');

    это:

    $data['text_message'] = $this->language->get('text_message');

    все равно не работает! Даже поле об успешной отправке не открывается! Перезагружается страница и поля остаются заполненными, на почте $this->config->get('config_email') письма нет! Пробовал многое! Вплоть до того что явно писал функцию mail(); даже она ничего не отправляет, и не будет, так как ощущение что не происходит редирект:

    $this->response->redirect($this->url->link('information/contact/success'));

    так как форма не отправляется судя по тому что не появляется сообщение об успешной отправке,
    ни то что это сообщение даже поля нет! это явный баг? или нет?
     

    Вложения:

  2. Ravilr

    Ravilr Специалист

    Сообщения:
    3.878
    Симпатии:
    1.064
    Майл проверяют не на файлах движка, а простым размещением в корне сайта php файл с одной вашей строкой.

    Работает. Т.е не работает только у вас.

    Попробуйте в \system\tweak.ocmod.xml
    заменить
    PHP:
    <file path="catalog/view/theme/default/template/information/contact.twig">
    на это
    PHP:
    <file path="catalog/view/theme/*/template/information/contact.twig">
    Сохранить. Обновить кеш модификаторов. После этого посмотреть на форму. Рядом с кнопкой Оправить появится поле чекбокса для согласия. Если не появится, то вам проще просто в модификаторе удалить часть кода с 290-298 строку
     
  3. iv8383

    iv8383 Новичок

    Сообщения:
    5
    Симпатии:
    0
    Появилась галочка, форма заработала, но галочка мне там не нужна! И в смысле удалить с 290-298 строку ?

    вы предлагали кусок кода удалить, а кусок с продолжением оставить?


    <!-- Приводим немного сайт к 152 ФЗ -->
    <file path="catalog/controller/information/contact.php">

    <operation>
    <search><![CDATA[
    if (isset($this->error['name'])) {
    ]]></search>
    <add position="before"><![CDATA[
     

    Вложения:

  4. iv8383

    iv8383 Новичок

    Сообщения:
    5
    Симпатии:
    0
    Да и кстати! Форма не присылает email отправителя!!! Это тоже не баг?
     

    Вложения:

  5. Ravilr

    Ravilr Специалист

    Сообщения:
    3.878
    Симпатии:
    1.064
    Нет. Нажмите ответить и увидите.
    Там нет продолжение. Весь код который отвечает за соответвию закона это вот
    Код:
    <!-- Приводим немного сайт к 152 ФЗ     -->   
    <file path="catalog/controller/information/contact.php">
    
        <operation>
            <search><![CDATA[
                if (isset($this->error['name'])) {
            ]]></search>
            <add position="before"><![CDATA[
            if (isset($this->error['warning'])) {
                $data['error_warning'] = $this->error['warning'];
            } else {
                $data['error_warning'] = '';
            }
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[
                $data['comment'] = $this->config->get('config_comment');
            ]]></search>
            <add position="after"><![CDATA[
            if ($this->config->get('config_account_id')) {
                $this->load->model('catalog/information');
    
                $information_info = $this->model_catalog_information->getInformation($this->config->get('config_account_id'));
    
                if ($information_info) {
                    $data['text_agree'] = sprintf($this->language->get('text_agree'), $this->url->link('information/information/agree', 'information_id=' . $this->config->get('config_account_id'), true), $information_info['title'], $information_info['title']);
                } else {
                    $data['text_agree'] = '';
                }
            } else {
                $data['text_agree'] = '';
            }
    
            if (isset($this->request->post['agree'])) {
                $data['agree'] = $this->request->post['agree'];
            } else {
                $data['agree'] = false;
            }
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[
                return !$this->error;
            ]]></search>
            <add position="before"><![CDATA[
            // Agree to terms
            if ($this->config->get('config_account_id')) {
                $this->load->model('catalog/information');
    
                $information_info = $this->model_catalog_information->getInformation($this->config->get('config_account_id'));
    
                if ($information_info && !isset($this->request->post['agree'])) {
                    $this->error['warning'] = sprintf($this->language->get('error_agree'), $information_info['title']);
                }
            }
            ]]></add>
        </operation>
    
    </file>
    
    <file path="catalog/view/theme/default/template/information/contact.twig">
    
        <operation>
            <search><![CDATA[
                <div class="row">{{ column_left }}
            ]]></search>
            <add position="before"><![CDATA[
            {% if error_warning %}
            <div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> {{ error_warning }}</div>
            {% endif %}
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[
                <div class="buttons">
            ]]></search>
            <add position="before"><![CDATA[
            {% if text_agree %}
            <div class="buttons">
              <div class="pull-right">{{ text_agree }}
                {% if agree %}
                <input type="checkbox" name="agree" value="1" checked="checked" />
                {% else %}
                <input type="checkbox" name="agree" value="1" />
                {% endif %}
                &nbsp;
                <input type="submit" value="{{ button_submit }}" class="btn btn-primary" />
              </div>
            </div>
            {% else %}
            ]]></add>
        </operation>
    
        <operation>
            <search><![CDATA[
                </form>
            ]]></search>
            <add position="before"><![CDATA[
            {% endif %}
            ]]></add>
        </operation>
    
    </file>
    
    
     
  6. iv8383

    iv8383 Новичок

    Сообщения:
    5
    Симпатии:
    0
    я вас не понимаю, лучше просто напишите как мне сделать, чтобы приходил email отправителя.
     
  7. Ravilr

    Ravilr Специалист

    Сообщения:
    3.878
    Симпатии:
    1.064
    Я же выше сказал. Емайл приходит, оно есть в письме, но скрыто. Поэтому, нажмите ОТВЕТИТЬ в письме и увидите что все нормально!!
     
  8. iv8383

    iv8383 Новичок

    Сообщения:
    5
    Симпатии:
    0
    Спасибо!!!
     
  9. Zidky

    Zidky Новичок

    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте! А у меня отправка почты с контактов переходит на index.php?route=information/contact/success где два раза отображено меню личного кабинета и все, почта не приходит. Все моды отключал и пробовал перезалить файлы модели и контроллеры - не работает. Поиск не помог, кто сталкивался?
     
  10. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    Сталкивался, когда понаставят все подряд с вареза, когда люди не читая документацию начинаю все подряд удалять, менять макеты, все забывают, а потом опааа помогите, что делать, разберитесь..... Тут сообщениями на форуме не помочь уже, это работа по изучению что там и как.
     
  11. Zidky

    Zidky Новичок

    Сообщения:
    3
    Симпатии:
    0
    Сочувствую, с варезом и не такое случается. Но не мой случай. Было из коробки, все лицензионное. Это что-то типа неправильной установки или что-то с url alias.
     
  12. Zidky

    Zidky Новичок

    Сообщения:
    3
    Симпатии:
    0
    Решилось - в макете - "по умолчанию" был 2 раза этот самый личный кабинет выведен. Вероятно какая-то ошибка базы или удаление модуля его туда закинуло. Проявлялось так же на странице акций.