Jump to content

Blank Screen After Confirmation of Payment - Bankwire and Cheque


Recommended Posts

Hi,

 

I am getting a blank page after clicking the confirmation button on both the Bankwire, Cheque and Cash on delivery payment modules:

 

Fatal error: Call to undefined method ProductDownload::_getIdFromIdProduct() in C:\www\htdocs\shop.w16.co.uk\override\classes\order\OrderDetail.php on line 17

 

 

Config info here:

 

Server information

Server information: Windows NT build 7601 (Windows 7 Enterprise Edition Service Pack 1) i586

Server software version: Abyss/2.9.0.1-X2-Win32 AbyssLib/2.9.0.0

PHP version: 5.3.27

Memory limit: 128M

Max execution time: 30

Database information

MySQL version: 5.6.14

MySQL engine: InnoDB

Tables prefix: ps_

Store information

PrestaShop version: 1.5.6.0

Shop URL: http://shop.w16.co.uk/

Current theme in use: default

Mail configuration

Mail method: You are using the PHP mail function.

Your information

Your web browser: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0

 

Please help.

 

Thank you

 

Ben

Link to comment
Share on other sites

it looks like you store use some override.

override\classes\order\OrderDetail.php on line 17

 

it mean that for some purposes your store use non-default php functions. Can you say something more about this override? why you use it? what you changed there?

Link to comment
Share on other sites

Hi,

 

It is not something I have changed....  The extra modules I am using are:

 

Virtual products with combinations

Mass update price

Bankwire with Discount

Multi-component Product SILVER

 

I include the PHP file in question below.

 

<?php

class OrderDetail extends OrderDetailCore
{
    /*
     * Set virtual product information
     * @param array $product
     */
    protected function setVirtualProductInformation($product)
    {
        // Add some informations for virtual products
        $this->download_deadline = '0000-00-00 00:00:00';
        $this->download_hash = null;

        if(!(int)($product['id_product_attribute']))
        {        
            if ($id_product_download = ProductDownload::_getIdFromIdProduct((int)($product['id_product'])))
            {
                $productDownload = new ProductDownload((int)($id_product_download));
                $this->download_deadline = $productDownload->getDeadLine();
                $this->download_hash = $productDownload->getHash();
    
                unset($productDownload);
            }
        }
        else
        {        
            if ($id_product_download = ProductDownload::_getIdFromCombination((int)($product['id_product']), (int)($product['id_product_attribute'])))
            {
                $productDownload = new ProductDownload((int)($id_product_download));
                $this->download_deadline = $productDownload->getDeadLine();
                $this->download_hash = $productDownload->getHash();
    
                unset($productDownload);
            }
        }
    }
    
    public static function getDownloadFromHash($hash)
    {
        if ($hash == '') return false;
        $sql = 'SELECT *
        FROM `'._DB_PREFIX_.'order_detail` od
        LEFT JOIN `'._DB_PREFIX_.'product_download` pd ON (od.`product_id`=pd.`id_product` AND od.`product_attribute_id`=pd.`id_product_attribute`)
        WHERE od.`download_hash` = \''.pSQL(strval($hash)).'\'
        AND pd.`active` = 1';
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql);
    }
}
 

Link to comment
Share on other sites

Hi,

 

Having uninstalled:

 

Virtual products with combinations

 

I now get:

 

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_FUNCTION in C:\www\htdocs\shop.w16.co.uk\override\classes\ProductDownload.php on line 7

 

At the point of trying to add the final built product to the Cart.

 

 

Thanks

 

Ben

Link to comment
Share on other sites

Hi,

 

I have removed ProductDownload.php from the Override folder and I am now able to sucessfully process cheques and bankwire transactions.  There must be something in the Virtual products with combinations that messed things up.

 

Problem now fixed.

 

Thanks for your help

 

Ben

Link to comment
Share on other sites

  • 6 months later...

hi

 

i have nearly the same problem - i have an blank screen, just when hitting bankwire.

 

i got following error:

 

Notice: Undefined property: Customer::$statistic in /var/www/vhosts/the-roomstore.ch/httpdocs/modules/statsdata/statsdata.php on line 107 Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file './order-steps.tpl' in '/var/www/vhosts/the-roomstore.ch/httpdocs/modules/bankwire/views/templates/front/payment_execution.tpl'' in /var/www/vhosts/the-roomstore.ch/httpdocs/tools/smarty/sysplugins/smarty_internal_templatebase.php:127 Stack trace: #0 /var/www/vhosts/the-roomstore.ch/httpdocs/tools/smarty/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(NULL, NULL, NULL, NULL, false, false, true) #1 /var/www/vhosts/the-roomstore.ch/httpdocs/cache/smarty/compile/78/fb/20/78fb20c5f1366ecf0d10fdb7f9996048456096ed.file.payment_execution.tpl.php(49): Smarty_Internal_Template->getSubTemplate('./order-steps.t...', NULL, NULL, NULL, NULL, Array, 0) #2 /var/www/vhosts/the-roomstore.ch/httpdocs/tools/smarty/sysplugins/smarty_internal_templatebase.php(180): content_537cc5d2dae920_89904008(Object(Smarty_Internal_Template)) #3 /var/www/vhosts/the-roomstore.ch/httpdocs/classes/controller/FrontController.php(541): in /var/www/vhosts/the-roomstore.ch/httpdocs/tools/smarty/sysplugins/smarty_internal_templatebase.php on line 127

 

 

any ideas?

 

thx in advance

Link to comment
Share on other sites

×
×
  • Create New...