PHP

  • Bewertung lässt sich nicht speichern

    Das Problem?

    In einer Joomla-Installation lassen sich immer mal wieder die Bewertungen nicht abspeichern. Mal funktioniert es, mal kommt eine weisse Seite.

    Die Ursache

    Wenn Artikel in Kategorie-Blogs als Ganzes angezeigt werden, wird in Joomla 2.5.4 die Forms für die Bewertung angezeigt. Dies wäre auch OK, denn der Artikel könnte ja bewertet werden. Allerdings tritt bei der Bewertung ein Fehler auf:

    Auszug aus error.log:

    mod_fcgid: stderr: PHP Fatal error:  
    Call to undefined method ContentModelCategory::storeVote() 
    in /var/www/vhosts/xxxxxxxx/httpdocs/components/com_content/controllers/article.php on line 300, 
    referer: http://...
    
    

    Für das Model Category gibt es die Funktion storeVote() nicht.
    Um hier nicht im Core ändern zu müssen, kann das Plugin vote angepasst werden. Dazu das gesamte Plugin kopieren, und dann in der Datei vote.php

    Die Zeile

     

        if (( $view == 'article' && $row->state == 1) || ( $row->readmore == 0))

    anpassen.

        if ( $view == 'article' && $row->state == 1 )

    Anschließend das Plugin vote deaktivieren und das geänderte Plugin aktivieren. Man kann die Änderung auch direkt in der Datei durchführen, allerdings geht diese Änderung bei einen Joomla-Update verloren.

    Vermutlich gibt es noch eine bessere Variante, aber in der betroffenen Installation, hat das geholfen.

  • Notice: wpdb::escape is deprecated since version 3.6! Use wpdb::prepare() or esc_sql() instead.

    Nach dem Update auf WordPress 3.6 prangt nun auf allen Seiten die Fehlermeldung:

    Notice: wpdb::escape is deprecated since version 3.6! Use wpdb::prepare() or esc_sql() instead.
^