что за ошибка [РЕШЕНО]

Главные вкладки

Аватар пользователя vsavelyev vsavelyev 2 июля 2012 в 21:22

что за ошибка и как ее исправить?

Notice: Undefined variable: rows в функции eval() (строка 3 в файле /home/w/wsavel/линк/public_html/modules/php/php.module(80) : eval()'d code).
Warning: Invalid argument supplied for foreach() в функции eval() (строка 3 в файле /home/w/wsavel/линк/public_html/modules/php/php.module(80) : eval()'d code).

возникает во вьюшке которая аккумулирует материалы, помеченные флагом

Комментарии

Аватар пользователя sg85 sg85 2 июля 2012 в 21:24

Дык тут же по английски написано - не определенная переменная в строке 3, и неверный аргумент(т.е. по сути не массив) тоже в строке 3, типа 2 ошибки в одном слове?

Аватар пользователя vsavelyev vsavelyev 2 июля 2012 в 21:33

sg85 wrote:
Дык тут же по английски написано - не определенная переменная в строке 3, и неверный аргумент(т.е. по сути не массив) тоже в строке 3, типа 2 ошибки в одном слове?

есть идеи как поправить? а то боюсь методом научного тыка дров наломать так что потом не разгребу..

Аватар пользователя vsavelyev vsavelyev 2 июля 2012 в 22:10

sg85 wrote:
без лицезрения этого куска кода могу только подсказать как можно вызвать эту ошибку.

function php_eval($code) {
global $theme_path, $theme_info, $conf;

// Store current theme path.
$old_theme_path = $theme_path;

// Restore theme_path to the theme, as long as php_eval() executes,
// so code evaluated will not see the caller module as the current theme.
// If theme info is not initialized get the path from theme_default.
if (!isset($theme_info)) {
$theme_path = drupal_get_path('theme', $conf['theme_default']);
}
else {
$theme_path = dirname($theme_info->filename);
}

ob_start();
print eval('?>' . $code);
$output = ob_get_contents();
ob_end_clean();

// Recover original theme path.
$theme_path = $old_theme_path;

return $output;

Аватар пользователя vsavelyev vsavelyev 2 июля 2012 в 22:52

блин, я чес говоря вообще не догоняю что нужно сделать) у меня во вьюшке выводятся только названия нод, поле - Цена, и флаг - убрать из корзины.. ты эти переменные имеешь ввиду?

Аватар пользователя sg85 sg85 2 июля 2012 в 22:59

Да не, ошибка возникает в твоем модуле в функции eval, суть ошибки в том, что в этот самый eval попадает код с неизвестной переменной, кроме того, идет попытка использовать данные из этой переменной, которые по сути не существуют, и вот на этом трогательном моменте и вываливается ошибка, т.е. нельзя сделать foreach($row as $item) когда $row === null или false или чему оно там равно в конкретном случае.