2016-11-04 2 views
0

나는 내 컨텍스트에 넣고 ul로 표시하는 배열을 통해 루프에 핸들 막대와 핸들 막대 도우미를 사용하고 있습니다. li 항목 중 하나에는 PHP가 있어야합니다. 나는 li에 PHP를 넣는 방법을 알아낼 수 없다. 완전히 어떻게 PHP와 핸들 바 일을 이해하지 않기 때문에Handlebars 컨텍스트 배열에 PHP 라인을 어떻게 추가합니까?

var context = { 
    social: [ 
    { url: "[redacted]"}, 
    { url: "[redacted]"}, 
    { url: "[redacted]"}, 
    { url: "<?php echo get_favorite_toggle('{{post_id}}'); ?>"} 
] 
} 

답변

1

당신은 그것을 알아낼 수 없습니다 : 여기

내가 지금 가지고있는 것입니다. 기본적으로 <?php ?> 태그는 PHP 확장자가있는 파일에서만 작동합니다. 그리고 내 추측으로는 Handlebars 템플릿에는 .handlebars 확장이 있습니다.
따라서이 템플릿의 이름을 .php으로 바꾸는 것이 좋습니다. 그러나 이것은 다른 통합을 깨뜨릴 수 있습니다.
올바른 방법은 AJAX를 사용하여 PHP 파일을 요구하고 응답을 기반으로 렌더링하는 것입니다.

이 코드를 예를 들어, 새 파일, favorite.php을 만들고 넣어 :

<?php 
// Your imports here 
$post_id = $_GET['post_id']; 

echo get_favorite_toggle($post_id); 

?> 

이제 JS 파일은 다음과 같이 보일 수 있습니다 :

var context = { 
     social: [ 
     { url: "[redacted]"}, 
     { url: "[redacted]"}, 
     { url: "[redacted]"} 
     ] 
    }; 
    jqueryNoConflict.ajax({ 
     url: "/favorites.php?post_id="+post_id, 
     success: function (data) { 
      context.push({ url: data}); 
     } 
    }); 
관련 문제