Петр

Петр

С нами с 26 ноября 2021; Место в рейтинге пользователей: #5300
Петр
03 декабря 2021, 08:49
0
Спасибо большое! Все заработало!
Петр
26 ноября 2021, 05:25
0
Добрый день. Подскажите пожалуйста (сам совсем не разбираюсь). Настроил уведомления о заказе в телеграмм. приходит в таком формате:
Новый заказ #2111/95
на сумму 560 р.
Оплата: 1
— 1. Товар (1 шт.)2. Товар (1 шт.)
— Телефон: 000000000000
Улица: xxxxxxxxxx
Дом: xxxxxx
Квартира: xxxxxx
Комментарий:
1. Способ оплаты пишет не как надо (например оплата картой), а id.
2. И как добавить что бы показывал вариант доставки.
Вот так у меня:
<?php
if($modx->event->name != 'msOnCreateOrder') return;

$token = $modx->getOption('mstelegram_token', null, false);
$recipients = explode(',', $modx->getOption('mstelegram_recipients', null, ''));

$contacts = $modx->getObject('msOrderAddress', array('id'=> $msOrder->address));
$_products = $msOrder->getMany('Products');

// Список товаров в заказе
$i = 0;
$products = '';
foreach ($_products as $product) {
    $i++;
    $products .= "{$i}. {$product->name} ({$product->count} шт.)";
}

// Текст сообщения
$message = "
Новый заказ #{$msOrder->num}
на сумму {$msOrder->cost} р.
Оплата: {$msOrder->payment}
-----
{$products}
-----
Телефон: {$contacts->phone}
Улица: {$contacts->street}
Дом: {$contacts->building}
Квартира: {$contacts->room}
Комментарий: {$contacts->comment}";

$message = urlencode($message);
foreach($recipients as $id){
	$id = trim($id);
	if(!$id) continue;
    $url = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$id}&text={$message}";
    $ch = curl_init();
    curl_setopt_array($ch, array(CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true));
    $result = curl_exec($ch);
    curl_close($ch);
}