如何获得Magento主题目录?

时间:2012-06-11 16:22:10

标签: magento magento-1.6

首先,我是here,但这没有用,因为

$this->getSkinUrl()

不是我想要的,因为它返回网址而非路径

Mage::getBaseDir('skin');

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

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

3 个答案:

答案 0 :(得分:14)

试试这个:

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

答案 1 :(得分:-1)

可能有许多主题,但它将使用您配置的任何内容,它将一直到可能已在System>中使用的包/主题。配置>设计

如果您正在寻找目录,

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

答案 2 :(得分:-4)

以下是如何获取当前主题路径

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

有关parse_url

的更多详情