RDFa bringt weiße Seite


#1

Hallo,

ich habe jetzt mal den Demoshop außer Betrieb gesetzt:D

Also in meiner 4.8.1 und auch im Demoshop - wenn RDFa und “Artikelpreise anzeigen” aktiviert gibt es bei der Detailseite eine weiße Seite…

Was mich jetzt interessiert wo kann ich suchen, um das zu umgehen?

PS: Fragt nicht, wie lange die Ursachensuche gedauert hat…

mfg

Gert


#2

Hallo,

übergangsweise habe ich bei der "application/views/azure/tpl/rdfa/details/details.tpl die Zeilen 74 - 94 entfernt…

mfg

Gert


#3

trags gleich mal ein in den Bugtracker bitte (falls dort noch nicht vorhanden)


#4

Hallo Hebsacker,

ich bin der mit den mangelnden Englisch-Kenntnissen. Ich würde nur durch den Übersetzer jagen, und was dabei raus kommt, kann ich mir vorstellen - Marco kennt das…

Übrigens der Debug-Modus und auch das “EXCEPTION_LOG.txt” hat mich hier weiter gebracht, nur der Zufall. Ich habe in einer Test-Installation die Grundeinstellungen angepasst…

Was mir aber in diesem Zusammenhang (weiße Seite - alternative Templates) noch eingefallen ist - auch hier müsste m.E. auch das Standard-Template angezeigt werden, wenn das alternative nicht vorhanden ist…

mfg

Gert


#5

Kann es mit Bug #5096 zu tun haben? Der ist nämlich erst in der nächsten Major Version behoben, die noch nicht veröffentlicht ist: https://github.com/OXID-eSales/oxideshop_ce/pull/76
Ansonsten beschreib’ mal bitte genauer, wie man das im Demoshop nachstellen kann.

[QUOTE=GPassin;142186]wenn RDFa und “Artikelpreise anzeigen” aktiviert gibt es bei der Detailseite eine weiße Seite…[/QUOTE]
Das ist leider zu ungenau bzw. führt momentan nicht dazu, dass die Detailansicht der Artikel nicht mehr angezeigt wird.


#6

Hallo Martin,

RDFa aktivieren und Artikelpreise = weiße Seite auf der Detailseite.

Die anderen Seiten (Kategorien, CMS usw.) habe ich nicht getestet. Ich wollt ja nur wissen, ob der Fehler an meiner Installation lag…

mfg

Gert


#7

Hallo,

ich habe hier aus gegeben Anlass etwas getestet. Und da das jetzt auch mit einem aktuellen CE 10.4 mit Flow passiert, habe ich mir (was ich jetzt kann) das Logfile angeschaut.

Also unter Grundeinstellung -> Performanc -> “Artikelpreise anzeigen” deaktiviert und
unter Grundeinstellungen -> RDFa -> “Aktivieren Sie die automatische Einbettung der Daten” aktiviert,
bringt auf der Artikeldetailseite eine weiße Seite. Und das auch im Demoshop.

Das Log bringt:

PHP Fatal error:  Call to a member function getBruttoPrice() on null in /is/htdocs/url/application/controllers/details.php on line 1443

Wenn ich hier in der details.php die Zeile 1443

$iPrice = $this->getProduct()->getPrice()->getBruttoPrice();

auskommentiere, kommt die nächste Meldung:

PHP Fatal error:  Call to a member function getBruttoPrice() on null in /is/htdocs/url/application/models/oxdeliverylist.php on line 382

Hier auch die Zeile

$dPrice = $oDb->quote($oProduct->getPrice()->getBruttoPrice());

auskommentiert und erhalte ich keine weiße Seite mehr.

Ich hoffe, das ist genauer formuliert.

mfg

Gert


#8

Ich würde das so anpassen:
oxdeliverylist.php

public function loadDeliveryListForProduct($oProduct)
    {
        $oDb = oxDb::getDb();
	if ($this->getConfig()->getConfigParam('bl_perfLoadPrice') ){
        $dPrice = $oDb->quote($oProduct->getPrice()->getBruttoPrice());
	}
        $dSize = $oDb->quote($oProduct->getSize());
        $dWeight = $oDb->quote($oProduct->getWeight());

        $sTable = getViewName('oxdelivery');

        $sQ = "select $sTable.* from $sTable";
        $sQ .= " where " . $this->getBaseObject()->getSqlActiveSnippet();
        $sQ .= " and ($sTable.oxdeltype != 'a' || ( $sTable.oxparam <= 1 && $sTable.oxparamend >= 1))";
        if ($dPrice) {
            $sQ .= " and ($sTable.oxdeltype != 'p' || ( $sTable.oxparam <= $dPrice && $sTable.oxparamend >= $dPrice))";
        }
        if ($dSize) {
            $sQ .= " and ($sTable.oxdeltype != 's' || ( $sTable.oxparam <= $dSize && $sTable.oxparamend >= $dSize))";
        }
        if ($dWeight) {
            $sQ .= " and ($sTable.oxdeltype != 'w' || ( $sTable.oxparam <= $dWeight && $sTable.oxparamend >= $dWeight))";
        }
        $this->selectString($sQ);
    }

details.php

public function getRDFaPaymentMethods()
    {
	if ($this->getConfig()->getConfigParam('bl_perfLoadPrice')) {
        $iPrice = $this->getProduct()->getPrice()->getBruttoPrice();
        $oPayments = oxNew("oxPaymentList");
        $oPayments->loadRDFaPaymentList($iPrice);
        return $oPayments;
	}
    }


#9

Hallo,

[QUOTE=foxido.de;187866]Ich würde das so anpassen:
[/QUOTE]

Ich denke, dass das eigentlich so im Original sein sollte…

mfg

Gert


#10

Kann sein. Gibt’s dazu einen Bug Eintrag?


#11

[QUOTE=foxido.de;187886]Kann sein. Gibt’s dazu einen Bug Eintrag?[/QUOTE]

m.E. nicht, da es ja seit 2014 so ist - siehe oben. Ich bin nur halt wieder drüber gestolpert…

mfg

Gert


#12

Naja, jetzt sollte es ja laufen.


#13

Hallo,

ich wollte nur sagen, der Bug existiert noch. Habe es gerade im Demoshop nachgestellt.

mfg

Gert


#14

Interessant, im OXID Demo-Shop konnte ich das Problem gerade nicht nachvollziehen …


#15

Hallo,

aber ich.

Demoshop-> Stammdaten -> Grundeinstellungen -> RDFa -> Globale Einstellungen -> Aktivieren Sie die automatische Einbettung der Daten -> anhaken und
Perform. ->  Artikelpreise anzeigen -> abhaken

ist gleichbedeutend mit dem Wartungsmodus auf der Artikeldetailseite.

mfg

Gert


#16


Funktioniert bei mir:
https://demoshop.oxid-esales.com/professional-edition/Kiteboarding/Kites/Kite-CORE-GT.html


#17

Hallo,

sorry Perform. -> Artikelpreise anzeigen -> abhaken

werde es ändern…

mfg

Gert