Cakephp图像未显示在view.ctp中

I want to insert a rating star to my page using CakePHP. The path to the image is in javascript as below. But, the image didn't show.

$.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'

I already try using <?php echo $this->webroot; ?>img/icons/stars.png. but no luck. can anyone help me.

What I always do in my layout is to put a javascript variable like this:

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

This way you always have reference to the root of your project.

Then your code will be:

$.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'

The problem which I see here is that phpPath point to app/ which I believe is invisible since the root of the project is set to app/webroot/.

So either move your file jRating.php to app/webroot/ or move the logic into controller's action.

Use $this->Html->image() instead. The function retrieves and adds routing to the image located in app/webroot/img.

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