it-swarm.com.de

Ich erhalte einen Fehler beim Scannen von Sucuri-Malware in Joomla für die Komponente Section Category ArticleList

Site-Fehler erkannt. Details: http://sucuri.net/malware/php-error-fatal-error?v6
Fataler Fehler: Aufruf einer Member-Funktion get () für ein Nicht-Objekt in /home/project/public_html/components/com_sectioncategoryarticlelist/views/sectioncategoryarticlelist/view.html.php online 28

Kann mir jemand helfen, es zu lösen?

<?php
/**
 * @Project    SectionCategoryArticleList
 * @author     Mathias Hortig
 * @package    SectionCategoryArticleList
 * @copyright  Copyright (C) 2011-2012 tuts4you.de . All rights reserved.
 * @license   http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
*/

// no direct access

defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.application.component.view');


class SectionCategoryArticleListViewSectionCategoryArticleList extends JViewLegacy
{
    function display($tpl = null)
    {
        $document = &JFactory::getDocument();
        $document->addStyleSheet(JURI::root(true).'/components/com_sectioncategoryarticlelist/css/sectioncategoryarticlelist.css');
    $document->addScript(JURI::root(true).'/components/com_sectioncategoryarticlelist/js/sectioncategoryarticlelisttoggle.js');
        $model = &$this->getModel();
        $menu = JSite::getMenu()->getActive();
        $params = $menu->params;

        $this->assignRef( 'HTML', $model->GetCategories($params->get('linkcategories',1), $params->get('usetoggle',0), $params->get('defaulttoggle',0)));
        $this->assignRef( 'pretext', $params->get('pretext'));
        $this->assignRef( 'posttext', $params->get('posttext'));
        $this->assignRef( 'headline', $params->get('headline'));

        parent::display($tpl);
    }
}
4
Vishal

Sieht so aus, als würde die Variable $ params nicht gesetzt.

Dies kann verschiedene Gründe haben, unter anderem, dass in der aktuellen URL kein Menüelement festgelegt ist.

Wie @lodder bemerkte, ist dies alter Code. Der Mechanismus, der den statischen Aufruf von getMenu aus der Site-Anwendung beinhaltet, war vor Jahren veraltet. niemand sollte es mehr benutzen. (Ich kann mich nicht genau erinnern, wann es passiert ist, aber ich glaube, es ist fast ein Jahrzehnt her. Ich glaube, es wurde sogar veraltet, bevor dieser Code geschrieben war, da das Copyright-Datum angegeben wurde.)

Insgesamt wäre mein Rat zuerst, diese Sache auf etwas aktuelleres zu aktualisieren, und wenn das nicht möglich ist, schauen Sie, was die

JSite::getMenu()->getActive()

kehrt zurück. Ich vermute, das ist der Kern der Fehlermeldung.

1
Arlen

Hinter Ihrem Link sind keine Details angegeben (Fehler 404). Ich sehe nur eine alte Komponente PHP-Fehler, vielleicht wegen der Joomla 1.5-Code im Inneren. Schauen Sie sich die Joomla-Dokumentation an.

Wahrscheinlich sollte der Entwickler seine Komponente erneut überprüfen.

0
PCo