Jump to content

[gleöst]weiße seite beim bezahlen


monchi1978

Recommended Posts

hallo habe folgendes problem meine kunden kriegen beim bezahlvorgang nur eine weiße seite angezeigt anstatt die bank daten ....... woran liegt das ?

 

das selbe problem habe ich wenn ich unter bestellungen den status aktualiesiere dann auch nur weiße seite und wenn ich seite dann neulade dann ist der status aktualiesiert aber halt weiße seiten werden nur angezeigt

 

 

 

hilfe dringend ...

Edited by monchi1978 (see edit history)
Link to comment
Share on other sites

Serverdaten

Serverdaten Linux #1 SMP Mon Oct 14 08:22:20 CEST 2013 x86_64

Version der Server-Software Apache/2.2.0 (Fedora)

PHP-Version 5.2.17

Speichergrenze 256M

max_execution_time 30

PrestaShop-Version 1.6.0.9

Aktuelle verwendetes Template default-bootstrap

 

ich habe erst alle module und einstellungen gemacht und dann shop online genommen und erst jetzt bei den ersten bestellungen gemerkt genau wie ich weiße seite habe bei dem aktualliesieren der bestellung also des status da dort auch nur weiß und beim neuladen dann ist der status aktuell aber erst dur f5 drücken und neuladen ich habe was die prog sachen angeht nicht viel ahnung habe es mir von meinen hoster draufspielen lassen und dann nur die einstellungen gemacht also bitte hilfe für ganz dumme oder halt so das ich das an meinen hioster leiten kann das sie das machen

Edited by monchi1978 (see edit history)
Link to comment
Share on other sites

Der Kulli mal wieder :)
Bist auch dauer on :)
Bist oft eine gute hilfe! Thanks erst mal dafür.
Der Server erfüllt wirklich alle anforderungen.

defines.inc.php hab ich nun umgeändert aber wo sieht man denn dann die Fehler?
Wo spuckt der die Daten raus? Was genau macht der? Für mich, front und back office hat sich überhaupt nichts verändert


Nachtrag: Ahhh jetzt versteh ich...

Bin im Back office oben auf die letzte bestellung... Rechts auf das PDF-Symbol und da steht

Fatal error: Call to a member function getCartRules() on null in /mnt/webf/b2/31/52711631/htdocs/shop/classes/order/OrderInvoice.php on line 317

Vorher war es komplett weiß.
ich google noch ein wenig

Edited by RXBeat (see edit history)
Link to comment
Share on other sites

ja, ich schreibe hier nur soviel damit ich auf über 1000 nachrichten komme:-)

vielleicht krieg ich ja dann einen Keks von Prestashop:-)

 

Nochmal zum server:

 

selbst wenn er die Mindesanforderungen erfüllt, heist das nicht, dass es funktioniert; die Mindestanforderungen sind gelinde gesagt für die Katz;

die Erfahrung zeigt, dass das bei weitem nicht reicht, bzw. nur wenn nicht zu viele Module und am besten nur ein Artikel drin ist;-)

 

zu den Zahlungsmodulen:

 

Zahlundsmodule mal komplett resetten.

zuerst eu-legal installieren nur mit den Zahlungsmodulen, die mitgeliefert werden; fremdmodule oder die von Presta können zu Problemen werden.

 

Wenn Du die Bestellungen testest, machst du das von Deinem rechner aus? Wenn ja, dann hoffentlich mit einem anderen, nicht-presta-geschädigten Browser.....

Edited by kulli (see edit history)
Link to comment
Share on other sites

Nachtrag: Ahhh jetzt versteh ich...

 

Bin im Back office oben auf die letzte bestellung... Rechts auf das PDF-Symbol und da steht

 

Fatal error: Call to a member function getCartRules() on null in /mnt/webf/b2/31/52711631/htdocs/shop/classes/order/OrderInvoice.php on line 317

 

Vorher war es komplett weiß.

ich google noch ein wenig

 

Ja, das ist auch des Rätsel Lösung! Wenn nämlich keine Warenkorbregel namens 'free_shipping' gefunden wird, steigt Prestashop aus. Mir erschließt sich sowieso nicht, was die Abfrage an dieser Stelle bewirken soll. Wenn du also deine Rechnungen sehen willst, dann solltest du die ganze foreach-Schleife ab Zeile 316 in der

/classes/order/OrderInvoice.php

auf Kommentar setzen:

// sum by taxes
$tmp_tax_infos = array();
// $shipping_tax_amount = 0;
//foreach ($order->getCartRules() as $cart_rule)
//	if ($cart_rule['free_shipping'])
//	{
//		$shipping_tax_amount = $this->total_shipping_tax_excl;
//		break;
//	}
Edited by eleazar (see edit history)
  • Like 2
Link to comment
Share on other sites

diese fehler meldung erhalte ich was kann ich tun um es zu beheben mit der weißen seite ?

 

Fatal error: Uncaught exception 'Exception' with message 'Please provide a valid token and secret (token: , secret: )' in /var/www/web241/html/LoomWahnsinn/modules/loyaltylion/lib/loyaltylion-client/main.php:47 Stack trace: #0 /var/www/web241/html/LoomWahnsinn/modules/loyaltylion/loyaltylion.php(775): LoyaltyLion_Client->__construct(false, false, Array) #1 /var/www/web241/html/LoomWahnsinn/modules/loyaltylion/loyaltylion.php(709): LoyaltyLion->loadLoyaltyLionClient() #2 /var/www/web241/html/LoomWahnsinn/modules/loyaltylion/loyaltylion.php(600): LoyaltyLion->sendOrderUpdate(Object(Order)) #3 /var/www/web241/html/LoomWahnsinn/classes/Hook.php(507): LoyaltyLion->hookActionOrderStatusPostUpdate(Array) #4 /var/www/web241/html/LoomWahnsinn/classes/order/OrderHistory.php(333): HookCore::exec('actionOrderStat...', Array, NULL, false, true, false, '1') #5 /var/www/web241/html/LoomWahnsinn/controllers/admin/AdminOrdersController.php(491): OrderHistoryCore->changeIdOrderState(10, Object(Order), false) #6 /var/www/web241/html/LoomWah in /var/www/web241/html/LoomWahnsinn/modules/loyaltylion/lib/loyaltylion-client/main.php on line 47

Link to comment
Share on other sites

 

Ja, das ist auch des Rätsel Lösung! Wenn nämlich keine Warenkorbregel namens 'free_shipping' gefunden wird, steigt Prestashop aus. Mir erschließt sich sowieso nicht, was die Abfrage an dieser Stelle bewirken soll. Wenn du also deine Rechnungen sehen willst, dann solltest du die ganze foreach-Schleife ab Zeile 316 in der

/classes/order/OrderInvoice.php

auf Kommentar setzen:

 

Ist das auch gemeldet? Nicht das wir das jetzt ändern und dann beim nächsten Update ists wieder hinfällig :/

Link to comment
Share on other sites

Hallo alle zusammen!

Leider scheinen meine Programmierkenntnisse nicht gut genug zu sein, um zu erkennen, wo meine foreach-Schleife anfängt und aufhört. Es scheint nämlich nicht Zeile 316 zu sein.

 

Wisst ihr, welchen Teil meiner orderinvoice.php ich mit dem Code von überschreiben muss?

 

Das ist bei mir ab Zeile 293 zu sehen:

 

// format response
$tmp_tax_infos = array();
foreach ($taxes_infos as $tax_infos)
{
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] = $tax_infos['total_amount'];
$tmp_tax_infos[$tax_infos['rate']]['name'] = $tax_infos['name'];
}
 
$shipping_taxes = Db::getInstance()->executeS('
SELECT *
FROM `'._DB_PREFIX_.'order_invoice_tax` od
LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = od.`id_tax`)
WHERE `id_order_invoice` = '.(int)$this->id
);
 
foreach ($shipping_taxes as $tax_infos)
{
if (!isset($tmp_tax_infos[$tax_infos['rate']]))
{
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] = 0;
$tmp_tax_infos[$tax_infos['rate']]['name'] = 0;
}
 
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] += $tax_infos['amount'];
$tmp_tax_infos[$tax_infos['rate']]['name'] += $tax_infos['rate'];
}
 
 
}
else
{
// sum by order details in order to retrieve real taxes rate
$taxes_infos = Db::getInstance()->executeS('
SELECT odt.`id_order_detail`, t.`rate` AS `name`, od.`total_price_tax_excl` AS total_price_tax_excl, SUM(t.`rate`) AS rate, SUM(`total_amount`) AS `total_amount`, od.`ecotax`, od.`ecotax_tax_rate`, od.`product_quantity`
FROM `'._DB_PREFIX_.'order_detail_tax` odt
LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = odt.`id_tax`)
LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON (od.`id_order_detail` = odt.`id_order_detail`)
WHERE od.`id_order` = '.(int)$this->id_order.'
AND od.`id_order_invoice` = '.(int)$this->id.'
GROUP BY odt.`id_order_detail`
');
 
// sum by taxes
$tmp_tax_infos = array();
foreach ($taxes_infos as $tax_infos)
{
if (!isset($tmp_tax_infos[$tax_infos['rate']]))
$tmp_tax_infos[$tax_infos['rate']] = array(
'total_amount' => 0,
'name' => 0,
'total_price_tax_excl' => 0
);
 
$ratio = 0;
$order_reduction_amount = 0;
if ($this->total_products)
{
$ratio = $tax_infos['total_price_tax_excl'] / $this->total_products;
$order_reduction_amount = $this->total_discount_tax_excl * $ratio;
}
$tmp_tax_infos[$tax_infos['rate']]['total_amount'] += ($tax_infos['total_amount'] - Tools::ps_round($tax_infos['ecotax'] * $tax_infos['product_quantity'] * $tax_infos['ecotax_tax_rate'] / 100, 2));
$tmp_tax_infos[$tax_infos['rate']]['name'] = $tax_infos['name'];
$tmp_tax_infos[$tax_infos['rate']]['total_price_tax_excl'] += $tax_infos['total_price_tax_excl'] - $order_reduction_amount - Tools::ps_round($tax_infos['ecotax'] * $tax_infos['product_quantity'], 2);
}
}
 
return $tmp_tax_infos;
}
 
/**
* Returns the shipping taxes breakdown
*
* @since 1.5
* @return array
*/
public function getShippingTaxesBreakdown($order)
{
$taxes_breakdown = array();
 
// shipping cost are added in the product taxes breakdown
if ($this->useOneAfterAnotherTaxComputationMethod())
return $taxes_breakdown;
 
// No shipping breakdown if it's free!
foreach ($order->getCartRules() as $cart_rule)
if ($cart_rule['free_shipping'])
return $taxes_breakdown;
 
$shipping_tax_amount = $this->total_shipping_tax_incl - $this->total_shipping_tax_excl;
 
if ($shipping_tax_amount > 0)
$taxes_breakdown[] = array(
'rate' => $order->carrier_tax_rate,
'total_amount' => $shipping_tax_amount,
'total_tax_excl' => $this->total_shipping_tax_excl
);
 
return $taxes_breakdown;
}
 
 
Vielen Dank schonmal!!
Link to comment
Share on other sites

Du musst auch gar nichts überschreiben, denn dein Prestashop (1.5x - max. 1.6.0.9) hat diesen Fehler in der foreach-Schleife gar nicht! ;)

In deinem Code steht nämlich kein Befehl "break".

// No shipping breakdown if it's free!
foreach ($order->getCartRules() as $cart_rule)
if ($cart_rule['free_shipping'])
return $taxes_breakdown;

Zeilenzählung (PS 1.6.0.9), in PS 1.5.6.2: ab Zeile 371

Edited by eleazar (see edit history)
Link to comment
Share on other sites

Hallo Eleazar!!

 

Ich benutze Version 1.6.0.9!

 

Ich krieg den selben Fehler wie der Fragesteller! Wenn ich beim Bestellprozess den letzten Schritt mache (auf "KAUFEN" klicke), kommt statt der Bankverbindung nur ein weißes Fenster.

Und die automatische Mail geht auch nicht raus an den Kunden.

 

Woran kann das liegen??

Link to comment
Share on other sites

  • 1 month later...

 

Ja, das ist auch des Rätsel Lösung! Wenn nämlich keine Warenkorbregel namens 'free_shipping' gefunden wird, steigt Prestashop aus. Mir erschließt sich sowieso nicht, was die Abfrage an dieser Stelle bewirken soll. Wenn du also deine Rechnungen sehen willst, dann solltest du die ganze foreach-Schleife ab Zeile 316 in der

/classes/order/OrderInvoice.php

auf Kommentar setzen:

// sum by taxes
$tmp_tax_infos = array();
// $shipping_tax_amount = 0;
//foreach ($order->getCartRules() as $cart_rule)
//	if ($cart_rule['free_shipping'])
//	{
//		$shipping_tax_amount = $this->total_shipping_tax_excl;
//		break;
//	}

This fixed the issue, thanks!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...