2016-11-04 91 views
0

我正在使用handlebars和一個handlebars註冊助手循環通過一個數組,我放在我的上下文中並顯示爲ul。其中一個li項目需要有一些php。我無法弄清楚將php放入li中的方法。如何將PHP行添加到Handlebars上下文數組中?

這是我現在有:

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

回答

1

你不能弄清楚,因爲你不完全瞭解PHP和把手的工作。默認情況下,您的<?php ?>標籤只能在PHP擴展名的文件中使用。我的猜測是你的把手模板有.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}); 
     } 
    }); 
相關問題