Instant CMS 2.3.0
Столкнулся с проблемой аяксовой перезагрузки страницы.
Например, мне нужно перезагрузить часть страницы:
$('#content_ajax').load(current_url+" #content_ajax", function(){});
В ядре нарыл код:
private function detectContext(){ $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { return cmsRequest::CTX_AJAX; } else { return cmsRequest::CTX_STANDARD; } }
По совету Fuze попробовал load заменить на ajax и подменить headers, чтоб не передавать XMLHttpRequest.
$.ajax({ type: 'POST', url: current_url+" #content_ajax", headers: { "X-Requested-With":"NULL" } }).done(function(data) { $('#content_ajax').html(data); });
Пока обошелся тем, что в ядре в template.php в функции processRender добавил код:
if (substr_count($tpl_file, 'item_view.tpl') || substr_count($tpl_file, 'sales_item.tpl') || substr_count($tpl_file, 'projects_item.tpl') || substr_count($tpl_file, 'default_item.tpl')) { $this->addOutput( $html ); return $html; }
Какие есть еще варианты?