Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Call to undefined method

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Call to undefined method

    Hi,

    ich bekomme die Fehlermeldung "Call to undefined method Call to undefined method ArticleSitemap::getlnktypes() in Sitemap.php on line 131"

    Damit ihr eure Glaskugel nicht anwerfen müßt... hier der Code, der drum um besteht.

    suchmaschine.php
    PHP-Code:
    include DIR_ROOT '/Sitemap.php';

    unlink(DIR_ROOT.'/sitemap.xml');
    $Sitemap = new Export_Sitemap();

    file_put_contents(NMT_ROOT.'/sitemap.xml'html_entity_decode($output), FILE_APPEND);
    ?> 
    Sitemap.php
    PHP-Code:
    class ArticleSitemap
    {
      const 
    LNK_DETAIL 'detailansicht';
      const 
    LNK_SAMPLE 'muster';
      const 
    LNK_CALC 'kalkulation';


      static private 
    $lnkTypes = array(LNK_DETAILLNK_SAMPLELNK_CALC);
      static private 
    $lnkDist = array(
        
    LNK_DETAIL  => 'artikel/details',
        
    LNK_SAMPLE  => 'artikel/muster',
        
    LNK_CALC    => 'artikel/kalkulator',
      );
      
      
     public static function 
    getUrlSitemap($article)
      {      
        
    $url = array();
        
    $url[] = strtolower(clearurlSitemap($kat_name)).'/';
        
    $url[] = rawurlencode(clearurlSitemap($article->titel));
      }


        public static function 
    clearurlSitemap($value)
        {
            
    $value strtolower($value);          

            
    $suchmuster '/[^A-Z0-9]/i';
            
    $ersetzung '_';
            
    $value preg_replace($suchmuster$ersetzung$value); 

            return 
    $value;
        }

    }


    class 
    Export_Sitemap
    {
        
    $records NMT::sqlObjects($sql "
            SELECT DISTINCT T2.kategorie, T1.titel, T3.kategorie
            FROM  artikel T1, `artikel-kat` T2, kategorie T3
            WHERE  T1.id = T2.artikel AND T2.kategorie = T3.id
        "
    );
        
        foreach (
    $records as $navItem)
        {
          foreach (
    ArticleSitemap::getLnkTypes() as $lnkType)
                {
              
    $navItem->url 'http://' $_SERVER['SERVER_NAME'] . getUrlSitemap2($navItem$lnkType);
        
              
    $el     $this->xml->createElement('url');
              
    $elLoc  $this->xml->createElement('loc'$navItem->url);
              
    $elPrio $this->xml->createElement('priority''0.9');
              
    $elFreq $this->xml->createElement('changefreq''weekly');
        
              
    $this->root->appendChild($el);
              
    $el->appendChild($elLoc);
              
    $el->appendChild($elPrio);
              
    $el->appendChild($elFreq);
                }
        }
      }

      public function 
    __toString()
      {
        return 
    $this->xml->saveXml();
      }

    Zeile 131 ist im übrigen diese hier:
    foreach (ArticleSitemap::getLnkTypes() as $lnkType)

    Weiß einer, wo PHP hier das Problem hat ?


  • #2
    Wie wäre es, wenn du die Fehlermeldung auch liest und in Zeile 131 nachsiehst? getLnkTypes() ist nirgendwo deklariert, nur $lnkTypes und das auch noch unter falscher Verwendung von Konstanten. Wo hast du den Code her?
    @fschmengler - @fschmengler - @schmengler
    PHP Blog - Magento Entwicklung - CSS Ribbon Generator

    Kommentar


    • #3
      Also die Fehlermeldung sagt ja ganz deutlich aus das die Methode da nicht existiert und anhand des Codes da den du gepostet hast sagt sie genau das richtige, dass heist die Methode

      PHP-Code:
      getLnkTypes() 
      existiert in keiner der beiden Klassen.
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      http://www.lit-web.de

      Kommentar

      Lädt...
      X