My Changes Override Issue 4.6.2

Hi,

temporary the override folder was renamed to override1

design/backend/templates/addons/my_changes/overrides1/views/orders/details.tpl

After renaming back to overrides it still refers to overrides1 folder.

All cache is deleted manually, browser cache also deleted

All database is checked for overrides1 name just in case. Nothing found.

My changes addon was uninstalled and installed. (does not help)

.htaccess stays untouched.

If trying to open order details page, In url bar it keeps showing as follows (tested in different browsers):

https://myweb/overrides1/views/orders/https://myweb/admin.php?dispatch=orders.details&order_id=123

Where could be overrides folder name be kept besides var?

.

Make sure that in this file any other file from overrides1 directory is not called directly. E.g.

{include file="addons/my_changes/overrides1/views/orders/somefile.tpl"}

it is not included anywhere else...

besides this the folder name was renamed back to overrides

before that there were two more files:

my_changes/overrides1/views/orders/manage.tpl

my_changes/overrides1/views/promotions/manage.tpl

what is controlling it? fn.control?

what is the logic? It has to rewrite folders and tpl every time cache is deleted, hasn't it?

Thanks

it is not included anywhere else...

besides this the folder name was renamed back to overrides

before that there were two more files:

my_changes/overrides1/views/orders/manage.tpl

my_changes/overrides1/views/promotions/manage.tpl

what is controlling it? fn.control?

what is the logic? It has to rewrite folders and tpl every time cache is deleted, hasn't it?

Thanks

Please PM me temporary FTP access so that we can check it. It should not work in this way.

Thank you but this happened on localhost.

I will try to compare previos backup of files and database.

Thank you but this happened on localhost.

I will try to compare previos backup of files and database.

OK. Please also check files both in current and parent theme

The names of override files are part of the Registry. The Registry is cached as it's created. Hence, if you have really cleared your cache then there will be no reference to overrides1. Ensure your cache setting is 'file' in config.local.php. When you say you cleared it manually, what did you do?

After comparing files and databases no errors found.

I deleted compeletly overrides folder from backend

design/backend/templates/addons/my_changes/overrides/

Cleared cache, now it does not refer to overrides1 anymore but shows the following error for some order detail pages in admin (not for all orders!)

unserialize(): Error at offset 99 of 5320 bytes

Error at

app\functions\fn.cart.php, line: 2109

Backtrace

File: \app\functions\fn.cart.php
Line: 2109
Function: {closure}
File: \app\controllers\backend\orders.php
Line: 302
Function: fn_get_order_info
File: \app\functions\fn.control.php
Line: 702
Function: include
File: \app\functions\fn.control.php
Line: 460
Function: fn_run_controller
File: \admin000.php
Line: 27
Function: fn_dispatch

When I say clean cache manualy I mean

delete everything from var/cache folder

and just in case use

https://myweb?cc?ctpl?ct

Also just in case I changed config.local.php to file from redis

but that is strange since the local_conf.php which has a priority for localhost was setup to file already.

Not knowing what your previous overeide files actually did, I can only assume that they had fields that are now getting errors on reference. Looks like some taxes (order_data type == 'T') have been incorrectly saved in the order_data table.

Removing var/cache manually (and ensuring there are no errors) is effecttively the same as clearing cache for all objects (egistry, templates, etc.). Blocks can be referenced in your DB.

Ct does't act on the cache but instead removes the contents of images/thumbnails so all thumbnails will be recreated on reference.

ok thanks.

there was only one overrides folder in backend.

still very suprised how my_changes addon could mess up everything in DB? also if I uninstall my_changes addon everything works correct (disactivate does not help).

It only does what you tell it to do. There's nothing special about my_changes. By default, it does nothing.

after complete reinstall from backup everything works ok.

This time local_conf.php completely deleted, all cache setting made directly in config.local.php

Now I will apply the same overrides but without renaming the folder and see if it works correct.

The names of override files are part of the Registry. The Registry is cached as it's created. Hence, if you have really cleared your cache then there will be no reference to overrides1. Ensure your cache setting is 'file' in config.local.php. When you say you cleared it manually, what did you do?

Hello,

You mentioned that for overrides the cache settings has to be setup as "file". Does it mean that it will not work correct with "redis" (instead of "file") on production server? Or it has to do only with localhost?

thanks


You mentioned that for overrides the cache settings has to be setup as "file". Does it mean that it will not work correct with "redis" (instead of "file") on production server? Or it has to do only with localhost?

Sorry, that's not what I said. I used the 'file' type caching as an example of clearing your cache "manually".

I don't have any experience with using Redis as the cache so what you need to do is figure out how to clear the Redis cache. But I would think that '?cc' would cover Redis as well and would then NOT be dependent on filesystem permissions.

But my point still holds. If you were seeing override1, then the cache had not been cleared (whatever method you use).

OK thanks.

As to Redis, '?cc' works as well