Создайте форму списка PHP-строки - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть этот код, который записывает внутри переменной $products строку названия продукта:

$products = '';
foreach($order->pad_products as $product) $products .= " $product->title";

Когда я печатаю $products внутри тела письма в формате HTML и отправляю письмо с помощью PHP, в этом случае я пишу $msg, я вижу название продукта в одной строке.

$msg = "
  <html>
    <head>
      <style type='text/css'></style>
    </head>
    <body>
      <h1>Sent!</h1>
      <p>$name thank you</p>
        $products
    </body>
  </html>";

Как мне составить список этих продуктов? и могу ли я удалить один из них?

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

ProcessWire (который вы пометили это) позволяет вам сделать это с pop():

<?php
echo "<ul>";
$products = $order->pad_products;
$products->pop(); 
foreach($products as $product) {
    echo "<li>" . $product->title . "</li>";
}
echo "</ul>";
?>

Другой вариант - подсчитать количество предметов и ограничить его одним. Вы должны иметь возможность использовать ->count(), но я не знаю, что такое pad_products, поэтому, если это не сработает, вы можете просто сделать count($order->pad_products)

<?php
echo "<ul>";
$limit = $order->pad_products->count() - 1;
foreach($order->pad_products("limit=$limit") as $product) {
    echo "<li>" . $product->title . "</li>";
}
echo "</ul>";
?>
0 голосов
/ 05 сентября 2018

Чтобы отобразить их в виде списка, вам просто нужно создать список, используя HTML:

<?php
echo "<ul>";
foreach($order->pad_products as $product) {
    echo "<li>" . $product->title . "</li>";
}
echo "</ul>";
?>

Альтернатива, применение к вашему текущему коду

<?php
$products = "";
foreach($order->pad_products as $product) {
    $products .= "<li>".$product->title."</li>";
}
$msg = "
<html>
<body>
  <h1>Sent!</h1>
    $products
</body>
</html>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...