17

I want to get skin URL of my current theme. At present I am working in Magento "rwd" theme.

And I am using below code to get skin URL:

Mage::getDesign()->getSkinUrl();

This returns me URL http://localhost/magento/skin/frontend/default/default/

but I need URL like: http://localhost/magento/skin/frontend/rwd/default/

Please help me.

8
  • the above code works fine for me , check in the backend you assigned correctly Commented Jul 10, 2015 at 9:04
  • Are you calling any file at all? Commented Jul 10, 2015 at 9:07
  • At backend I am setting rwd theme in design.But no effect in this function. Commented Jul 10, 2015 at 9:19
  • @AdarshKhatri I am calling this function in php file Commented Jul 10, 2015 at 9:20
  • I meant, any css js img file? Could you add your full code how you are calling and where? Commented Jul 10, 2015 at 9:21

4 Answers 4

43

I have used following command to get different URL in magento Get Url in phtml files

1. Get Base Url :

Mage::getBaseUrl();

2. Get Skin Url :

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);

(a) Unsecure Skin Url :

$this->getSkinUrl('images/imagename.jpg');

(b) Secure Skin Url :

$this->getSkinUrl('images/imagename.gif', array('_secure'=>true));

3. Get Media Url :

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);

4. Get Js Url :

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);

5. Get Store Url :

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);

6. Get Current Url

Mage::helper('core/url')->getCurrentUrl();

Get Url in cms pages or static blocks

1. Get Base Url :

{{store url=""}}

2. Get Skin Url :

{{skin url='images/imagename.jpg'}}

3. Get Media Url :

{{media url='/imagename.jpg'}}

4. Get Store Url :

{{store url='mypage.html'}}

I think this will help you.

4
  • 1
    Please explain, in which context you call $this->getSkinUrl() - i.e. what is $this?. The rest is a nice list, but irrelevant to OPs question Commented Jul 10, 2015 at 13:15
  • 1
    You can use : Mage::getBaseUrl('skin').'/frontend/default/mytheme/'; Commented Jul 10, 2015 at 18:06
  • 1
    $this is the block in this context. e.g., if you are rendering the current template using following code <block type="core/template" name="my_block" template="page/html/my_template.phtml" />, $this in the phtml file will refer to a block of type Mage_Core_Block_Template
    – Ejaz
    Commented Mar 29, 2018 at 13:23
  • Note that getSkinUrl accepts parameters. So you can do for example: {{skin url="imagename.jpg" _package="mypackage" _theme="default" _area="frontend"}}. More at \Mage_Core_Model_Design_Package::getSkinUrl. Commented Jul 20, 2021 at 1:34
6

You can easily avail the current URL of your existing Magento theme by using the below-mentioned code:

<?php echo $this->getSkinUrl();?>
2

When you are using

Mage::getDesign()->getSkinUrl($file = null, array $params = array());  

You should pass in the $file parameter for the resource you are trying to retrieve; e.g.:

Mage::getDesign()->getSkinUrl('images/example.png');  

Magento will automatically search in your site's set theme first and if it's not there it will continue its search using the theme fallback.

0

This happens when you default theme is default and rwd theme do not have requested image.

1
  • this is my case, thank you
    – Giuseppe
    Commented Dec 1, 2021 at 12:46

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.