orderTotal и orderId внутри tpl_checkout_success_default - zen-cart

Есть идеи, как получить orderTotal и orderId внутри tpl_checkout_success_default для целей отслеживания конверсий?

Пока что похоже, что идентификатор заказа можно получить с помощью этой переменной $zv_orders_id, но как получить сумму заказа?

будет ли работать этот код:

$orders_query = "SELECT * FROM zen_orders WHERE orders_id = " . $zv_orders_id ." LIMIT 1"; $orders = $db->Execute($orders_query); $order_total = $orders->fields['order_total'];

большое спасибо, ура

2 ответа

Решение

Смотреть в /includes/modules/pages/checkout_success/header_php.php

там вы увидите запросы, уже выполняемые zencart сделать с вашим заказом, и я говорю, что он уже вытаскивает информацию, которую вы хотите.

так что вам просто нужно установить указанные данные вам нужно переменную, которую вы можете затем использовать в вашем tpl_checkout_success_default.php файл.

например, что-то вроде $customer_has_gv_balance, вы увидите, где он установлен в файле слушателя, а затем используется в файле шаблона

вот что я нашел в order.php что бы почти сделать это как есть:

$order_total_query = "select text, value
                             from " . TABLE_ORDERS_TOTAL . "
                             where orders_id = '" . (int)$order_id . "'
                             and class = 'ot_total'";

$order_total = $db->Execute($order_total_query);

Для простого кода отслеживания, подобного тому, который используется для сайта сравнения покупок, я использовал следующее для идентификатора заказа и суммы заказа. Используйте их на странице tpl_checkout_success.php

Номер заказа:

echo $zv_orders_id;

Используйте этот оператор выбора:

$to_send_sql = 'select REPLACE (text,"$","") text from orders_total where orders_id = '.$zv_orders_id.' and class = "ot_subtotal"';

$to_send= $db->Execute($to_send_sql);

Сумма заказа:

echo $to_send->fields['text'];

Надеюсь, это поможет кому-то!

Другие вопросы по тегам