无法在js文件中添加php

时间:2018-06-22 05:42:59

标签: javascript php magento-1.7

我有一个下面的脚本,需要在.js文件中添加。

 jQuery( ".followlink" ).click(function(event){
    event.preventDefault();
    var $k = jQuery.noConflict();
$k.dialog({
    title: ' ',
    backgroundDismiss: true,
    content : "<?php echo $this->getLayout()->createBlock('catalog/product_list')->setTemplate('catalog/product/list/followup-popup.phtml')->tohtml();?>"

});
    $k('.jconfirm-scrollpane .container').addClass('follow-container');
}); 

<?php echo..行上出现错误标记,谁能告诉我如何将其添加到JS文件中。

我已经将整个代码片段封装在script标记内。

3 个答案:

答案 0 :(得分:1)

您可以通过一种方式来做到这一点, 给元素属性像data-content然后在内容标签中放$(this).data(“ content”);因此,代码应如下所示:

jQuery( ".followlink" ).click(function(event){
    event.preventDefault();
    var $k = jQuery.noConflict();
$k.dialog({
    title: ' ',
    backgroundDismiss: true,
    content: jQuery( ".followlink" ).data("content"),

});
    $k('.jconfirm-scrollpane .container').addClass('follow-container');
}); 

答案 1 :(得分:0)

通常,PHP引擎不会解释javascript文件。您需要修改服务器的规则以使用PHP处理该文件,或将扩展名更改为.php。您还需要在输出任何内容之前更改结果的内容类型:

<?php
header('Content-Type: application/javascript');
?>

答案 2 :(得分:0)

您需要将JS用作PHP或将PHP外部化:

在您的PHP文件中执行此操作:

<script>var content = "<?php echo json_encode($this->getLayout()->createBlock('catalog/product_list')->setTemplate('catalog/product/list/followup-popup.phtml')->tohtml());?>"</script>  
<script src="yourjsfile.js"></script> 

并在js文件中包含content: content