/** * 2016-07-14 * @override * @see AbstractBlock::_toHtml() * @return string */ protected function _toHtml() { /** @var array(array(string => bool|Phrase)) $m */ $m = df_checkout_session()->getDfMessages(); df_checkout_session()->unsDfMessages(); return !$m ? '' : df_x_magento_init(__CLASS__, 'js/messages', ['messages' => $m]); }
/** * 2016-07-14 * Сообщение показывается всего на 5 секунд, а затем скрывается: https://mage2.pro/t/1871 * @param string|Phrase $text * @param bool $success * @return void */ function df_checkout_message($text, $success) { /** @var array(array(string => bool|Phrase)) $messages */ $messages = df_checkout_session()->getDfMessages(); /** * 2016-07-14 * @used-by https://github.com/mage2pro/core/blob/539a6c4/Checkout/view/frontend/web/js/messages.js?ts=4#L17 */ $messages[] = ['text' => df_phrase($text), 'success' => $success]; df_checkout_session()->setDfMessages($messages); }
/** * 2016-08-24 * @param string $module * @param mixed|null $info * @param C|null $c [optional] * @return void */ function df_customer_info_save($module, $info, C $c = null) { $c = $c ?: df_current_customer(); /** @var array(string => string) $data */ $data = [$module => $info]; if (!$c) { df_checkout_session()->setDfCustomer($data); } else { df_customer_info_add($c, $data); /** * 2016-08-22 * Сохранять покупателя надо обязательно, * потому что при оформлении заказа зарегистрированным ранее покупателем * его учётная запись не пересохраняется. */ df_eav_partial_save($c); } }
/** * 2016-08-27 * Для тестирования можно использовать: df_order_r()->get(257); * @return O|DFO|null */ private function o() { return df_checkout_session()->getLastRealOrder(); }
/** * 2016-08-22 * @override * @see ObserverInterface::execute() * @used-by \Magento\Framework\Event\Invoker\InvokerDefault::_callObserverMethod() * @param O $o * @return void */ public function execute(O $o) { df_customer_info_add($o['target'], df_checkout_session()->getDfCustomer() ?: []); }