2

まず、私はここにいましたが、それは役に立ちません。

$this->getSkinUrl()

パスではなくURLを返すので、私が望むものではありません

Mage::getBaseDir('skin');

スキンベースディレクトリを返します。そこには多くのテーマがある可能性があります。

現在のテーマのベースディレクトリを確認したい。

4

3 に答える 3

14

これを試して:

Mage::getSingleton('core/design_package')->getSkinBaseDir()
于 2012-06-11T17:07:17.143 に答える
-1

多くのテーマがあるかもしれませんが、それはあなたが設定したものを使用し、システム>設定>デザインで使用されたかもしれないパッケージ/テーマにまで行きます

あなたがdirを探しているなら、

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;
}
于 2012-06-11T16:32:49.527 に答える
-4

現在のパスを取得する方法は次のとおりです

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

parse_urlに関する詳細

于 2012-06-11T16:30:03.503 に答える