Новости Joomla

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

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #30 : 13.11.2012, 00:31:43 »
Я пользуюсь и еще кое что уже там доработал..
Например свои сообщаения под разные статусы.
Пиши что нужно? )
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #31 : 13.11.2012, 00:39:07 »
Честно очень не хочется делать им рекламу!!  :P
Тк они вообще мне не помогли! и даже просьбу чтобы на их сроне проверялся например номер - игнорируют
Мало того - есть недачеты и в кабинете..

Вот рабочий код. Тут внедрил чтобы номер чистился от пробелов, тире и скоробок
Можно конечно заставить и пользователя правильно вводить номер - но это ЗЛО!
Можно в базу писать сразу правильно (но я не сраз заморачиваться искать и править код)
Если номер указан без 7 вначале - то ее добавляем (тк sms не отправится иначе.)
сами файлы SmsTransport.php и SmsTransport.php я кунил в этуже папку
checkout.php
// SMS      
        if ($admin_send_order) {
    require_once 'SmsTransport.php';
    $phone = (empty($order->phone)? $order->d_phone : $order->phone);
     $sms = "Заказ #{$order->order_number} на сумму {$order->order_total}";
    ByteHandApi::sendSms(array('79270000000'), $sms); // укажите ваш номер
}

if (isset($order->mobil_phone) && $order->mobil_phone != "") {
   require_once 'SmsTransport.php';
   $numfon = $order->mobil_phone;
   $numfon = str_replace(" ", "", $numfon);
   $numfon = str_replace("+", "", $numfon);
   $numfon = str_replace("-", "", $numfon);
   $numfon = str_replace("(", "", $numfon);
   $numfon = str_replace(")", "", $numfon);
           $nnumfon = strlen($numfon);
   if($nnumfon == 10) $numfon = "7".$numfon;
   $text = "Спасибо за покупку!\n";
   $text .= "Заказ №".$numz."\n";
   $text .= "Дата: ".$order->order_date."\n";
   $text .= JText::_(_JSHOP_TOTAL).": ".$order->order_total." ".$order->currency_code_iso;
   ByteHandApi::sendSms($numfon, $text);
}
// END SMS
« Последнее редактирование: 13.11.2012, 00:47:08 от aLLex177 »
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #32 : 13.11.2012, 00:44:34 »
$text = JText::_(JSHOP_THANK_YOU_ORDER)."!\n";
Если хочешь оставить как у них, то они неверно вообще переменные обзывают
замени все на JText::_(_JSHOP_TOTAL)
те надо чтобы было два раза нижнее подчеркивание
те JText::_(JSHOP_ORDER_DATE) а надо JText::_(_JSHOP_ORDER_DATE) - и так везде
Выше я подгонял сообщения чтобы они влезали в одну SMS
« Последнее редактирование: 13.11.2012, 00:48:33 от aLLex177 »
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #33 : 13.11.2012, 10:17:03 »
Спасибо огромное) А то эти разработчики вообще  никакой раеакци. И платить же за смски готовы а они 0((((

Подскажи ещё пожалуйста, вот вроде всё зделал правильно, Но всплывает ошибка.
Когда заказ оформляю, пишит не Спасибо за заказа, а
Обнаружена ошибка. Такой страницы не существует.
11 Invalid message receiver.
И SMS приходит квадратиками( без буум уже сохранял).

Сам заказ в системе проходит.
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #34 : 13.11.2012, 20:23:30 »
я ж правильно понял?

в файле components/com_jshopping/models/checkout.php
 //send mail admin       
        if ($admin_send_order){
            $mailer = JFactory::getMailer();
            $mailer->setSender(array($mailfrom, $fromname));
            $mailer->addRecipient($jshopConfig->contact_email);
            $mailer->setSubject( sprintf(_JSHOP_NEW_ORDER, $order->order_number, $order->f_name." ".$order->l_name));
            $mailer->setBody($message_admin);
            if ($jshopConfig->order_send_pdf_admin){
                $mailer->addAttachment($jshopConfig->pdf_orders_path."/".$order->pdf_file);
            }
            $mailer->isHTML(true);
            $send =& $mailer->Send();
}

и вставка кода идёт после строки //send mail admin  (на следующей строке)?
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #35 : 14.11.2012, 01:19:55 »
такс...всё настроил, всё работает. спасибо aLLex177
Вопрос такой: где что подправить, что бы SMS приходило только админу, а клиенту НЕТ? :-)
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #36 : 14.11.2012, 15:09:50 »
Оставить только это в checkout.php (файл orders.php не трогаем)
        if ($admin_send_order) {
    require_once 'SmsTransport.php';
    $phone = (empty($order->phone)? $order->d_phone : $order->phone);
     $sms = "Заказ #{$order->order_number} на сумму {$order->order_total}";
    ByteHandApi::sendSms(array('79270000000'), $sms); // укажите ваш номер
}
те конструкцию
if ($admin_send_order) { }
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #37 : 14.11.2012, 15:12:31 »
файл orders.php даже если не изменять, SMS клиенту всё равно отправляется :-)
Сейчас сheckout.php укорочу :-)
Спасибо.
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #38 : 14.11.2012, 15:14:02 »
в файле orders.php прописывается если нужно чтобы клиент получал sms о изменении статуса заказа.
checkout.php - если только о новом заказе (админу и клиенту)
как сделать чтоб только админ получал  - думаю понятно _)
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #39 : 14.11.2012, 15:17:13 »
Понятно)))) Спасибо большое))))  Клиенту конечно хочется что бы отправлялось, но могут быть збои при вводе номера телефона.
Поставил что бы было "38" (Украина). Обычно все вводять 096*******(получается 38096*******), но есть клиенты которые прописывают по старому 8096*******, и получается ошибка :-)
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #40 : 19.11.2012, 17:46:05 »
Понятно)))) Спасибо большое))))  Клиенту конечно хочется что бы отправлялось, но могут быть збои при вводе номера телефона.
Поставил что бы было "38" (Украина). Обычно все вводять 096*******(получается 38096*******), но есть клиенты которые прописывают по старому 8096*******, и получается ошибка :-)

$numfon = str_replace("8096", "096", $numfon); - и далее добавлять 38 в начало номера (там где вы это делаете)
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #41 : 20.11.2012, 20:47:32 »
Придётся так делать. Единственное, что, если у клиента телефон с цифрами : 8096, 8063, 8097, 8050, 8095, 8068 (эти значение мне придётся прописывать), цифри гдето в середине номер, то тоже не сможет оформить заказ, так как 8 будет убератся :-)
ну тоесть клиент пишит номер 80635809600, то уберёт 8 с начала и 8 в середине номера . :-) Правда таких телефонов с таким порядком мало
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #42 : 23.11.2012, 22:25:21 »
Alex1988 - если бы ясно изложил что тебе надо - я бы помог написать подмену...

Так по моей просьбе в API внедрили отложенную отправку..
Это для того если мы заказы обрабатываем вечером, чтобы sms покупателю приходила утром.
Минус есть - не учитывается часовой пояс клиента (Те Иркутск, Камчатка, Москва)
Но это отдельная песня

Итак.
чтобы сделать отложенную отправку идет в файл ByteHandApi.php
administrator/components/com_jshopping/controllers/
ижем функцию public function send($number, $msg, $msgCharset = 'utf-8', $send_after) {
и заменяем ее целиком на
Код
	public function send($number, $msg, $msgCharset = 'utf-8', $send_after) {
if (empty($number)) {
throw new Exception('Phone number must be set');
}

if (empty($msg)) {
throw new Exception('Message text must be specified');
}

if ($msgCharset !== 'utf-8') {
$msg = iconv($msgCharset, 'utf-8', $msg);
}

// Узнаем Час, если больше 20:00 и меньше 9:00 - откладываем отправку, чтобы не беспокоить покупателей поздними SMS.
$t_chas = date('H');
// Удаляем переменную $send_after
unset($send_after);
// Проверка времени
if ($t_chas >= 20 || $t_chas < 9)
{
// Изменяем день, отправляем на следующий, если вечер. Если ночь(более 00:00) - в этот же день
if ($t_chas >= 20)
{
$t_d_next = date('d') + 1;
}else
{
$t_d_next = date('d');
}
// Дата в формате GMT + 00:00 (те для Москвы в часовом поясе +4, нужно мыслено прибавить +4 в дате)
// Отправится не в 7 а в 11 по МСК
$send_after = date('Y')."-".date('m')."-".$t_d_next." 7:00:00";
}



$url = sprintf(
//'%s/%s?id=%d&key=%s&from=%s&to=%s&text=%s',
'%s/%s?id=%d&key=%s&from=%s&to=%s&text=%s&send_after=%s',
$this->url,
self::$SEND_METHOD_NAME,
$this->id,
$this->key,
$this->from,
urlencode($number),
urlencode($msg),
urlencode($send_after)
);

$response = $this->sendRequest($url);
$obj = $this->decodeResponse($response);

if ($obj->status != 0) {
throw new Exception($obj->description, $obj->status);
}

return $obj->description;
}

Кому пригодилось говорим спасибо ))
PS: Замену функции делал только в site.ru/administrator/components/com_jshopping/controllers/ByteHandApi.php
те site.ru/components/com_jshopping/controllers/ByteHandApi.php
не трогал, тк если клиент сделал заказ (не важно в какое время), то sms он должен получат (с номером заказа) сразу!
« Последнее редактирование: 23.11.2012, 22:44:44 от aLLex177 »
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #43 : 24.11.2012, 12:47:30 »
Постораюсь ясно обьяснить)))
У нас на Украине формат телефона такой: 38***1234567 (***-код оператора:096, 097, 066, 050, 063, 093, 099, 098, 068,095)
Раньше что бы позвонить, нужно было набрать 8***1234567. Сейчас поменяли, и теперь нужно так: ***1234567 (убрали 8-ку).

Код у меня стоит так:
 if($nnumfon == 10) $numfon = "38".$numfon;

Если клиент при оформлении заказа ввоодит свой телефон в формате 38***1234567 или ***1234567 то всё нормально, НО если же он вводит свой телефон в фомате 8***1234567 (по старой привычке), тогда выбивает ошибку.
*

nevigen

  • Moderator
  • 10431
  • 862 / 25
  • http://n*****n.com
Re: SMS оповещения для JoomShopping
« Ответ #44 : 24.11.2012, 13:27:39 »
проверка первой цифры, если 8 отбрасывать.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #45 : 24.11.2012, 18:20:22 »
а как правильно прописать проверку первой цифры?
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #46 : 24.11.2012, 20:33:19 »
nevigen  :D в  своем стиле )) Зачем писать, если Вы этим ничем не поможете!
Человек сам и написал что надо отбросить 8ку

Вот пожалуйста.
Код
// Если 11 символов те формат 80961234567
if($nnumfon == 11)
{
$pos = strpos($numfon, '8');
// Проверяем есть ли 8 на 0 позиции. нумерация идет с 0, те цифра 8 - первая цифра
if ($pos == 0)
{
// Образаем, те выводим начиная с 1 позиции (те со второй цифры, нумерация с 0 - не забываем)
$numfon = substr($numfon, 1);
}
}

Здесь $numfon  будет равно 0961234567
« Последнее редактирование: 24.11.2012, 20:42:20 от aLLex177 »
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #47 : 24.11.2012, 20:52:41 »
спасибо. сейчас попробую :-)
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #48 : 25.11.2012, 01:02:57 »
nevigen  :D в  своем стиле )) Зачем писать, если Вы этим ничем не поможете!
Человек сам и написал что надо отбросить 8ку

Вот пожалуйста.
Код
// Если 11 символов те формат 80961234567
if($nnumfon == 11)
{
$pos = strpos($numfon, '8');
// Проверяем есть ли 8 на 0 позиции. нумерация идет с 0, те цифра 8 - первая цифра
if ($pos == 0)
{
// Образаем, те выводим начиная с 1 позиции (те со второй цифры, нумерация с 0 - не забываем)
$numfon = substr($numfon, 1);
}
}

Здесь $numfon  будет равно 0961234567


Подскажи пожалуйста, Вставлять после или вместо  if($nnumfon == 10) $numfon = "38".$numfon;   ?
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #49 : 25.11.2012, 01:19:29 »
Что то у меня не получается(((((
Как правильно его тут внедрить?)


if (isset($order->mobil_phone) && $order->mobil_phone != "") {
   require_once 'SmsTransport.php';
   $numfon = $order->mobil_phone;
   $numfon = str_replace(" ", "", $numfon);
   $numfon = str_replace("+", "", $numfon);
   $numfon = str_replace("-", "", $numfon);
   $numfon = str_replace("(", "", $numfon);
   $numfon = str_replace(")", "", $numfon);
           $nnumfon = strlen($numfon);
   if($nnumfon == 10) $numfon = "38".$numfon;
   $text = "Спасибо за покупку!\n";
   $text .= "Заказ №".$order->order_number."\n";
   $text .= ": ".$order->order_total." ".$order->currency_code_iso;
   ByteHandApi::sendSms($numfon, $text);
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #50 : 26.11.2012, 00:47:35 »
if($nnumfon == 10) $numfon = "38".$numfon;
Вставить после этого
Код рабочий, я проверял ))  ^-^
80961234567 - 11 символов, и поэтому 38 не будет добавлено
Затем проверяется если 11 символов - и там уже просто 8 обрубает
« Последнее редактирование: 26.11.2012, 00:51:13 от aLLex177 »
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #51 : 26.11.2012, 15:13:09 »
так для отправки SMS нужен полный номер 380961234567
*

aLLex177

  • Захожу иногда
  • 109
  • 3 / 1
  • люблю рыбалку и JS )
Re: SMS оповещения для JoomShopping
« Ответ #52 : 01.12.2012, 18:07:45 »
if($nnumfon == 10) $numfon = "38".$numfon;
Вставить после этого
Код рабочий, я проверял ))  ^-^
80961234567 - 11 символов, и поэтому 38 не будет добавлено
Затем проверяется если 11 символов - и там уже просто 8 обрубает
Значит перед
if($nnumfon == 10) $numfon = "38".$numfon;
))
те из 11 символов, сделает 10 (удалит 8 ) - а затем уже прибавит 38
*

support bytehand

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #53 : 31.12.2012, 16:31:21 »
С Новым годом!
Желаем вам новых свершений в 2013 году, бодрости духа и крепкого здоровья!

С вами в 2013 году.
Команда SMS сервиса
« Последнее редактирование: 31.12.2012, 17:15:45 от nevigen »
*

alex-ustas

  • Захожу иногда
  • 126
  • 3 / 1
Re: SMS оповещения для JoomShopping
« Ответ #54 : 07.01.2013, 01:48:31 »
Значит перед
if($nnumfon == 10) $numfon = "38".$numfon;
))
те из 11 символов, сделает 10 (удалит 8 ) - а затем уже прибавит 38
тут хорошо расписано http://joomlaforum.ru/index.php/topic,198206.msg1198455.html#msg1198455
« Последнее редактирование: 07.01.2013, 01:53:00 от alex-ustas »
*

support bytehand

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #55 : 18.01.2013, 18:51:25 »
Добрый вечер.

Спасибо всем, кто помогал пользователям советом!
Поддержка от ByteHand на этой ветке снова в строю.
Прошу прощения за молчание, занимались апгрейдами сервиса. У нас много хороших новостей =)

Пишите, буду оперативно отвечать!
*

support bytehand

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #56 : 19.01.2013, 19:23:10 »
Поделитесь новостями (можно в личну)
тк на сайте их пока не замечаю ))
Помомо того что я просил сделать/доделать - вы доделали )

Да без проблем, вот парочка:
У нас в api теперь есть методы для работы с подписью - отправка на модерацию, смена и т.д. и в API теперь может откладывать отправку сообщений на определённую дату и время.
Вот! ))
*

support bytehand

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #57 : 20.01.2013, 16:53:32 »
И еще одна новость, которая может заинтересовать почтенную публику:
У нас теперь есть SMPP API
http://www.bytehand.com/smpp
« Последнее редактирование: 23.01.2013, 13:08:29 от support bytehand »
*

support bytehand

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #58 : 23.01.2013, 18:54:24 »
Свеженькие услуги, только что из разработки! )) Горячие ещё...

http://www.bytehand.com/api#send_multi - в один POST запрос можно отправить несколько сообщений нескольким адресатам
http://www.bytehand.com/api#notification_url - указываете адрес скрипта на своем сайте, который будет получать статусы сообщений и получаете их - "Доставлено", "Некорректный номер", "Отправлено", "Не доставлено, причина ..." и т.д. ! ))
*

alex1988

  • Захожу иногда
  • 148
  • 0 / 0
Re: SMS оповещения для JoomShopping
« Ответ #59 : 24.01.2013, 23:42:09 »
2. Написать в строке ввода первые цифры типа "+380"  (для Украины)

Кто то разобрался с этим пунктом?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

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

Автор kit2m2

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

Автор vgromov

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

Автор falur

Ответов: 53
Просмотров: 13397
Последний ответ 22.08.2022, 09:54:16
от kit2m2
[скачать] Выбор отделения Новой Почты для JoomShopping 4+

Автор v42bis

Ответов: 18
Просмотров: 3570
Последний ответ 06.07.2022, 07:17:06
от denxio