Замена строк, извлеченных из базы данных - Laravel & Shopify - PullRequest
0 голосов
/ 05 ноября 2018

Я создал и зарегистрировал мои интернет-хуки Shopify, которые работают отлично. Когда клиент размещает заказ, ему отправляется смс-уведомление.

Содержимое уведомления смс сохраняется в базе данных и извлекается при срабатывании веб-ловушки для отправки смс. В базе данных содержимое смс-уведомления сохраняется как «Спасибо за размещение заказа% order_number%» .

Когда смс отправляется клиенту, строку %order_number% следует заменить на фактический номер заказа, который будет иметь вид "Спасибо за размещение заказа 13" .

Это то, что у меня сейчас

Контроллер

public function orderPlaceWebhook(Request $request)
{

     //get order details
     $order = $request->getContent();   
     $order = json_decode($order, true);
     $order_number = $order['number'];

     //fetched sms notification template from db
     $Message = SMS::where('site', Auth::user()->site);
    //message content saved is "Thank you for placing order %order_number%"

     //send sms
     $baseurl = "https://apps.domain.com/smsapi";
     $query = "?key=$keyto=$number&msg=$Message&sender_id=$sender";
     $final_uri = $baseurl.$query;
     $response = file_get_contents($final_uri);
     header ("Content-Type:text/xml");
}

Как заменить строку %order_number% в $Message на значение, полученное из $order_number?

PS: Спасибо заранее. Начинающий с Laravel

1 Ответ

0 голосов
/ 05 ноября 2018

Есть ли особая причина, по которой вы храните шаблон в БД? Не лучше ли использовать файл перевода, и позже, если вам потребуется поддержка разных языков, это будет намного проще.

так что вы можете иметь в файле перевода сообщение вроде:

'sms_template' => 'Thank you for placing order :order'

в Laravel, затем используйте

trans('MESSAGE_FILE_NAME.sms_template', ['order' => $order_number]);

замените MESSAGE_FILE_NAME вашим файлом перевода.

Если вам все еще нужно использовать простой старый способ PHP, сделайте следующее:

str_replace("%order_number%", $order_number, $Message);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...