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'];
Надеюсь, это поможет кому-то!