ImageCMS рдореЗрдВ рдИрдореЗрд▓ рдЕрд▓рд░реНрдЯ рд▓рд╛рдЧреВ рдХрд░рдирд╛


рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдФрд╕рдд рд▓реАрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ ImageCMS Andryusha рдиреЗ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдИ-рдореЗрд▓ рдЕрд▓рд░реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдЕрдм рд╡рд╣ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдкрд░реА рд╣реИред

рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рдереА?
рдпрд╣ рдереЛрдбрд╝рд╛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рдерд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдИ-рдореЗрд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЗрдВрджреНрд░реАрдХреГрдд рдкреНрд░рдмрдВрдзрди рд╕реНрдерд╛рди рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛ рд╣реЛрддреА рдереА рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рдереА рдЬреЛ рдХрд┐ рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рдереЗред
рд╣рдо рд╕рд╛рде рджрд┐рдЦрддреЗ рд╣реИрдВ:

/** * Send email to user. * * @param SOrders $order * @return bool */ protected function _sendMail(SOrders $order) { //Check setting to send message if (ShopCore::app()->SSettings->ordersSendMessage == 'false') return; //Array of parameters to send $replaceData = array( '%userName%' => $order->getUserFullName(), '%userEmail%' => $order->getUserEmail(), '%userPhone%' => $order->getUserPhone(), '%userDeliver%' => $order->getUserDeliverTo(), '%orderId%' => $order->getId(), '%orderKey%' => $order->getKey(), '%orderLink%' => shop_url('cart/view/' . $order->getKey()), ); //Use function encode for every element from $replaceData $replaceData = array_map('encode', $replaceData); //Get settings for sending $fromEmail = ShopCore::app()->SSettings->ordersSenderEmail; $shopName = ShopCore::app()->SSettings->ordersSenderName; $theme = ShopCore::app()->SSettings->ordersMessageTheme; //Formating message $message = str_replace(array_keys($replaceData), $replaceData, ShopCore::app()->SSettings->ordersMessageText); //Load CodeIgniter Email library $this->load->library('email'); $config['mailtype'] = ShopCore::app()->SSettings->ordersMessageFormat; //Initialize library configurations $this->email->initialize($config); //Sending message $this->email->from($fromEmail, $shopName); $this->email->to($order->getUserEmail()); $this->email->subject($theme); $this->email->message($message); $this->email->send(); } protected function _sendNewMail(SOrders $order) { //Check setting to send message if (ShopCore::app()->SSettings->ordersSendMessage == 'false') return; //Array of parameters to send $replaceData['variables'] = array( '%userName%' => $order->getUserFullName(), '%userEmail%' => $order->getUserEmail(), '%userPhone%' => $order->getUserPhone(), '%userDeliver%' => $order->getUserDeliverTo(), '%orderId%' => $order->getId(), '%orderKey%' => $order->getKey(), '%orderLink%' => shop_url('cart/view/' . $order->getKey()), ); $replaceData['to'] = $order->getUserEmail(); //Load CodeIgniter Email library $this->load->library('email'); //Sending message $this->email->sendMail('toUserOrderNotification', $replaceData); } 


рдПрдВрдбреНрд░реАрд╖рд╛ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛?

рдЕрд▓рд░реНрдЯ рдмрдирд╛рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлреЗрдпрд░реА рдиреЗ рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрд╛ред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд 6 рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реИрдВ рдЬреЛ рд╕рд╛рдЗрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
  1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрдВрдЬреАрдХрд░рдг;
  2. рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рдХрд╡рд░реА;
  3. рдкрд╛рд╕рд╡рд░реНрдб рдкрд░рд┐рд╡рд░реНрддрди;
  4. рдЖрджреЗрд╢ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдЧреНрд░рд╛рд╣рдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛;
  5. рдЖрджреЗрд╢ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди;
  6. рдШрдЯрдирд╛ рдХреА рд╕реВрдЪрдирд╛ред



рдирд╛рдо рд╕реНрдерд╛рди рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП, рдЬреЛ рдЖрдкрдХреЛ рдХрд╣реАрдВ рд╕реЗ рднреА рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
  namespace cmsemail\classes; 


рдЖрдВрджреНрд░реЗрдИ рдХреЗ рд▓рдХреНрд╖реНрдп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдмрд╛рдзрд╛ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рд╕реЗ рджреВрд░ рдереА, рдЕрд░реНрдерд╛рддреН, рдХреЛрдб рдХреЗ рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬрд╣рд╛рдВ рдИ-рдореЗрд▓ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдорд╛рд░реЗ рдирд╛рдпрдХ рдиреЗ рдирд┐рд░рд╛рд╢рд╛ рдирд╣реАрдВ рдХреА ... рдкрд░реА рдиреЗ рдХрд╛рди рдХреЛ рдХреЙрд░реНрди рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдкрддреНрд░ рднреЗрдЬрдиреЗ рдХреЗ рд╕рднреА рддрд░реНрдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдЕрдЧрд▓реЗ рдХреИрдирд╡рд╛рд╕ рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╣рдо рд╕рд╛рде рджрд┐рдЦрддреЗ рд╣реИрдВ:

 //Creatind link to check for administrator $checkLink = site_url() . "admin/components/run/shop/orders/createPdf/" . trim($order->getId()); //Array of parameters to send $emailData = array( 'userName' => $order->user_full_name, 'userEmail' => $order->user_email, 'userPhone' => $order->user_phone, 'userDeliver' => $order->user_deliver_to, 'orderLink' => shop_url('cart/view/' . $order->key), 'products' => $productsForEmail, 'deliveryPrice' => $deliveryPrice, 'checkLink' => $checkLink, ); //Sending emeils \cmsemail\email::getInstance()->sendEmail($order->user_email, 'make_order', $emailData); 


рддреЛ рдпрд╣ рд╡рд┐рдзрд┐ рдЕрдВрджрд░ рд▓рдЧрддреА рд╣реИ:

 /** * send email * * @param string $send_to - recepient email * @param string $patern_name - email patern name * @param array $variables - variables to raplase in message: * $variables = array('$user$' => 'UserName') * @return bool */ public function sendEmail($send_to, $patern_name, $variables) { //loading CodeIgniter Email library $this->load->library('email'); //Getting settings $patern_settings = $this->cmsemail_model->getPaternSettings($patern_name); $default_settings = $this->cmsemail_model->getSettings(); //Prepare settings into correct array for initialize library if ($patern_settings) { foreach ($patern_settings as $key => $value) { if (!$value) { if ($default_settings[$key]) { $patern_settings[$key] = $default_settings[$key]; } } } } $default_settings['type'] = strtolower($patern_settings['type']); //Initializing library settings $this->_set_config($patern_settings); //Sending user email if active in options if ($patern_settings['user_message_active']) { $this->from_email = $patern_settings['from_email']; $this->from = $patern_settings['from']; $this->send_to = $send_to; $this->theme = $patern_settings['theme']; $this->message = $this->replaceVariables($patern_settings['user_message'], $variables); if (!$this->_sendEmail()) { $this->errors[] = lang('User message doesnt send', 'cmsemail'); } else { //Registering event if success \CMSFactory\Events::create()->registerEvent( array( 'from' => $this->from, 'from_email' => $this->from_email, 'send_to' => $this->send_to, 'theme' => $this->theme, 'message' => $this->message ), 'ParentEmail:userSend'); \CMSFactory\Events::runFactory(); } } //Sending administrator email if active in options if ($patern_settings['admin_message_active']) { $this->from_email = $patern_settings['from_email']; $this->from = $patern_settings['from']; if ($patern_settings['admin_email']) { $this->send_to = $patern_settings['admin_email']; } else { $this->send_to = $default_settings['admin_email']; } $this->theme = $patern_settings['theme']; $this->message = $this->replaceVariables($patern_settings['admin_message'], $variables); if (!$this->_sendEmail()) { $this->errors[] = lang('User message doesnt send', 'cmsemail'); } else { //Registering event if success \CMSFactory\Events::create()->registerEvent( array( 'from' => $this->from, 'from_email' => $this->from_email, 'send_to' => $this->send_to, 'theme' => $this->theme, 'message' => $this->message ), 'ParentEmail:adminSend'); \CMSFactory\Events::runFactory(); } } //Returning status if ($this->errors) { return FALSE; } else { return TRUE; } } 


рдЗрд╕рд▓рд┐рдП рдФрд╕рдд рд▓реАрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рд╕рдВрдкреВрд░реНрдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХрд┐рдпрд╛ред рдХреЛрдб рдЫреЛрдЯрд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЕрд▓рд░реНрдЯ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред



рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддреА рд╣реИ?

рдЕрджреНрдпрддрди рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА, рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХреГрдд, рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдХрд░рддреА рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдиреБрднрд╡рд╣реАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ ImageCMS рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдореЗрдВ рдПрдХрддреНрд░ рдХреА рдЧрдИ рд╣реИред
рдирд┐рдореНрди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЕрдХреНрд╖рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреИрд╢рдмреЛрд░реНрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг


рдПрдХ рдЖрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдЯреЛрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдПрдХ рдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдгред


рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреА рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ?
ImageCMS Shop рдХреЗ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЙрдиреНрд╣реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд▓рдЪреАрд▓реА рдкреНрд░рдгрд╛рд▓реА рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдореЗрдВ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдкреНрд░реЗрд╖рдг рдкрддреЗ, рдкреНрд░реЗрд╖рдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдИ-рдореЗрд▓ рдкрддреЗ рдФрд░ рд╡рд┐рд╖рдп рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рдЕрдкрдиреА рдЕрд▓рдЧ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВред рдорд╛рдирдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рднреА рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рднрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛ рд╡рд╣рд╛рдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдкреНрд░реЗрд╖рдХ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдШрдЯрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рд╣реИ:

Source: https://habr.com/ru/post/In203274/


All Articles