Более полный скрипт для крона (пример). Тут еще дополнительно ведется лог скачанных файлов. Взято
Для просмотра ссылки Войди или Зарегистрируйся.
PHP:
<?php
// CRON для автоматического обновления файлов стороних сервисов и счетчиков.
function downloadJs($file_url, $save_to, $end_block = false)
{
$content = file_get_contents($file_url);
file_put_contents($save_to, $content);
if(file_put_contents($save_to, $content)){
$file = basename($file_url);
$size = filesize($save_to);
$date = date('d/m/Y H:i:s');
$eol = !$end_block ? PHP_EOL : PHP_EOL.PHP_EOL;
$log = $date.' | '.$file.' | '.$size.$eol;
file_put_contents($_SERVER['DOCUMENT_ROOT'].'/logs/loguploads.txt', $log, FILE_APPEND);
}
}
// Для скриптов без расширения
// downloadJs('http://code.jivosite.com/script/widget/NuT1gBLsC6', realpath($_SERVER['DOCUMENT_ROOT']./media/js'). '/NuT1gBLsC6');
// Метрика
downloadJs('https://mc.yandex.ru/metrika/watch.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/watch.js');
// Google Analytics
downloadJs('https://google-analytics.com/analytics.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/analytics.js');
downloadJs('https://google-analytics.com/ga.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/ga.js');
//mail.ru
downloadJs('https://top-fwz1.mail.ru/js/code.js', realpath($_SERVER['DOCUMENT_ROOT'].'/media/js').'/code.js', true);
?>
Но есть три момента:
1. для модуля Facebookslide из темы Warehouse скрипт, скачанный локально, не работает.
2. для модуля Google Analtytics ссылка на "
Для просмотра ссылки Войди или Зарегистрируйся" хз где находится, она наверно в районе 650 строк в файле ganalitics.php, но как ее туда прикрутить не понял, может добрые люди подскажут.
3. даже если перенести скрипты локально, сам гугл пейджспид не добавит баллов, хоть и перестанет ругаться (у меня по крайней мере не добавил).
PHP:
/**
* Generate Google Analytics js
*/
protected function _runJs($js_code, $backoffice = 0)
{
if (Configuration::get('GA_ACCOUNT_ID'))
{
$runjs_code = '';
if (!empty($js_code))
$runjs_code .= '
<script type="text/javascript">
jQuery(document).ready(function(){
var MBG = GoogleAnalyticEnhancedECommerce;
MBG.setCurrency(\''.Tools::safeOutput($this->context->currency->iso_code).'\');
'.$js_code.'
});
</script>';
if (($this->js_state) != 1 && ($backoffice == 0))
$runjs_code .= '
<script type="text/javascript">
ga(\'send\', \'pageview\');
</script>';
return $runjs_code;
}
}