[FAQ] Добавление поля в форму контактов - OpenCart

Тема в разделе "OpenCart", создана пользователем instyle, 10 апр 2013.

Статус темы:
Закрыта.
  1. instyle

    instyle

    Регистрация:
    7 фев 2013
    Сообщения:
    174
    Симпатии:
    92
    Есть 3 файлов, участвующих в настройке работы.

    upload/catalog/view/theme/default/template/information/contact.tpl
    upload/catalog/controller/information/contact.php
    upload/catalog/language/english/information/contact.php


    1. Contact Us файл шаблона формы (contact.tpl)
    upload/catalog/view/theme/default/template/information/contact.tpl

    Добавить в название компании, контактный телефон в форме.

    Ниже приводится оригинальный исходный код из contact.tpl. Имя файла с .tpl расширение файла шаблона. Мы сейчас изменении Контакты шаблоном формы.

    Найти это:

    <b><?php echo $entry_name; ?></b><br />
    <input type="text" name="name" value="<?php echo $name; ?>" />
    <br />

    - Копировать, а затем Вставить ниже исходного кода.
    - Переименовать $entry_name to $entry_company_name
    - Переименовать <input type=”text” name=”name” value=”<?php echo $name; ?>” /> на
    <input type=”text” name=”company_name” value=”<?php echo $company_name; ?>” />

    После редактирования, результатом являются следующие:

    <b><?php echo $entry_company_name; ?></b><br />
    <input type="text" name="company_name" value="<?php echo $company_name; ?>" />
    <br />


    2. Далее, "Contact Us" форма контроллера файл (contact.php)
    Open file /upload/catalog/controller/information/contact.php

    Находить:

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

    Добавить в еще одну линию, $entry_company_name

    Он полный код должны быть:

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

    Далее вы должны посмотреть на этот код:

    if (isset($this->request->post['name'])) {

    $this->data['name'] = $this->request->post['name'];

    } else {

    $this->data['name'] = $this->customer->getFirstName();

    }

    и скопировать его и изменить значения name to company_name

    и вы будете иметь:

    if (isset($this->request->post['company_name'])) {

    $this->data['company_name'] = $this->request->post['company_name'];

    } else {

    $this->data['company_name'] = $this->customer->getFirstName();

    }

    Далее находим такую ​​строку:

    $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));

    Затем удалите:

    $mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

    и добавить эти несколько строк в конце концов:

    $msg = strip_tags(html_entity_decode(“Company name:”.$this->request->post['company_name'], ENT_QUOTES, 'UTF-8')) . "\r\n";

    $msg .= strip_tags(html_entity_decode(“Massage:”.$this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')) . "\r\n";

    $mail->setText($msg);


    После этого вы будете иметь:

    $mail->send();
    !! Обратите внимание!
    После первого блока мы имеем . Пример: $msg .=
    /n = Это космический тега в PHP

    И в конце концов мы должны положить некоторый код в языковом файле.

    Окончательный, Contact Us формирование языковой файл (contact.php)
    Открыть файл /upload/catalog/language/english/information/contact.php
    Цель : Язык отображением тега в Contact Us форма.

    Находить:

    // Entry Fields
    $_['entry_name'] = 'First Name:';

    Добавить линию для company_name:

    $_['entry_company_name'] = 'Company name:';

    Вот и все!
     
    Artem67 нравится это.
Статус темы:
Закрыта.