【问题标题】:magento Get Base Url , Skin Url , Media Url , Js Url , Store Url and Current Url for securemagento 获取 Base Url 、 Skin Url 、 Media Url 、 Js Url 、 Store Url 和 Current Url 以确保安全
【发布时间】:2013-08-10 11:21:57
【问题描述】:

我是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 集成。任何帮助和建议将不胜感激。谢谢

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    以下 URL 访问列表

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

    1. 基本网址:

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

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

      也只存储网址

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

      仅获取媒体 URL

      {{media url=''}}
      

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

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

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

      只获取皮肤 URL

      {{skin url=''}}
      


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

    1. 在magento中获取Base Url:

      $baseurl = Mage::getBaseUrl();
      

      获取没有 index.php 的 Base Url

      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);
      

      不安全的皮肤 URL:

      $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');
      

    【讨论】:

      【解决方案2】:

      给你。

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

      【讨论】:

      • 那么Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS);以防js文件呢
      • ok..如果我有 10 个不同名称的不同 js 文件,那么如何使它们安全?
      • 你已经可以使用上面的方法给你js安全的url了!!并根据需要使用网址???
      【解决方案3】:

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

      Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);
      

      为什么投反对票?

      【讨论】:

      • 您可能投了反对票,因为这种文化认为新用户是最坏的,并且在 Stack Overflow 上不受欢迎。您的回复非常适合我的需求。我需要媒体网址并将“URL_TYPE_SKIN”替换为“URL_TYPE_MEDIA”。它也适用。
      猜你喜欢
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      相关资源
      最近更新 更多