отображение дополнительного поля, добавленного в базу данных в opencart на странице заказа - PullRequest
0 голосов
/ 25 февраля 2020

Я добавил дополнительное поле в таблицу oc_order в базе данных Opencart.

Однако, когда я пытаюсь проверить, существует ли он или отображает данные в этом поле, я ничего не вижу.

Я обновил файл catalog / view / theme / account / order_info.twig следующим образом, чтобы проверить как отображение нового поля, так и использование оператора if ...

{{ newfield }} {% if newfield == true %}
                WORKS
                {% else %}
                NOT WORKING
            {% endif %}

У меня есть '1 'вставка в базу данных, но я всегда отображаю' НЕ РАБОТАЮЩИЙ '.

Любая помощь очень ценится.

Ответы [ 2 ]

2 голосов
/ 25 февраля 2020

для извлечения данных из БД и отображения их в шаблоне вы должны сначала. В соответствующем файле контроллера извлечь данные из БД

$query = "SELECT newfield FROM " . DB_PREFIX . "table_name ";

Чем вы должны объявить их в том же файле контроллера

if ($query->rows) {
    $data['newfield'] = $query->row['newfield'];
} else {
 $data['newfield'] = '';
}

Теперь вы можете получить его в своем шаблоне

{% if newfield %}
  WORKS {{ newfield }}
{% else %}
  NOT WORKING
{% endif %}
0 голосов
/ 25 февраля 2020

Это не правда, верно? ;)

Вы должны либо использовать {% if newfield %}, так как это не пустое значение, либо можете использовать определенную функцию.

Сравнение веток работает немного иначе, чем PHP версии. Вы также можете проверить с помощью {{dump(newfield) }}, что именно у вас здесь есть, и тогда вы можете сделать ваше условие более точным c, но я предполагаю, что простой формы, как указано выше, достаточно, чтобы она была меньше флага.

Кстати, каков ваш вывод {{ newfield }}? Если он пуст, это значит, что вы не можете правильно передать его в файл шаблона.

...