Доброго времени суток.
Написал модуль оплаты с помощью пластиковой карты. Если при оформлении заказа был выбран способ оплаты с помощью моего модуля, то в просмотре информации о заказе способ оплаты не отображается. Если выбирать стандартный метод "checkmo" - все нормально. Подскажите, пожалуйста, в какую сторону копать.
В просмотре информации о заказе не отображается метод оплаты.
20.02.2012 15:25
У способа оплаты обычно есть, как минимум, 4 шаблона:
Более того, при отсутствии шаблона Magento возбуждает исключительную ситуацию.
Если бы вы включили системные журналы и режим разработчика - вы бы это увидели.
- Витринный шаблон формы. Там либо покупатель ставит галку, что он выбирает именно этот способ оплаты, либо водит что-то ещё дополнительно (например, номер телефона в модуле Киви для Magento)
- Витринный шаблон с платёжной информацией. Используется в правой колонке стандартного процесса орформления заказа и в личном кабинете покупателя.
- Административный шаблон с платёжной информацией. Используется на административных страницах.
- Административный шаблон формы. Используется при создании заказа из административной части.
Более того, при отсутствии шаблона Magento возбуждает исключительную ситуацию.
Если бы вы включили системные журналы и режим разработчика - вы бы это увидели.
20.02.2012 15:44
Ок, спасибо.
Насколько я понял административный шаблон должен лежать в папке /app/design/adminhtml/default/default/template/payment/.
Я так понимаю что в подпапках "form" и "info" должен быть файл с названием способа оплаты.
Подскажите, пожалуйста, как примерно он должен выглядеть.
Насколько я понял административный шаблон должен лежать в папке /app/design/adminhtml/default/default/template/payment/.
Я так понимаю что в подпапках "form" и "info" должен быть файл с названием способа оплаты.
Подскажите, пожалуйста, как примерно он должен выглядеть.
20.02.2012 15:46
Он должен лежать там, где его ищет информационный блок (блок, тип которого возвращается методом getInfoBlockType основного класса способа оплата).
20.02.2012 15:54
Судя по тому, что написано в коде (файл /app/code/core/Mage/Payment/Model/Method/Abstract.php)
public function getInfoBlockType()
{
return $this->_infoBlockType;
}
а
protected $_infoBlockType = 'payment/info';
Соответственно файлик должон находится в /app/design/adminhtml/default/default/template/payment/info/имя_способа_оплаты.phtml
Подскажите, пожалуйста, простейший вид этого файлика.
Или подойдет с содержанием от "checkmo"?
З.Ы. Никаких дополнительных данных модуль не запрашивает, а тупо редиректит пользователя на сайт эквайринговой системы с данными покупки.
public function getInfoBlockType()
{
return $this->_infoBlockType;
}
а
protected $_infoBlockType = 'payment/info';
Соответственно файлик должон находится в /app/design/adminhtml/default/default/template/payment/info/имя_способа_оплаты.phtml
Подскажите, пожалуйста, простейший вид этого файлика.
Или подойдет с содержанием от "checkmo"?
З.Ы. Никаких дополнительных данных модуль не запрашивает, а тупо редиректит пользователя на сайт эквайринговой системы с данными покупки.
20.02.2012 15:57
Вывод неверен.
Читайте внимательно код базового класса Mage_Payment_Block_Info и его класса-потомка из вашего модуля.
Читайте внимательно код базового класса Mage_Payment_Block_Info и его класса-потомка из вашего модуля.