Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


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']; //вот тут нужно какой придумать переменную, которая в итоге будет строкой с перечнем товаров.
			}
		}

 

Edited by Jay
Link to post
Share on other sites

Просто возьмите готовый модуль в котором это уже все есть.

 

Link to post
Share on other sites

3 минуты назад, Bn174uk сказал:

Просто возьмите готовый модуль в котором это уже все есть.

 

Спасибо, видел, но так не интересно) хочется самому...

Link to post
Share on other sites

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 1
Link to post
Share on other sites

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

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

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

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

 

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

 

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

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

?

Link to post
Share on other sites

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

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

 

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

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

 

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

Прописал:

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

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

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

 

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

Edited by Jay
Link to post
Share on other sites

Всем спасибо, натолкнули на мысль, вроде разобрался) 

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

Link to post
Share on other sites

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

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

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

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

 

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

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

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

  • +1 2
Link to post
Share on other sites

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

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

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

 

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.