Ошибка в модуле flyout-mega-menu-v3. Warning: Invalid argument supplied for foreach() in /home/zjvovvwn/public_html/moto/catalog/controller/module/flyoutmenumodule.php on line 911 Как побороть ее ?
Добавь перед: $this->config->get('flyoutmenumodule_added_menus'); эти строки: $this->log->write('added_menu_conf:' . print_r($this->config->get('flyoutmenumodule_added_menus'),1)); и отпиши, что в журнале. Попробуй переустанови модуль.
пустой массив, оптимальное решение, это проставить заглушку преед: Код: foreach ($added_menus as $menu) { вот так: Код: if (isset($added_menus)) { и соотв. в конце, закрыть: Код: } Но проблема в том, что в админке не добавлены категории, или так должно быть ?
Аналогичная проблема с мудулем категорий у меня, вродь попробовал поставить заглушку как советовал Baco, собственно вот содержимое контроллера: Сам текст предупреждения: Warning: Invalid argument supplied for foreach() in ......../catalog/view/theme/journal2/template/module/category.tpl on line 5 Код шаблона (тоже пытался ставить заглушку) Пока предупреждение не вижу, но оно "блуждающее" какое-то, иногда появляется, а в основном норм все.
Потому что ошибка в данных, а не в коде (в коде просто недоработка). Надо вот эту строку поправить: PHP: <?php if (isset($categories)) { ?> Такой вариант решит все проблемы: PHP: <?php if (isset($categories) && is_array($categories) && !empty($categories)) { ?>
помогло було PHP: foreach ($added_menus as $menu) { $menu_preffix = 'menu'.$menu.'_'; if ($this->config->get($menu_preffix.'flyoutmenu_settings_status')) { $menus[] = array ( 'class' => ' .flyoutmenu_'.$menu, 'flyout_settings' => $this->config->get($menu_preffix.'flyoutmenu_settings') ); } } стало PHP: $added_menus = $this->config->get('flyoutmenumodule_added_menus'); if (isset($added_menus)) { foreach ($added_menus as $menu) { $menu_preffix = 'menu'.$menu.'_';} if ($this->config->get($menu_preffix.'flyoutmenu_settings_status')) { $menus[] = array ( 'class' => ' .flyoutmenu_'.$menu, 'flyout_settings' => $this->config->get($menu_preffix.'flyoutmenu_settings') ); } }
Помогите, пожалуйста. В журнале ошибок вот такое: Код: 2017-11-16 9:11:20 - PHP Warning: Invalid argument supplied for foreach() in /home/dluqxiwn/public_html/admin/controller/extension/module/settingnewstore.php on line 283 2017-11-16 9:15:55 - PHP Warning: Invalid argument supplied for foreach() in /home/dluqxiwn/public_html/admin/controller/extension/module/settingnewstore.php on line 283 2017-11-16 9:18:13 - PHP Warning: Invalid argument supplied for foreach() in /home/dluqxiwn/public_html/admin/controller/extension/module/settingnewstore.php on line 283 2017-11-21 23:45:24 - PHP Notice: Undefined index: newstore_data in /home/dluqxiwn/public_html/admin/controller/extension/module/settingnewstore.php on line 215 2017-11-21 23:45:24 - PHP Warning: Invalid argument supplied for foreach() in /home/dluqxiwn/public_html/admin/model/extension/module/settingnewstore.php on line 54 2017-11-21 23:45:28 - PHP Notice: Undefined index: newstore_data in /home/dluqxiwn/public_html/admin/controller/extension/module/settingnewstore.php on line 215 2017-11-21 23:45:28 - PHP Warning: Invalid argument supplied for foreach() in /home/dluqxiwn/public_html/admin/model/extension/module/settingnewstore.php on line 54 Когда выскакивает ошибка, настройки шаблона все сбрасываются, как исправить? Вот что в 54-ой строке: Код: 54. foreach ($data as $key => $value) {
Это? Код: foreach ($data as $key => $value) { if (!is_array($value)) { $this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '0', `code` = '" . $this->db->escape($code) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape($value) . "'"); } else { if (VERSION < 2.1) { $this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '0', `code` = '" . $this->db->escape($code) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(serialize($value)) . "', serialized = '1'"); } else { $this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '0', `code` = '" . $this->db->escape($code) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(json_encode($value)) . "', serialized = '1'"); } } }