Override Engine and OpenCart 3.0.3.6+

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Since OpenCart 3.0.3.6 (3.0.3.5 ??)  the Twig has been moved to another location, and OverrideEngine stopped working. Unfortunately, there is no newer version from the author.

So, find the code (line 792, version for OpenCart 3.0.3.3):

include_once(DIR_SYSTEM . 'library/template/Twig/Autoloader.php');
Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem(DIR_TEMPLATE);		
$config = array('autoescape' => false, 'cache'=>false);

and replace with:

$loader = new \Twig\Loader\FilesystemLoader();
$loader->addPath(DIR_TEMPLATE);
$config = array( 'autoescape'  => false, 'cache'	=> false, 'debug' => false, 'auto_reload' => true );

OpenCart : PHP 8

1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 3.50 out of 5)
Loading...

Backward Incompatible Changes:

  • It’s very rare, but in some old extensions or packages, the array and string offset access syntax using curly braces could be found.  It’s deprecated in PHP 7.4 The easiest way to check is to run global search/replace: 
    (\$[A-z0-9_]* ?)\{([^}]+)\} with $1[$2]

    be careful, some JavaScript files could be modified too.

  • “The @ operator will no longer silence fatal errors … Error handlers that expect error_reporting to be 0 when @ is used, should be adjusted to use a mask check instead”. Replace in /system/framework.php (lines 19-21):
    if (error_reporting() === 0) {
      return false;
    }
    with
    if (!(error_reporting() & $code)) {
      return false; // Silenced
    }
  • Comment line 7 in Environment.php from Twig
    @trigger_error(sprintf('Using the "Twig_Environment" class is deprecated since Twig version 2.7, use "Twig\Environment" instead.'), E_USER_DEPRECATED);

    otherwise it will bloat the the OpenCart error file

OC 3.0.3.2 Bug list

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

bug-list-3.0.3.2
description
+fedex- template errorA
layout- added sort by layout_idC
paypal standard- replace pp_standard payment moduleC
+sessions_gc.ocmod- clean session tableC
+subtotal- missing orderA
+usps shipping- missing US Mail First ClassC
+ups shipping- missing prefix (shipping_)Cscript

Yandex.Metrica