magento获取Base Url,Skin Url,Media Url,Js Url,Store Url和Current Url以确保安全

时间:2013-08-10 11:21:58

标签: magento magento-1.7

我是magento的新手。我正在开发一个模块。为此我有一些cssjs文件,我想显示链接。我目前有像

这样的链接
<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('module_tryouts/css/jquery.fancybox-1.3.1.css');?>" media="all" />

<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('module_tryouts/css/jquery-ui-1.8.custom.css');?>" media="all" />

但在浏览了一些链接之后,我才知道该链接应该是安全的,以便模块可以与mazebridge集成。

http://jagdeepbanga.com/blog/magento-get-base-url-skin-url-media-url-js-url-store-url-and-current-url.html

http://www.webdosh.net/2011/04/magento-get-skin-url-get-media-url-get.html

http://www.magentocommerce.com/boards/viewthread/7894/

http://www.yireo.com/tutorials/magebridge/integrations/1213-integrating-magebridge-with-other-magento-extensions

有人可以告诉我如何解决这个问题吗?如何提供js和css,图像文件的安全链接,以便它可以与mazebridge集成。任何帮助和建议将非常感激。感谢

3 个答案:

答案 0 :(得分:8)

URL访问列表

获取CMS页面或静态块中的URL

  1. 基本网址:

    {{base url=''}}
    
  2. 商店网址:

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

    也只存储网址

    {{store url=""}}
    
  3. 媒体网址:

    仅获取媒体网址

    {{media url=''}}
    

    如果你得到一些文件夹路径

    {{media url='imagefolder/imagename.jpg'}}
    
  4. 皮肤网址:

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

    仅获取皮肤网址

    {skin url=''}}
    

  5. 获取PHP文件中的URL(包括模板/ PHTML)

    1. 在magento中获取Base Url:

      $baseurl = Mage::getBaseUrl();
      

      获取没有index.php的基本网址

      Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB); 
      
      // output: http://example.com/
      
    2. 当前网址

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

      $currentUrl = Mage::getUrl('*/*/*', array('_current' => true));
      

      if (!in_array(Mage::app()->getFrontController()->getAction()->getFullActionName(), array('cms_index_noRoute', 'cms_index_defaultNoRoute'))) 
      {
          $currentUrl = Mage::helper('core/url')->getCurrentUrl();
      }
      
    3. 皮肤网址:

      $skinUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);
      

      不安全的皮肤网址:

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

      安全皮肤网址:

      $this->getSkinUrl('images/imagename.gif', array('_secure'=>true));
      
    4. 媒体网址

      $mediaUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
      

      $mediaUrl = Mage::getBaseUrl('media');
      
    5. 获取Js网址:

      $jsUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);
      

      $jsUrl = Mage::getBaseUrl('js');
      
    6. 获取商店网址:

      $storeUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
      
    7. 获取主页网址:

      $homeUrl= Mage::helper('core/url')->getHomeUrl();
      
    8. 获取目录路径

      Mage::getBaseDir('design') // Get design directory path
      Mage::getBaseDir('code')   // Gives code directory file path
      Mage::getBaseDir('lib')    // Gives lib directory file path
      Mage::getBaseDir('skin')   // Gives skin directory file path
      Mage::getBaseDir('var')    // Gives var directory file path
      Mage::getBaseDir('cache')  // Gives cache directory file path
      Mage::getBaseDir('log')    // Gives log directory file path
      
    9. 创建模块网址:

      Mage::getUrl('module/controller/action');
      

答案 1 :(得分:1)

你走了。

<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('module_tryouts/css/jquery.fancybox-1.3.1.css',array('_secure'=>true));?>" media="all" />

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS,true); // this is secure for js in your comment.

答案 2 :(得分:0)

获取皮肤网址的最佳方法是使用以下代码段:

Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);

为什么选择downvote?