У меня возникла проблема, когда у меня есть класс bm_products_filter
, который я не могу получить, чтобы увидеть переменную из моего файла index.php.Как получить доступ к глобальной переменной в другом классе
У меня есть 2 файла: index.php и bm_products_filters.php
У меня есть запрос в index.php, который я хочу повторить в bm_products_filters.php
(есть некоторые функции базы данных здесь (они работают, как я правильно может повторить переменную в index.php)
$product_count .= "SELECT COUNT(p.products_id) as total
from
" . TABLE_PRODUCTS . " p
left join " . TABLE_SPECIALS . " s
on p.products_id = s.products_id
left join " . TABLE_MANUFACTURERS . " m
on p.manufacturers_id = m.manufacturers_id
join " . TABLE_PRODUCTS_DESCRIPTION . " pd
on p.products_id = pd.products_id
join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
on p.products_id = p2c.products_id
where
p.products_status = '1'
and pd.language_id = '" . (int) $languages_id . "'
and p2c.categories_id = '" . (int)$current_category_id . "'";
$product_count_query = tep_db_query($product_count);
$product_count_tally = tep_db_fetch_array($product_count_query);
global $test_me;
$test_me = $product_count_tally['total'];
?>
переменная Я пытаюсь эхо $test_me
.
Класс bm_products_filter
называется (косвенно я предполагаю), из index.php, как это:
<?php echo $oscTemplate->getBlocks('boxes_column_left'); ?>
getBlocks
функция просматривает все PHP файлы в папке «коробки» и находит те, которые в левой колонке (который показывает bm_products_filters.php).
Теперь вот где я совершенно не прав, но я не знаю, как это сделать.
В bm_products_filters.php Я просто пытаюсь сделать:
echo $test_me;
, но я не подвожу ничего. Я думал, что объявление global
может работать, но это не сработало. Я думаю, мне нужно как-то назвать это ->
Я действительно не очень хорошо разбираюсь в области.
Надеюсь, я дал здесь достаточно информации? Дайте мне знать, если вам нужно больше.
UPDATE:
это то, что я пытался сделать, но это не работает:
//index.php
$product_count .= "SELECT COUNT(p.products_id) as total
from
" . TABLE_PRODUCTS . " p
left join " . TABLE_SPECIALS . " s
on p.products_id = s.products_id
left join " . TABLE_MANUFACTURERS . " m
on p.manufacturers_id = m.manufacturers_id
join " . TABLE_PRODUCTS_DESCRIPTION . " pd
on p.products_id = pd.products_id
join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
on p.products_id = p2c.products_id
where
p.products_status = '1'
and pd.language_id = '" . (int) $languages_id . "'
and p2c.categories_id = '" . (int)$current_category_id . "'";
$product_count_query = tep_db_query($product_count);
$product_count_tally = tep_db_fetch_array($product_count_query);
$test_me = $product_count_tally['total'];
function product_filter_count() {
global $test_me;
return $test_me;
}
//bm_products_filter.php
echo product_filter_count();
Я получаю вызов неопределенной ошибки функции. если я повторяю функцию в index.php, она работает. Почему это не видно из другой функции?
Вы включаете index.php в bm_products_filter.php? вот что мне кажется. если вы поместите require_once index.php в начало вашего другого файла, он должен работать. –