如何将javascript代码包含到php视图中?

时间:2019-01-20 09:20:33

标签: javascript php jquery yii2

我必须打印news.php代码,将其注册为可变变量,以放入另一个视图的网格中。我的主要问题是news.php中的代码没有显示任何内容,尽管我确定脚本可以正常工作,但编译后它只是空白。

我已经尝试将news.php转换为news.js,但是没有任何变化,我想registerJs()中存在问题。

news.php

<head>
<script type="text/javascript" 

src="http://islab.di.unimi.it/content/islab_site/media/com_islabteachpages/js/jquerynews.js"></script>
<script type="text/javascript" src="http://islab.di.unimi.it/content/islab_site/media/com_islabteachpages/js/jquery.jfeed.pack.js"></script>
<script type="text/javascript">
    jQuery(function() {
        jQuery.getFeed({
            url: 'http://islab.di.unimi.it/iNewsMail/feed.php?channel=bdlab1',
            success: function(feed) {
                var html = '';
                for(var i = 0; i < feed.items.length && i < 10; i++) {

                    var item = feed.items[i];
                    html += '<div class="body-news">'
                        + '<b>'
                        + item.title
                        + '</b><br />'
                        + '<div>'
                        + item.description
                        + '</div>'
                        + ' </div>';
                }
                jQuery('#newsresult').append(html);
            }
        });
    });
</script>
</head>
<body>

<div id="newsresult">

</div>
</body>

view.php

     # put the js script inside my $news variable
     $this->registerJsFile(
         '@web/views/news.php',
         View::POS_HEAD);
     );
     echo '<div class="uk-grid">
            <div class="uk-width-2-3">
                <div class="itp_middle uk-width-1-1 uk-width-medium-3-5">
                    <div class="itp_section-1 ">
                        <div class="text">'
                            . $rows['content'] . '
                        </div>
                    </div>
                </div>
            </div>
            <div class="uk-width-1-3">
                <div class="text">'
                    . $news . '
                </div>
            </div>
        </div>';

我希望js代码显示在网格内。每一个帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

如果您未在页面中加载jQuery,如何执行与jQuery相关的javascript代码。它将直接引发错误。您只需打开浏览器的控制台即可轻松解决此类错误。