【问题标题】:How to get Magento theme directory?如何获取 Magento 主题目录?
【发布时间】:2012-06-11 16:22:10
【问题描述】:

首先,我是here,但这并没有帮助,因为

$this->getSkinUrl()

不是我想要的,因为它返回 URL 而不是 path

Mage::getBaseDir('skin');

返回皮肤基础目录,那里可能有很多主题..

我想确定当前的主题基础目录。

【问题讨论】:

    标签: magento magento-1.6


    【解决方案1】:

    试试这个:

    Mage::getSingleton('core/design_package')->getSkinBaseDir()
    

    【讨论】:

      【解决方案2】:

      可能有很多主题,但它会使用您配置的任何内容,并且会一直用到可能在 System > Config > Design 中使用过的包/主题

      如果你正在寻找目录,

      Mage_Core_Model_Design_Package::getSkinBaseDir()

      public function getSkinBaseDir(array $params=array())
      {
          $params['_type'] = 'skin';
          $this->updateParamDefaults($params);
          $baseDir = (empty($params['_relative']) ? Mage::getBaseDir('skin').DS : '').
              $params['_area'].DS.$params['_package'].DS.$params['_theme'];
          return $baseDir;
      }
      
      public function updateParamDefaults(array &$params)
      {
          if ($this->getStore()) {
              $params['_store'] = $this->getStore();
          }
          if (empty($params['_area'])) {
              $params['_area'] = $this->getArea();
          }
          if (empty($params['_package'])) {
              $params['_package'] = $this->getPackageName();
          }
          if (empty($params['_theme'])) {
              $params['_theme'] = $this->getTheme( (isset($params['_type'])) ? $params['_type'] : '' );
          }
          if (empty($params['_default'])) {
              $params['_default'] = false;
          }
          return $this;
      }
      

      【讨论】:

        【解决方案3】:

        这是获取当前路径的方法

        $_SERVER['DOCUMENT_ROOT'].parse_url($this->getSkinUrl(''),PHP_URL_PATH);
        

        更多关于parse_url的详情

        【讨论】:

        • @sonia - 我不确定为什么这个答案被接受了。我会尽量避免在 Magento 等框架中使用这样的代码
        • 同意。这是一个非常糟糕的 Magento 内部,因为它会完全破坏主题后备。因为您只应该将已编辑的文件移动到您的包/主题中,并让系统回退到其他所有内容的基本/默认值。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多