Magento - как скрыть время в трансакционных письмах - PullRequest
0 голосов
/ 12 сентября 2011

Я ищу, как скрыть время и показать только дату в электронном письме «новый заказ»:

Я видел, что он генерируется с этим кодом:

({{var order.getCreatedAtFormated(''long'')}})

но я не могу найти решение, как показывать только дату.

Спасибо за помощь.

1 Ответ

4 голосов
/ 12 сентября 2011

Поддерживаемые типы форматирования: длинный, средний, полный, короткий

спасибо за комментарий:

КАК ДОЛЖЕН ПОМОЧЬ СЕБЕ НАЙТИ

Во-первых, если вы не знаете, как взаимодействовать с методом, найдите его в кодовой базе, так как это показывает, в каком файле определен метод, и вы можете увидеть, какие параметры он принимает и как он обрабатывает параметры

grep ' getCreatedAtFormated' app/code/ -rsn
app/code/core/Mage/Sales/Model/Order.php:1988:    public function getCreatedAtFormated($format)

хорошо, теперь мы нашли этот файл, открываем и видим, что в строке 1988 есть метод

/**
 * Get formated order created date in store timezone
 *
 * @param   string $format date format type (short|medium|long|full)
 * @return  string
 */
public function getCreatedAtFormated($format)
{
    return Mage::helper('core')->formatDate($this->getCreatedAtStoreDate(), $format, true);
}

круто, теперь вы видите, что он на самом деле использует метод formatDate основного помощника. Давай, открой этот файл

app/code/core/Mage/Core/Helper/Data.php:135:    public function formatDate($date=null, $format='short', $showTime=false)

вы можете видеть из grep, что он принимает третий параметр, который вы не можете передать этому методу, поскольку он оборачивает его принудительным значением.

Итак, ваше решение - использовать помощника и получить переменную order.getCreatedAtStoreDate () и передать ее методу форматирования помощников

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...