1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Warning: Invalid argument supplied for foreach() i

Тема в разделе "Joomla", создана пользователем Drammm, 26 сен 2009.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. Drammm

    Drammm Постоялец

    Регистр.:
    16 ноя 2008
    Сообщения:
    120
    Симпатии:
    5
    Господа сегодня переназначал в панели хостинга домены, работоспособность сайта восстановил, но появилась ошибка.

    http://www.schoolotzyv.ru Только на главной странице

    Warning: Invalid argument supplied for foreach() in /www/rustrip/www/htdocs/components/com_content/views/frontpage/view.html.php on line 143


    В 143 строке этого файла написано:

    foreach ( $field_array as $key => $val) {

    Подскажите как убрать ошибку? А то я в пхп ноль.
    Заранее благодарю!
     
  2. F_ckT

    F_ckT Создатель

    Регистр.:
    18 сен 2008
    Сообщения:
    15
    Симпатии:
    1
    У меня почти такая же ошибка была. Только правда на локальном сервере. Просто баловался с плагинами и с параметрами для PHP. Это я к чему, может хостер чета намутил, хотя это звучит глупо. :)
    Ошибку убрал только тогда когда все настройки веб-сервера поставил по-умолчанию. Еще не успел разобраться какой параметр или плагин влияет на это.
     
  3. werbol

    werbol Постоялец

    Регистр.:
    20 июл 2007
    Сообщения:
    95
    Симпатии:
    40
    Странно у меня в этом файле
    с 136 по 150 :
    PHP:
        // Build the link and text of the readmore button
            
    if (($item->params->get('show_readmore') && @ $item->readmore) || $item->params->get('link_titles'))
            {
                
    // checks if the item is a public or registered/special item
                
    if ($item->access <= $user->get('aid'0))
                {
                    
    $item->readmore_link JRoute::_(ContentHelperRoute::getArticleRoute($item->slug$item->catslug$item->sectionid));
                    
    $item->readmore_register false;
                }
                else
                {
                    
    $item->readmore_link JRoute::_("index.php?option=com_user&view=login");
                    
    $item->readmore_register true;
                }
            }
    Joomla 1.5, как и на твоем сайте.
    Выложи сюда весь код этого файла, или мне в ICQ
    Итак Drammm заменил этот файл стандартным и у него все заработало, проблема связана с сео-патчем для joomla
    Кусок кода из файла:
    PHP:
    /*
       * JAW:
       * Display the configurable items - Check if the generator tag maybe
       * display; - Check if their are custom META fields present
       */
      
    $document->setTitle($title);
      
    /**
       * Read the custom META field
       */
      
    $xml_data = new JParameter ''JPATH_ROOT DS "metaconfig.xml");
      
    $field_array $xml_data->renderToArray();
      
    $exclude_list = array("html_title","meta_description""meta_keywords""robots" );
      foreach ( 
    $field_array as $key => $val) {
       if (!
    in_array($key$exclude_list)  ) {
        
    $value $params->def($key'' );
        if ( !empty(
    $value)) {
         
    $document->setMetaData$key$value);
        }
       }
      }
      
    parent::display($tpl);
    1) Проверьте наличие файла metaconfig.xml в корне сайта
    2) renderToArray() - помещает все параметры в один массив
    PHP:
    array   renderToArray  ([string $name 'params'], [ $group '_default'])
        * 
    string $nameИмя аргумента по умолчаниюесли файл настроек не найден в нашем случае аргумент $key 
        * 
    $group
     
    F_ckT нравится это.
  4. Drammm

    Drammm Постоялец

    Регистр.:
    16 ноя 2008
    Сообщения:
    120
    Симпатии:
    5
    Вот
    PHP:
    <?php
    /**
     * @version        $Id: view.html.php 10868 2008-08-30 07:22:26Z willebil $
     * @package        Joomla
     * @subpackage    Content
     * @copyright    Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
     * @license        GNU/GPL, see LICENSE.php
     * Joomla! is free software. This version may have been modified pursuant to the
     * GNU General Public License, and as distributed it includes or is derivative
     * of works licensed under the GNU General Public License or other free or open
     * source software licenses. See COPYRIGHT.php for copyright notices and
     * details.
     */

    // Check to ensure this file is included in Joomla!
    defined('_JEXEC') or die( 'Restricted access' );

    require_once (
    JPATH_COMPONENT.DS.'view.php');

    /**
     * Frontpage View class
     *
     * @static
     * @package        Joomla
     * @subpackage    Content
     * @since 1.5
     */
    class ContentViewFrontpage extends ContentView
    {
        function 
    display($tpl null)
        {
            global 
    $mainframe$option;

            
    // Initialize variables
            
    $user        =& JFactory::getUser();
            
    $document    =& JFactory::getDocument();

            
    // Request variables
            
    $id            JRequest::getVar('id'null'''int');
            
    $limit        JRequest::getVar('limit'5'''int');
            
    $limitstart    JRequest::getVar('limitstart'0'''int');

            
    // Get the page/component configuration
            
    $params = &$mainframe->getParams();

            
    // parameters
            
    $title            $params->def('page_title',    $mainframe->getCfg('sitename' ));
            
    $intro            $params->def('num_intro_articles',    4);
            
    $leading        $params->def('num_leading_articles',    1);
            
    $links            $params->def('num_links',             4);

            
    $descrip        $params->def('show_description',         1);
            
    $descrip_image    $params->def('show_description_image',1);

            
    $params->set('show_intro',     1);

            
    $limit $intro $leading $links;
            
    JRequest::setVar('limit', (int) $limit);

            
    //set data model
            
    $items =& $this->get('data' );
            
    $total =& $this->get('total');

            
    // Create a user access object for the user
            
    $access                = new stdClass();
            
    $access->canEdit    $user->authorize('com_content''edit''content''all');
            
    $access->canEditOwn    $user->authorize('com_content''edit''content''own');
            
    $access->canPublish    $user->authorize('com_content''publish''content''all');

            
    //add alternate feed link
            
    if($params->get('show_feed_link'1) == 1)
            {
                
    $link    '&format=feed&limitstart=';
                
    $attribs = array('type' => 'application/rss+xml''title' => 'RSS 2.0');
                
    $document->addHeadLink(JRoute::_($link.'&type=rss'), 'alternate''rel'$attribs);
                
    $attribs = array('type' => 'application/atom+xml''title' => 'Atom 1.0');
                
    $document->addHeadLink(JRoute::_($link.'&type=atom'), 'alternate''rel'$attribs);
            }

            
    $menus    = &JSite::getMenu();
            
    $menu    $menus->getActive();

            
    // because the application sets a default page title, we need to get it
            // right from the menu item itself
            
    if (is_object$menu )) {
                
    $menu_params = new JParameter$menu->params );
                if (!
    $menu_params->get'page_title')) {
                    
    $params->set('page_title',     htmlspecialchars_decode($mainframe->getCfg('sitename' )));
                }
            } else {
                
    $params->set('page_title',     htmlspecialchars_decode($mainframe->getCfg('sitename' )));
            }
            
    $document->setTitle$params->get'page_title' ) );

            
    jimport('joomla.html.pagination');
            
    $this->pagination = new JPagination($total$limitstart$limit $links);

            
    $this->assign('total',            $total);
            
    $params->def('description',     '') ;
            
    $this->assignRef('user',        $user);
            
    $this->assignRef('access',        $access);
            
    $this->assignRef('params',        $params);
            
    $this->assignRef('items',        $items);
        
    /*
             * JAW: setting the HTML title, check if the HTML title is set within
             * the PARAMs
             */
            
    if ( $params->def('html_title''') ){
                
    $title $params->def('html_title',     '') ;
            }
            
    // Set the page title to the menu name if title is empty
            
    if (empty ($title)) {
                
    $title $menu->name;
            }
            if ( 
    $params->def('meta_description'''))    {
                
    $document->setMetaData('meta_description'$params->def('meta_description'''));
            }
            if ( 
    $params->def('meta_keywords''') != "") {
                
    $document->setMetaData('keywords'$params->def('meta_keywords'''));
            }
            if ( 
    $params->def('robots''') != "") {
                
    $robots_tag $params->def('robots''');
                if ( 
    $robots_tag == "0" ){
                    
    $document->setMetaData('robots','');
                } else {
                    
    $document->setMetaData('robots',$robots_tag);
                }
            }
            
    /*
             * JAW:
             * Display the configurable items - Check if the generator tag maybe
             * display; - Check if their are custom META fields present
             */
            
    $document->setTitle($title);

            
    /**
             * Read the custom META field
             */
            
    $xml_data = new JParameter ''JPATH_ROOT DS "metaconfig.xml");
            
    $field_array $xml_data->renderToArray();

            
    $exclude_list = array("html_title","meta_description""meta_keywords""robots" );
            foreach ( 
    $field_array as $key => $val) {
                if (!
    in_array($key$exclude_list)  ) {
                    
    $value $params->def($key'' );
                    if ( !empty(
    $value)) {
                        
    $document->setMetaData$key$value);
                    }
                }
            }
            
    parent::display($tpl);
        }

        function &
    getItem($index 0, &$params)
        {
            global 
    $mainframe;

            
    // Initialize some variables
            
    $user        =& JFactory::getUser();
            
    $dispatcher    =& JDispatcher::getInstance();

            
    $SiteName    $mainframe->getCfg('sitename');

            
    $task        JRequest::getCmd('task');

            
    $linkOn        null;
            
    $linkText    null;

            
    $item =& $this->items[$index];
            
    $item->text $item->introtext;

            
    // Get the page/component configuration and article parameters
            
    $item->params = clone($params);
            
    $aparams = new JParameter($item->attribs);

            
    // Merge article parameters into the page configuration
            
    $item->params->merge($aparams);

            
    // Process the content preparation plugins
            
    JPluginHelper::importPlugin('content');
            
    $results $dispatcher->trigger('onPrepareContent', array (& $item, & $item->params0));

            
    // Build the link and text of the readmore button
            
    if (($item->params->get('show_readmore') && @ $item->readmore) || $item->params->get('link_titles'))
            {
                
    // checks if the item is a public or registered/special item
                
    if ($item->access <= $user->get('aid'0))
                {
                    
    $item->readmore_link JRoute::_(ContentHelperRoute::getArticleRoute($item->slug$item->catslug$item->sectionid));
                    
    $item->readmore_register false;
                }
                else
                {
                    
    $item->readmore_link JRoute::_("index.php?option=com_user&view=login");
                    
    $item->readmore_register true;
                }
            }

            
    $item->event = new stdClass();
            
    $results $dispatcher->trigger('onAfterDisplayTitle', array (& $item, & $item->params,0));
            
    $item->event->afterDisplayTitle trim(implode("\n"$results));

            
    $results $dispatcher->trigger('onBeforeDisplayContent', array (& $item, & $item->params0));
            
    $item->event->beforeDisplayContent trim(implode("\n"$results));

            
    $results $dispatcher->trigger('onAfterDisplayContent', array (& $item, & $item->params0));
            
    $item->event->afterDisplayContent trim(implode("\n"$results));

            return 
    $item;
        }
    }
    Добавлено через 27 минут
    залил файл с чистой джумлы ошибка пропала
     
    F_ckT нравится это.
Статус темы:
Закрыта.