2013-02-14 4 views
0

Я пытаюсь добавить пару полей в контактную форму, чтобы мои клиенты могли указать год изготовления и модель своего автомобиля при записи.Настройка контактной формы Magento

Я только что обновил установку Magento с 1.4.3 до 1.7.0.1. Моя предыдущая контактная форма была взломанной, и на этот раз я пытаюсь заставить ее работать правильно. Читая все вокруг, я попытался добавить <input type="text" size="15" value="" id="model_ext" name="bike_model_ext" class="required-entry input-text"> в form.phtml в свой шаблон, а затем в шаблон электронной почты для транзакций в admin, {{var data.model_ext}}. Но это не работает. Я убедился, что шаблон в задней части правилен, манипулируя текстом. Я также знаю, что form.phtml правильный, поскольку я вижу элементы, когда они меняются.

Итак, я перегрузил контроллер, обратившись к контактной форме. Я подтвердил, что мой контроллер обрабатывает его (он пришел с echo "it works"; die();). И там я ищу данные POST из дополнительных имен элементов формы, но здесь тоже возникают проблемы с получением доступа к данным. Смотря вокруг сети, я пробовал это:

  $comment = $this->getRequest()->getPost('comment'); 
      $extras=Array("year","make","model","model_ext"); 
      foreach($extras as $field) 
        $comment .= "\n$field:\t".$this->getRequest()->getPost($field); 
      $this->getRequest()->setParam('comment', $comment); 
      parent::postAction(); 

Но опять же, это похоже на то, что мои переменные не существуют. Здесь, опять же, я знаю, что мой код выполняется, потому что, когда я получаю что-то не так, форма контакта падает на сообщение об ошибке.

Я буду на нем снова утром, но надеюсь, что есть что-то легкое. Мне не хватает того, что кто-то здесь с большим опытом может мне помочь.

EDIT: ANSWERED Я использовал идентификатор для ввода переменных, вместо этого должен быть имя.

+1

В пост он использует имя не идентификатору: Name = «bike_model_ext» принять это во внимание – dagfr

+0

Да! Спасибо. Это было исправление. Ответ, и я соглашусь. –

ответ

1

Ответ для заинтересованных в этом исправлении.

Значение $ _POST и $ _GET, генерируемое формой, использует имя, а не идентификатор.

В этой ситуации вы должны использовать bike_model_ext вместо model_ext.

Уважением,

Смежные вопросы