Часто при разработке новых сайтов, нужно просить заказчика обновлять/сбрасывать кеш браузера. Ну и как вариант, человек не знает, не умеет, не понимает. И минутное дело превращается в мучение. Модификатор не для всех. Не нужно пытаться устанавливать его, если не до конца понятен его алгоритм работы. НЕ забывайте удалять , после выполнения работы. Выкладываю в виде кода, что бы избежать рандомных установок новичками "на всякий". Код: <?xml version="1.0" encoding="UTF-8"?> <modification> <name>New Site Auto Refresh</name> <code>new_site_auto_refresh</code> <version>1.0</version> <author>Tom</author> <file path="catalog/view/theme/*/template/common/footer.twig"> <operation> <search><![CDATA[</body>]]></search> <add><![CDATA[ <script> function refreshResources() { const timestamp = new Date().getTime(); const elements = document.querySelectorAll('link[rel="stylesheet"], script, img'); elements.forEach(element => { if (element.tagName === 'LINK') { element.href = (element.href.split('?')[0] || element.href) + '?' + timestamp; } else if (element.tagName === 'SCRIPT') { element.src = (element.src.split('?')[0] || element.src) + '?' + timestamp; } else if (element.tagName === 'IMG') { element.src = (element.src.split('?')[0] || element.src) + '?' + timestamp; } }); } refreshResources(); </script> ]]></add> </operation> </file> </modification>
Я бы добавил следующий момент, так как порой в таких линках используют get-переменные Код: <?xml version="1.0" encoding="UTF-8"?> <modification> <name>New Site Auto Refresh</name> <code>new_site_auto_refresh</code> <version>1.0</version> <author>Tom</author> <file path="catalog/view/theme/*/template/common/footer.twig"> <operation> <search><![CDATA[</body>]]></search> <add><![CDATA[ <script> function refreshResources() { const timestamp = new Date().getTime(); const elements = document.querySelectorAll('link[rel="stylesheet"], script, img'); elements.forEach(element => { if (element.tagName === 'LINK') { element.href = element.href + (element.href.split('?').length > 1 ? '&' : '?') + timestamp; } else if (element.tagName === 'SCRIPT') { element.src = element.src + (element.src.split('?').length > 1 ? '&' : '?') + timestamp; } else if (element.tagName === 'IMG') { element.src = element.src + (element.src.split('?').length > 1 ? '&' : '?') + timestamp; } }); } refreshResources(); </script> ]]></add> </operation> </file> </modification>