Example #1
0
 /**
  * 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]);
 }
Example #2
0
/**
 * 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);
}
Example #3
0
/**
 * 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);
    }
}
Example #4
0
 /**
  * 2016-08-27
  * Для тестирования можно использовать: df_order_r()->get(257);
  * @return O|DFO|null
  */
 private function o()
 {
     return df_checkout_session()->getLastRealOrder();
 }
Example #5
0
 /**
  * 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() ?: []);
 }