Как установить результаты Ajax, чтобы заблокировать шаблон с помощью корзины CS?

Я новичок в CS корзину. Мне нужно передать результаты ajax в файл шаблона блоков.

У меня есть следующий код в моем контроллере: —

if($mode=='drill')
{
$id=166;
Registry::get('view')->assign('pid', $id);
$all_subcategory=fn_get_subcategories($id);
foreach($all_subcategory as $value){
$sub_cat[$value['category_id']]=$value['category'];
}
Registry::get('view')->assign('all_year', $sub_cat);
Registry::get('view')->display('templates/blocks/product_filters/components/drillsearch.tpl');
Registry::get('view')->assign('all_year', $sub_cat);
return $sub_cat;

}I have the following code in drillsearch.tpl :-function fun(){
var sBase = location.href.substr(0, location.href.lastIndexOf("/") + 1);

$.ajax({
url: sBase+"index.php?dispatch=drill.drill",
data: 123 ,
type: "POST",
success: function(data) {
alert("sfd");
alert(data);
},
error: function(xhr, status, error) {
alert('failed');
alert(xhr.responseText);
}
});
}

Здесь результаты ajax не назначают шаблоны / blocks / product_filters / components / drillsearch.tpl. Как решить эту проблему. Пожалуйста, помогите мне

0

Решение

Отправляя запрос от представления к контроллеру, вы можете «ответить» на представление, просто используя это:

            Registry::get('ajax')->assign('all_year', $sub_cat);

Я считаю, что это будет работать нормально, так как переменная, которая вам нужна, будет доступна для вашего ответа AJAX.

0

Другие решения

Пожалуйста, попробуй

if($mode=='drill'){
$id=166;
$all_subcategory=fn_get_subcategories($id);
foreach($all_subcategory as $value){
$sub_cat[$value['category_id']]=$value['category'];
}

header('Content-Type: application/json');
echo json_encode($sub_cat);
exit;
}
function fun(){
$.ajax({
url: Tygh.index_script+"?dispatch=drill.drill",
data: { variable: '123' },
type: "GET",
success: function(categories) {
for(var category_id in categories){
console.log(category_id+' > '+categories[category_id]);
}
}
});
}

http://prntscr.com/69zagm

Надеюсь, это поможет,

0

По вопросам рекламы [email protected]