Cakephp图像未显示在view.ctp中

时间:2014-01-02 09:02:05

标签: javascript php cakephp

我想使用CakePHP将评级星插入我的页面。图像的路径在javascript中,如下所示。但是,图像没有显示出来。

$.fn.jRating = function(op) {
        var defaults = {
            /** String vars **/
            bigStarsPath : '../img/icons/stars.png' , // path of the icon stars.png
            smallStarsPath : '../img/icons/small.png', // path of the icon small.png
            phpPath : 'app/jRating.php', // path of the php file jRating.php
            type : 'big', // can be set to 'small' or 'big'

我已尝试使用<?php echo $this->webroot; ?>img/icons/stars.png。但没有运气。任何人都可以帮助我。

3 个答案:

答案 0 :(得分:2)

我在布局中总是做的是放一个像这样的javascript变量:

<script type="text/javascript">
var root = '<?php echo $this->Html->url('/'); ?>';
</script>

通过这种方式,您始终可以参考项目的根目录。

然后您的代码将是:

$.fn.jRating = function(op) {
    var defaults = {
        /** String vars **/
        bigStarsPath : root+'img/icons/stars.png' , // path of the icon stars.png
        smallStarsPath : root+'img/icons/small.png', // path of the icon small.png
        phpPath : 'app/jRating.php', // path of the php file jRating.php
        type : 'big', // can be set to 'small' or 'big'

我在这里看到的问题是phpPath指向app /我认为是不可见的,因为项目的根目录设置为app / webroot /。

因此,将文件jRating.php移动到app / webroot /或将逻辑移动到控制器的操作中。

答案 1 :(得分:0)

请改用$this->Html->image()。该函数检索并添加路由到app/webroot/img中的图像。

文档:http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html#HtmlHelper::image

答案 2 :(得分:0)

使用html帮助器,然后将URL设置如下:

../folder-name-in-webroot/file-name