Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вывести название товара в текстовую строку (нужна помощь php-спецов)


Jay

Recommended Posts

Добрый день, мягко говоря "очень не силен" в php, но очень хочу реализовать такую штуку:

В телеграмм бот отправляется уведомление о заказе. С этим все хорошо, работает, отправляет. Передаю инфу о доставке, способе оплаты, контакты и т.д. . Но никак не могу догнать как сделать чтобы еще передавать перечень товаров (названий). 

Запросы на отправку сообщение в телеграм делаю в файле order.php, передаю строку вида (пример):

$zakazN = $order_info['order_id'];
$tel = $order_info['telephone'];

$text = 'Уведомление о заказе '.$zakazN.' <b>Телефон</b>'.$tel.' Не забудь перезвонить'; 

Очень хочу передавать еще перечень названий товаров, которые заказали. Понимаю что это массив. Как бы сделать строку с перечнем товаров, сделать ее какой-то переменной, которую можно добавить с сообщение ($text). Буду очень признателен за помощь. 

Думаю нужно в этой функции что-то придумать, но не хватает знаний( 

 

if (isset($data['products'])) {
			foreach ($data['products'] as $product) {
				$tovary = $product['name']; //вот тут нужно какой придумать переменную, которая в итоге будет строкой с перечнем товаров.
			}
		}

 

Змінено користувачем Jay
Надіслати
Поділитися на інших сайтах


9 часов назад, Jay сказал:

Добрый день, мягко говоря "очень не силен" в php, но очень хочу реализовать такую штуку:

В телеграмм бот отправляется уведомление о заказе. С этим все хорошо, работает, отправляет. Передаю инфу о доставке, способе оплаты, контакты и т.д. . Но никак не могу догнать как сделать чтобы еще передавать перечень товаров (названий). 

Запросы на отправку сообщение в телеграм делаю в файле order.php, передаю строку вида (пример):


$zakazN = $order_info['order_id'];
$tel = $order_info['telephone'];

$text = 'Уведомление о заказе '.$zakazN.' <b>Телефон</b>'.$tel.' Не забудь перезвонить'; 

Очень хочу передавать еще перечень названий товаров, которые заказали. Понимаю что это массив. Как бы сделать строку с перечнем товаров, сделать ее какой-то переменной, которую можно добавить с сообщение ($text). Буду очень признателен за помощь. 

Думаю нужно в этой функции что-то придумать, но не хватает знаний( 

 


if (isset($data['products'])) {
			foreach ($data['products'] as $product) {
				$tovary = $product['name']; //вот тут нужно какой придумать переменную, которая в итоге будет строкой с перечнем товаров.
			}
		}

 

У Вас уже есть переменная $tovary , в которую с помощью конкантенации получите названия товаров.

  • +1 2
Надіслати
Поділитися на інших сайтах


32 минуты назад, searchingman сказал:

У Вас уже есть переменная $tovary , в которую с помощью конкантенации получите названия товаров.

Буду очень признателен, если подскажете как это сделать) 

Пытаюсь так, но не получается...(

 

if (isset($data['products'])) {
			foreach ($data['products'] as $product) {
				$tovary  .= ' ' . $product['name'];
			}
			return $tovary;
		}

 

Надіслати
Поділитися на інших сайтах


if (isset($data['products'])) {
			foreach ($data['products'] as $product) {
				$tovary  .= ' ' . $product['name'];
			}
		}
$text = 'Товары: '.$tovary;

Все упростил, чтоб было понятнее. $text - передаю в сообщении. Приходит только "Товары:"

Подскажите, что я делаю не так? :(

Надіслати
Поділитися на інших сайтах


8 минут назад, AlexDW сказал:

проверяйте как у вас массив товаров формируется

Не совсем понял, как-то не правильно формируется? Вы про

($data['products'] as $product)

?

Надіслати
Поділитися на інших сайтах


$text .= 'Товары: '.$tovary;

вот так должно быть, тогда будет все приходить.

 

А товары лучше так сделать, чтобы каждый товар был с новой строки.

$tovary  .= ' ' . $product['name'] . PHP_EOL;

 

Надіслати
Поділитися на інших сайтах

52 минуты назад, AlexDW сказал:

про то, как данные изначально берутся для $data['products']

Вы правы, массив пустой получается...

Прописал:

if (isset($data['products'])) {
			foreach ($data['products'] as $product) {
				$tovary  .= ' ' . $product['name'];
			}	
		}
	else $tovary='товаров нет';

$text = 'Товары: '.$tovary;

Получил сообщение: "Товары: товаров нет"

 

Тогда вопрос, как сформировать массив с названиями товаров?)

Змінено користувачем Jay
Надіслати
Поділитися на інших сайтах


18 минут назад, Jay сказал:

Может еще кто подскажет как вставить кастомное поле из simla?)

неужели Ваше время стоит меньше 750р? 

Купили бы модуль и забыли о своих проблемах и тем более не тратили бы время на это все.

 

Я не агитирую покупать мой модуль и не настаиваю, просто реально Вы потратили кучу времени + еще потратите + тратите время сообщество на решение той проблемы которая уже решена давно.

Завтра захотите получать еще какие-то данные из заказа, снова полезете в код + снова начнете просить помощи?

Как сказал один мой заказчик "время это единственный не восполняемый ресурс", поэтому одумайтесь пока не поздно;-)

  • +1 1
Надіслати
Поділитися на інших сайтах

4 часа назад, Bn174uk сказал:

неужели Ваше время стоит меньше 750р? 

Купили бы модуль и забыли о своих проблемах и тем более не тратили бы время на это все.

 

Тут дело не в цене) Я скорее всего вернусь и куплю у вас модуль, но все же хотелось самому разобраться немного, в образовательных целях. 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.