According to the block hints, configurable products display the price typically from app/design/frontend/base/default/template/catalog/product/price.phtml.

However, we are making changes to that file in our custom package/theme and only the simple products respond. The configurables continue to show the old version of price.phtml in our theme. Even if we disable that file with an underscore, it continues to display the old price.phtml in our theme. The only way it goes away at all is if we remove price.phtml from the base folder too. Then we get no price at all.

Will someone please explain how to control the price display in configurable products using a custom file?

  • Did you check cache is enable or disable or compilation as well? and first check this issue coming for simple product or not?
    – Nits
    Commented May 14, 2016 at 5:45

1 Answer 1


First, view the page source of a configurable product and make sure that http://www.yourdomain.com/js/varien/configurable.js is present. That is where the javascript that controls the price display is located.

Next, in the page source, make sure that you see spConfig defined. It should look similar to this:

<script type="text/javascript">
    var spConfig = new Product.Config({"attributes":{"92":{"id":"92","code":"color","label":"Color","options":[{"id":"20","label":"Black","price":"0","oldPrice":"0","products":["284","878","880","881"]},{"id":"21","label":"Pink","price":"0","oldPrice":"0","products":["282","283","510","511"]}]},"180":{"id":"180","code":"size","label":"Size","options":[{"id":"78","label":"L","price":"0","oldPrice":"0","products":["284"]},{"id":"79","label":"M","price":"0","oldPrice":"0","products":["878","283"]},{"id":"80","label":"S","price":"0","oldPrice":"0","products":["282","881"]},{"id":"81","label":"XS","price":"0","oldPrice":"0","products":["510","880"]},{"id":"77","label":"XL","price":"0","oldPrice":"0","products":["511"]}]}},"template":"$#{price}","basePrice":"150","oldPrice":"150","productId":"877","chooseText":"Choose an Option...","taxConfig":{"includeTax":false,"showIncludeTax":false,"showBothPrices":false,"defaultTax":7,"currentTax":8.25,"inclTaxTitle":"Incl. Tax"}});

spConfig gets defined in catalog/product/view/type/options/configurable.phtml.

You will also notice in, js/varien/configurable.js, on line 291(or close to it) depending on your version of Magento, that the price display gets reloaded with this little snippet.

    $('product-price-'+this.config.productId).innerHTML = price;

Also, the same snippet above is used for reloading the old price, referenced by id like this: $('old-price-'+this.config.productId)

My guess is that maybe while customizing your price template that you inadvertently either deleted this html id from the price element or maybe changed it.

Please let me know how you make out.

  • @Scot if my answer worked for you or got you going in the right direction, please accept it so that I may get my reputation points, its been a while. Thanks :-) Commented Aug 13, 2016 at 4:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.