Новости Joomla

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

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

Долгое время у всех был немой вопрос: "Как же теперь оценивать эффективность сайта?". Теперь этот на этот вопрос отчасти отвечает новый инструмент аналитики.
Процитируем справку Яндекса по инструменту:
На запросы пользователей в Поиске может отвечать Алиса AI. Ответы появляются в поисковой выдаче, в объектных ответах и на отдельной вкладке Поиска. В них чаще всего упоминаются страницы сайтов, на которые Алиса AI опиралась при подготовке ответа.

С помощью инструмента Видимость сайта в Алисе AI в Яндекс Вебмастере вы можете:
- узнать долю упоминаний сайта среди источников в ответах Алисы AI в Поиске и отследить динамику изменений;
- посмотреть примеры запросов, по которым страницы сайта показываются в ответах Алисы AI;
- посмотреть примеры сайтов той же тематики, которые часто упоминаются в генеративной выдаче.
Данные отображаются за последние 3 месяца и обновляются каждую неделю.

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

Кроме того, такой подход обусловлен работой Алисы AI: она строит ответ с опорой на самые релевантные, информативные и качественные страницы, которые обычно занимают высокие позиции в Поиске.

Чтобы увидеть статистику вашего сайта в меню Яндекс.Вебмастера перейдите в раздел "Эффективность" и далее в "Показы сайта в Алисе AI".

В начале февраля 2026г. был вебинар с Михаилом Сливинским - амбассадором Поиска Яндекса, и в рамках вебинара была озвучена просьба сделать такой инструмент. Скорее всего разработка на тот момент уже велась, потому что от просьбы до релиза прошло около 2-х месяцев. В любом случае хорошо, что такая статистика появилась.

Показы сайта в Алисе AI в вашем Яндекс,Вебмастере.

@joomlafeed

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

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

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

  • Живу я здесь
  • 3373
  • 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
Просмотров: 36921
Последний ответ 24.06.2024, 14:20:58
от kit2m2
Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

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

Автор kit2m2

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

Автор vgromov

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

Автор falur

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