Задать вопрос
@Windramix

Как добавить у каждого товара цену в телеграмм отправке?

Привет. подскажите как добавить цену у каждого товара по мимо общей стоймости.

сейчас отправка идёт такая

Новый заказ #2402/2
на сумму 7500 р.
-----
1. Ель колючая Спринг Санрайз (1 шт.) (тут должна быть цена товара если она есть, если нету пишет цена не указана)
2. Сосна румелийская (1 шт.) (тут должна быть цена товара если она есть, если нету пишет цена не указана)

-----
Телефон:
-----
Имя: Алена

<?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} шт.) \n";
}

// Текст сообщения
$message = "
Новый заказ #{$msOrder->num}
на сумму {$msOrder->cost} р.
-----
{$products}
-----
Телефон: {$contacts->phone}
-----
Имя: {$contacts->receiver}

";


$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);
}
  • Вопрос задан
  • 49 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Графический дизайнер PRO
    15 месяцев
    Далее
  • Нетология
    Фронтенд-разработчик
    11 месяцев
    Далее
Решения вопроса 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
foreach ($_products as $product) {
    $i++;
    $products .= "{$i}. {$product->name} ({$product->count} шт.) ({$product->price}) \n";
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы