Новости Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

👩‍💻 Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla.v.6.1.0 Что нового?Модуль корзины. Отображение корзины в виде offcanvas-элемента.Кнопка выхода в панели управления пользователя. Что тут сказать, просто добавили. Отправка писем только для заказов, оплаченных определёнными способами. Это удобно для рассылки сообщений, привязанных к региону или провайдеру (например, инструкции по банковскому переводу только для заказов, оплаченных банковским переводом).Листинг выплат по партнерской системе. В разделе управления партнёрскими программами появилось новое подменю «Выплаты», в котором перечислены выплаты партнёрам (упрощённое отслеживание и сверка). Добавлены настройки, благодаря которым можно определить категории товаров, на которые начисляется партнёрская комиссия с продаж.Список комплектов товаров. Система комплектов позволяет отслеживать остатки товаров, продаваемых в комплекте.Подробнее в блоге Hikashop.Поскольку мы не сообщали ранее о Hikashop 6.0, то вкратце скажем, что он вышел в июне 2025г. В новой версии было:- 13 исправлений ошибок- 17 улучшений. В частности:- - Hikashop теперь проверяет UserAgent пользователя перед добавлением товара в корзину, чтобы отсечь ботов. Ведь компонент хранит корзины в базе данных.- - улучшен роутинг компонента, позволяющий использовать в названии товара даже слеши.- - улучшения фильтра товаров - ускорение загрузки категорий/брендов/характеристик.- 4 новых функции:- - добавлена поддержка Joomla 6.0.- - Улучшена возможность адаптации форм HikaShop на фронтенде к шаблонам, не использующим стандартные классы Joomla.- - Плагин внутреннего баланса: возможность исключить уцененные товары из начисленных баллов.- - Теперь можно выбирать склады для вариантов товаров.Подробнее в Changelog Hikashop.Также при работе с Hikashop стоит учитывать, что один и тот же код поддерживает версии Joomla от 3.х до 5.х, а в таблице сравнения версий заявлена и Joomla 2.5. Беглый просмотр кода показал, что компонент как был, так и остался старым и для совместимости с Joomla 4+ просто добавлен плагин.@joomlafeed#joomla #расширения #hikashop

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста "Просто о Digital"Гость:🎙 Владимир Сергеенко ( https://t.me/aixman ) • Интернет-маркетолог с 14-летним опытом• Соавтор книги «Нетворкинг»• Спикер конференции Ассоциации директоров по развитиюВедущий:💻 Игорь Филипенко ( https://t.me/igorleee )• Программист и предприниматель с 16-летним опытом в digital• Основатель подкаста "Просто о Digital"• Специалист по автоматизации бизнес-процессовВ этом выпуске вы узнаете:🔥 Актуальность сайтов в эпоху нейросетей• Актуален ли сайт сейчас и будет ли актуален в будущем?• Зачем нужен сайт? Есть ли иные инструменты привлечения клиентов?🤖 Нейросети vs Поисковики vs Сайты• Почему нейросети не заменят сайты в B2B-сегменте• Как Google и Яндекс меняют алгоритмы из-за AI-конкуренции📊 Сайт как центр вселенной вашего трафика• Почему без сайта вы сливаете 40% маркетингового бюджета впустую?🛡 Безопасность и Joomla 6.0• Как отфильтровать 99% ботов и сэкономить на трафике• Почему Joomla теперь обходит WordPress в безопасности и скорости⚖️ Выбор платформы: битва CMS• WordPress: 50% рынка но 80% уязвимостей• Joomla: профессиональная CMS для сложных проектов• Drupal: почему его похоронили в 2023 году• Tilda: когда конструктор выгоднее CMSПриятного просмотра/прослушивания!RSS: https://cloud.mave.digital/61930Mave: https://igorfilipenko.mave.digitalЯндекс Музыка: https://music.yandex.ru/album/35840190Telegram Mave: https://t.me/mavestreambot/app?startapp=igorfilipenkoApple Podcasts: https://podcasts.apple.com/us/podcast/просто-о-digital-и-бизнесе/id1801903450ВКонтакте: https://vk.com/podcasts-12488584Youtube: https://www.youtube.com/playlist?list=PLfR6jTpnkohDDco32xZ-KyMyWi_S5Xdy2=========================Видео-формат подкаста:Rutube: https://rutube.ru/video/b5762754f9d3e0dc382f32f3034be0a2/Youtube: https://youtu.be/nu1XF2jNbxY#подкаст #podcast

0 Пользователей и 1 Гость просматривают эту тему.
  • 225 Ответов
  • 50343 Просмотров
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: JoomShopping + SMS
« Ответ #210 : 14.10.2016, 17:03:01 »
Если в 3 строке ошибка тогда как правильно вызвать $this->order->payment_id ?

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

Код: php
$text .= JText::_(_JSHOP_ORDER_NUMBER).": ".$this->order->order_number."\n";
$text .= JText::_(_JSHOP_TOTAL).": ".number_format($this->order->order_total, 0, '.', ' ')." ".$this->order->currency_code."\n";
var_dump($this->order->payment_id); die("Пипец где то тут");
$text .= JText::_($this->order->payment_id)."\n";
$text .= "Заказ принят";

Ну и какой текст ошибки то?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

kit2m2

  • Живу я здесь
  • 3360
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: JoomShopping + SMS
« Ответ #211 : 14.10.2016, 17:05:13 »
Если в 3 строке ошибка тогда как правильно вызвать $this->order->payment_id ?
Читаю, уже которое сообщение муссируется одно и этоже... По моему так:
Код
$text .= JText::_(_JSHOP_ORDER_NUMBER).": ".$this->order->order_number."\n";
$text .= JText::_(_JSHOP_TOTAL).": ".number_format($this->order->order_total, 0, '.', ' ')." ".$this->order->currency_code."\n";
$text .= $this->order->payment_id)."\n";
$text .= "Заказ принят";

$text .= JText::_( Здесь должна быть языковая константа, а не переменная );
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping + SMS
« Ответ #212 : 14.10.2016, 17:06:53 »
что такое
как правильно вызвать $this->order->payment_id
? $this->order->payment_id - это id способа заказа. целое число. а не дух :) куда и зачем вы его хотите вызвать?

напишите что вы в итоге хотите получить, пример текста
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: JoomShopping + SMS
« Ответ #213 : 14.10.2016, 17:14:13 »
$text .= JText::_( Здесь должна быть языковая константа, а не переменная );
Не обязательно. Вот ссылка на док.
Лично мне интересно, что у ТС в $this->order->payment_id содержится. Константа ведь тоже содержит данные, как и переменная, но эти данные взяты из языкового файла.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: JoomShopping + SMS
« Ответ #214 : 14.10.2016, 17:15:50 »
что такое? $this->order->payment_id - это id способа заказа. целое число. а не дух
strval?
Если так, то целое должно пристыковываться к строке и автоматом преобразовываться в строку. Или я старею?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: JoomShopping + SMS
« Ответ #215 : 14.10.2016, 18:53:17 »

Кстати как  правильно вывести через echo все значения кот. нужно передать в SMS? Т.к. после выполнения этот файла сразу переходит на страницу - Заказ выполнен.

И о главном продолжаю дальше во всем разбираться  - обьясните пож. - как происходит переход с одной формы оформления заказа на другую  (с файлами разобрался - address.php, payments.php т.д.) не могу понять как со страницы оформления данных заказчика переходим на выбор оплаты- далее доставки - и тд.

Вот ввесь код файла ordermail.php
Задача получить значение - Вид оплаты, если выбран предоплата - сделать отправку дополнительного SMS с картой для оплаты. Вот на получении значения вида оплаты  получился ступор. То что в получении значения payment  - ошибка  это я понимаю, да и payment id нужен на самом деле а payment_description - короче вот здесь непонятно.
Код
/**
* @version      4.11.2 18.12.2014
* @author       MAXXmarketing GmbH
* @package      Jshopping
* @copyright    Copyright (C) 2010 webdesigner-profi.de. All rights reserved.
* @license      GNU/GPL
*/

defined('_JEXEC') or die();

class jshopOrderMail extends jshopBase{

private $order_id;
private $manuallysend;
private $order;
private $show_percent_tax;
private $hide_subtotal;
private $order_email_descr;
private $order_email_descr_end;
private $text_total;
private $file_generete_pdf_order;
private $config_fields;
private $count_filed_delivery;
private $listVendors;
private $vendors_send_message;
private $vendor_send_order_admin;
private $vendor_send_order;
private $admin_send_order;
private $payment;


public function setData($order_id, $manuallysend = 0){
$this->order_id = $order_id;
$this->manuallysend = $manuallysend;
$this->loadOrderData();
}

public function getOrderId(){
return $this->order_id;
}

public function getManuallysend(){
return $this->manuallysend;
}

public function getPayment(){
return $this->payment;
}


public function getMessage($type, $products = null, $show_customer_info = 1, $show_weight_order = 1, $show_total_info = 1, $show_payment_shipping_info = 1){
$jshopConfig = JSFactory::getConfig();
$dispatcher = JDispatcher::getInstance();
$liveurlhost = JURI::getInstance()->toString(array("scheme",'host', 'port'));

if ($type=='client'){
$client = 1;
}else{
$client = 0;
}
if (is_null($products)){
$products = $this->order->products;
}

$view = $this->getView('checkout');
$view->setLayout("orderemail");
$view->assign('client', $client);
$view->assign('show_customer_info', $show_customer_info);
$view->assign('show_weight_order', $show_weight_order);
$view->assign('show_total_info', $show_total_info);
$view->assign('show_payment_shipping_info', $show_payment_shipping_info);
$view->assign('config_fields', $this->config_fields);
$view->assign('count_filed_delivery', $this->count_filed_delivery);
$view->assign('order_email_descr', $this->order_email_descr);
$view->assign('order_email_descr_end', $this->order_email_descr_end);
$view->assign('config', $jshopConfig);
$view->assign('order', $this->order);
$view->assign('products', $products);
$view->assign('show_percent_tax', $this->show_percent_tax);
$view->assign('hide_subtotal', $this->hide_subtotal);
$view->assign('noimage', $jshopConfig->noimage);
$view->assign('text_total',$this->text_total);
$view->assign('liveurlhost',$liveurlhost);
if ($type=='vendor'){
$dispatcher->trigger('onBeforeCreateTemplateOrderPartMail', array(&$view));
}else{
$dispatcher->trigger('onBeforeCreateTemplateOrderMail', array(&$view));
}
return $view->loadTemplate();
}

public function send(){
$jshopConfig = JSFactory::getConfig();
$dispatcher = JDispatcher::getInstance();

$dispatcher->trigger('onBeforeSendEmailsOrder',
array(&$this->order, &$this->listVendors, &$this->file_generete_pdf_order, &$this->admin_send_order, &$this));

$message_client = $this->getMessage('client');
$message_admin = $this->getMessage('admin');
$this->loadMessageForListVendors();

if ($this->getGeneretePdf()){
$this->order->generatePdf($this->file_generete_pdf_order);
}

$send = array();

//send mail client
if ($this->order->email){
$send['client'] = $this->sendMail('client', $this->order->email, $message_client);
}

//send mail admin
if ($this->admin_send_order){
$send['admin'] = $this->sendMail('admin', $jshopConfig->getAdminContactEmails(), $message_admin);
}

//send message mail vendors
if ($this->vendors_send_message || $this->vendor_send_order){
foreach($this->listVendors as $k=>$vendor){
$send['vendormessage:'.$vendor->id] = $this->sendMail('vendormessage', $vendor->email, $vendor->message, $vendor);
}
}

//send order vendors
if ($this->vendor_send_order_admin){
foreach($this->listVendors as $k=>$vendor){
$send['vendor:'.$vendor->id] = $this->sendMail('vendor', $vendor->email, $message_admin, $vendor);
}
}
//отправляем SMS
if ($this->order->mobil_phone != "") {
$client = new SoapClient ('http://turbosms.in.ua/api/wsdl.html');
$auth = Array (
'login' => 'login',
'password' => 'password'
);
$result = $client->Auth ($auth);

$text .= JText::_(_JSHOP_ORDER_NUMBER).": ".$this->order->order_number."\n";
$text .= JText::_(_JSHOP_TOTAL).": ".number_format($this->order->order_total, 0, '.', ' ')." ".$this->order->currency_code."\n";
/* $text .= $this->payment."\n"; */
$text .= "Заказ принят";
$sms = Array (
'sender' => 'Teh-Shop',
'destination' => $this->order->mobil_phone,
'text' => $text
);

$result = $client->SendSMS ($sms);
                                                 }


public function getSubjectMail($type, $order){
if ($type=='vendormessage'){
$subject = sprintf(_JSHOP_NEW_ORDER_V, $order->order_number, "");
}else{
$subject = sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name);
}
extract(js_add_trigger(get_defined_vars(), "after"));
return $subject;
}

public function sendMail($type, $recipient, $message, $vendor = null){
$app = JFactory::getApplication();
$jshopConfig = JSFactory::getConfig();
$dispatcher = JDispatcher::getInstance();

$mailfrom = $app->getCfg('mailfrom');
$fromname = $app->getCfg('fromname');
$pdfsend = $this->getPdfSend();
$manuallysend = $this->getManuallysend();
$subject = $this->getSubjectMail($type, $this->order);
$pdfsendtype = $this->getPdfSendType($type);

$mailer = JFactory::getMailer();
$mailer->setSender(array($mailfrom, $fromname));
$mailer->addRecipient($recipient);
$mailer->setSubject($subject);
$mailer->setBody($message);
if ($pdfsendtype){
$mailer->addAttachment($jshopConfig->pdf_orders_path."/".$this->order->pdf_file);
}
$mailer->isHTML(true);
$dispatcher->trigger($this->getSendMailTriggerType($type),
array(&$mailer, &$this->order, &$manuallysend, &$pdfsend, &$vendor, &$this->vendors_send_message, &$this->vendor_send_order));
return $mailer->Send();
}

protected function loadOrderData(){
$jshopConfig = JSFactory::getConfig();

$this->order = JSFactory::getTable('order', 'jshop');
$this->order->load($this->getOrderId());
$this->order->prepareOrderPrint('', 1);
$this->show_percent_tax = $this->order->getShowPercentTax();
$this->hide_subtotal = $this->order->getHideSubtotal();
$this->order->fixConfigShowWeightOrder();
$this->order_email_descr = $this->order->getStaticText('order_email_descr');
if ($this->getManuallysend()){
$order_email_descr_manually = $this->order->getStaticText('order_email_descr_manually');
if (trim($order_email_descr_manually)!=''){
$this->order_email_descr = $order_email_descr_manually;
}
}
$this->order_email_descr_end = $this->order->getStaticText('order_email_descr_end');
$this->text_total = $this->order->getTextTotal();

$this->file_generete_pdf_order = $jshopConfig->file_generete_pdf_order;        
$this->config_fields = $jshopConfig->getListFieldsRegisterType('address');
$this->count_filed_delivery = $jshopConfig->getEnableDeliveryFiledRegistration('address');

$this->listVendors = $this->getListVendors($this->order);
$this->vendors_send_message = $this->getVendorsSendMessage();
$this->vendor_send_order_admin = $this->getVendorSendOrderAdmin($this->order);
$this->vendor_send_order = $this->getVendorSendOrder($this->order);
$this->admin_send_order = $this->getAdminSendOrder($this->order, $this->listVendors);
}

protected function loadMessageForListVendors(){
if ($this->vendors_send_message || $this->vendor_send_order){
foreach($this->listVendors as $k=>$vendor){
if ($this->vendors_send_message){
$show_customer_info = 0;
$show_weight_order = 0;
$show_total_info = 0;
$show_payment_shipping_info = 0;
}
if ($this->vendor_send_order){
$show_customer_info = 1;
$show_weight_order = 0;
$show_total_info = 0;
$show_payment_shipping_info = 1;
}
$vendor_order_items = $this->order->getVendorItems($vendor->id);

$this->listVendors[$k]->message = $this->getMessage(
'vendor', $vendor_order_items, $show_customer_info, $show_weight_order, $show_total_info, $show_payment_shipping_info
);
}
}
}

protected function getPdfSend(){
$pdfsend = 1;
if (JSFactory::getConfig()->send_invoice_manually && !$this->getManuallysend()){
$pdfsend = 0;
}
return $pdfsend;
}

protected function getGeneretePdf(){
return $this->getPdfSend() && JSFactory::getConfig()->generate_pdf;
}

protected function getListVendors($order){
if (JSFactory::getConfig()->admin_show_vendors){
$listVendors = $order->getVendors();
}else{
$listVendors = array();
}
return $listVendors;
}

protected function getVendorsSendMessage(){
return  JSFactory::getConfig()->vendor_order_message_type==1;
}

protected function getVendorSendOrderAdmin($order){
$jshopConfig = JSFactory::getConfig();
return (($jshopConfig->vendor_order_message_type==2 && $order->vendor_type == 0 && $order->vendor_id) || $jshopConfig->vendor_order_message_type==3);
}

protected function getVendorSendOrder($order){
$jshopConfig = JSFactory::getConfig();
$vendor_send_order = $jshopConfig->vendor_order_message_type==2;        
if ($this->getVendorSendOrderAdmin($order)){
$vendor_send_order = 0;
}
return $vendor_send_order;
}

protected function getAdminSendOrder($order, $listVendors){
$admin_send_order = 1;
if (JSFactory::getConfig()->admin_not_send_email_order_vendor_order && $this->getVendorSendOrderAdmin($order) && count($listVendors)){
$admin_send_order = 0;
}
return $admin_send_order;
}

protected function getPdfSendType($type){
$jshopConfig = JSFactory::getConfig();
$pdfsend = $this->getPdfSend();
if ($type=='client'){
$pdfsendtype = $pdfsend && $jshopConfig->order_send_pdf_client;
}
if ($type=='admin'){
$pdfsendtype = $pdfsend && $jshopConfig->order_send_pdf_admin;
}
if ($type=='vendormessage'){
$pdfsendtype = 0;
}
if ($type=='vendor'){
$pdfsendtype = $pdfsend && $jshopConfig->order_send_pdf_admin;
}
return $pdfsendtype;
}

protected function getSendMailTriggerType($type){
if ($type=='client'){
$trigger = 'onBeforeSendOrderEmailClient';
}
if ($type=='admin'){
$trigger = 'onBeforeSendOrderEmailAdmin';
}
if ($type=='vendormessage'){
$trigger = 'onBeforeSendOrderEmailVendor';
}
if ($type=='vendor'){
$trigger = 'onBeforeSendOrderEmailVendorOrder';
}
return $trigger;
}

}


*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping + SMS
« Ответ #216 : 14.10.2016, 23:45:03 »
strval?
Если так, то целое должно пристыковываться к строке и автоматом преобразовываться в строку. Или я старею?
все так. оно и пристыковывается наверняка :) просто ТС-у нужно не id метода, а название
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping + SMS
« Ответ #217 : 15.10.2016, 00:41:23 »
Вот на получении значения вида оплаты  получился ступор.
не очень понимаю, в чем именно ступор? $this->order->payment_id у вас есть, это id способа оплаты. проверяйте, совпадает ли он с нужным, и если да - отправляйте.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: JoomShopping + SMS
« Ответ #218 : 15.10.2016, 21:01:04 »
Сложно сказать, не видя всего кода. Попробуйте вставить вывод содержимого, и увидите, в чем ошибка.

Код: php
$text .= JText::_(_JSHOP_ORDER_NUMBER).": ".$this->order->order_number."\n";
$text .= JText::_(_JSHOP_TOTAL).": ".number_format($this->order->order_total, 0, '.', ' ')." ".$this->order->currency_code."\n";
var_dump($this->order->payment_id); die("Пипец где то тут");
$text .= JText::_($this->order->payment_id)."\n";
$text .= "Заказ принят";

Ну и какой текст ошибки то?

Вот -  NULL Пипец РіРґРµ то тут
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping + SMS
« Ответ #219 : 15.10.2016, 22:13:18 »
$this->order->payment_method_id
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: JoomShopping + SMS
« Ответ #220 : 15.10.2016, 22:46:42 »
string(1) "6" result
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: JoomShopping + SMS
« Ответ #221 : 15.10.2016, 22:48:05 »
Как получить не номер по порядку, а именно строковое значение?
P.s как избавиться от крякозябров?
« Последнее редактирование: 15.10.2016, 22:53:07 от Qverty2012 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping + SMS
« Ответ #222 : 15.10.2016, 23:10:40 »
это и не номер по порядку. это id метода оплаты. его и сравнивайте с нужным. для чего вам строковое значение?

настройте сервер на UTF-8 кодировку
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Qverty2012

  • Захожу иногда
  • 107
  • 0 / 0
Re: JoomShopping + SMS
« Ответ #223 : 15.10.2016, 23:31:35 »
это и не номер по порядку. это id метода оплаты. его и сравнивайте с нужным. для чего вам строковое значение?

настройте сервер на UTF-8 кодировку
спс. И все же как получить строковое значение? 
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: JoomShopping + SMS
« Ответ #224 : 15.10.2016, 23:36:00 »
запрос сделайте в базу, по этому id получите название. не представляю, для чего это нужно, почему не сравнивать числа.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Hvaekar

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: JoomShopping + SMS
« Ответ #225 : 08.05.2018, 11:28:23 »
Как сделать отправку SMS при смене статуса заказ (как сделал ее я для себя) посредством turbosms. JoomShopping 4.17.0 (должно подойти начиная с 4.11.0)

Вставляем код:
Код
//send sms client
if ($order->phone != "") {

$client = new SoapClient ('http://turbosms.in.ua/api/wsdl.html');

$auth = Array (
'login' => 'Логин turbosms',
'password' => 'Пароль turbosms'
);

$order->load($order_id);

$status = JSFactory::getTable('orderStatus', 'jshop');
$status->load($order->order_status);
$lang = JSFactory::getLang();
$name = $lang->get("name");
$order->status = $status->$name;

$result = $client->Auth ($auth);
$text .= JText::_(_JSHOP_ORDER_NUMBER2).ltrim($order->order_number,'0')." ".$order->status = mb_strtolower($status->$name).".";
if ($this->include_comment && $this->comments != "") {
$text .= JText::_('\n'.$this->comments.'');
}


$sms = Array (
'sender' => 'Подпись turbosms',
'destination' => $order->phone,
'text' => $text
);

$result = $client->SendSMS ($sms);
};

в функцию "sendMail" файла /components/com_jshopping/models/orderchangestatus.php, у меня это строка 186. Код нужно вставить перед "return $mailer->Send();"
Логин, пароль, подпись поставить свои. Параметру "_JSHOP_ORDER_NUMBER2" определить значение в языковом файле.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Мы починили поиск для JoomShopping

Автор Dimidrol-Pruper

Ответов: 101
Просмотров: 34550
Последний ответ 24.06.2024, 14:20:58
от kit2m2
Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 2173
Последний ответ 26.02.2024, 07:00:01
от kit2m2
Плагин - Товар на складе или Товар под заказ для JoomShopping [Скачать]

Автор kit2m2

Ответов: 58
Просмотров: 11669
Последний ответ 18.05.2023, 12:59:00
от Akeksandr
[Решено] Комплект товаров JoomShopping - конструктор

Автор vgromov

Ответов: 96
Просмотров: 31391
Последний ответ 14.12.2022, 15:21:24
от kit2m2
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 15590
Последний ответ 22.08.2022, 09:54:16
от kit2m2