Доброго времени суток! На форуме поднимался как-то уже вопрос о том, как, подтягивая компоненты битрикса по аяксу вытягивать также и скритп, который подключается к компоненту и файл стилей компонента. Тогда решения данного вопроса нормально не было найдено.
И вот теперь есть решение:
Более подробно изучил работу с
Сильно расписывать нет времени, посему, сразу готовые наработки.
Итак, есть какой-то компонент. У данного компонента есть файл result_modifier.php
В данном файле прописываем следующее:
Сам аякс-запрос имеет вид:
Т.о. в файл /ajax.php размещаем подключение компонента. Указанным запросом получаем данный компонент и помещаем его в контейнер с id="result_container". Все!
В результате файлы script.js и style.css, подключаемые вместе с компонентом, будут также подключаться и при запросе компонента по технологии ajax.
Как говорится, ларчик просто открывался ...
И вот теперь есть решение:
Более подробно изучил работу с
Сильно расписывать нет времени, посему, сразу готовые наработки.
Итак, есть какой-то компонент. У данного компонента есть файл result_modifier.php
В данном файле прописываем следующее:
$templateFolder = $this->GetFolder();
$bAJAXMode = (isset($_REQUEST['mode']) && ($_REQUEST['mode']=='ajax'));
if ($bAJAXMode) {
define("NO_KEEP_STATISTIC", TRUE);
echo '<script src="'.$templateFolder.'/script.js"></script>';
echo '<link rel="stylesheet/less" type="text/css" href="'.$templateFolder.'/style.css">';
} |
Сам аякс-запрос имеет вид:
<script type="text/javascript">
$(document).ready(function(){
$('span#TEST').click(function(e){
BX.ajax({
url: '/ajax.php',
data: {ajax:'Y'},
method: 'POST',
dataType: 'html',
timeout: 30,
async: true,
processData: true,
scriptsRunFirst: true,
emulateOnload: true,
start: true,
cache: false,
onsuccess: function(data){
console.log(data);
$(data).appendTo('#result_container');
},
onfailure: function(){
}
});
})
});
</script> |
Т.о. в файл /ajax.php размещаем подключение компонента. Указанным запросом получаем данный компонент и помещаем его в контейнер с id="result_container". Все!
В результате файлы script.js и style.css, подключаемые вместе с компонентом, будут также подключаться и при запросе компонента по технологии ajax.
Как говорится, ларчик просто открывался ...
