フロントページの CS-Cart 管理画面でのみ、次のエラーが表示されます。
警告: app\controllers\backend\index.php の 255 行目の foreach() に無効な引数が指定されました
この関数のコードは次のとおりです。
function fn_get_orders_taxes_subtotal($orders, $params)
{
$subtotal = 0;
if (!empty($orders)) {
$_oids = array();
foreach ($orders as $order) {
if (in_array($order['status'], $params['paid_statuses'])) {
$oids[] = $order['order_id'];
}
}
if (empty($oids)) {
return $subtotal;
}
$taxes = db_get_fields('SELECT data FROM ?:order_data WHERE order_id IN (?a) AND type = ?s', $oids, 'T');
if (!empty($taxes)) {
foreach ($taxes as $tax) {
$tax = unserialize($tax);
foreach ($tax as $id => $tax_data) {
$subtotal += !empty($tax_data['tax_subtotal']) ? $tax_data['tax_subtotal'] : 0;
}
}
}
}
return $subtotal;
}
問題の特定の行は次のとおりです。
foreach ($tax as $id => $tax_data) {
ここで何が起こっているのでしょうか?奇妙なことに、テンプレートのデバッグがオンになっている場合、これは表示されません。