まず、私はここにいましたが、それは役に立ちません。
$this->getSkinUrl()
パスではなくURLを返すので、私が望むものではありません
Mage::getBaseDir('skin');
スキンベースディレクトリを返します。そこには多くのテーマがある可能性があります。
現在のテーマのベースディレクトリを確認したい。
まず、私はここにいましたが、それは役に立ちません。
$this->getSkinUrl()
パスではなくURLを返すので、私が望むものではありません
Mage::getBaseDir('skin');
スキンベースディレクトリを返します。そこには多くのテーマがある可能性があります。
現在のテーマのベースディレクトリを確認したい。
これを試して:
Mage::getSingleton('core/design_package')->getSkinBaseDir()
多くのテーマがあるかもしれませんが、それはあなたが設定したものを使用し、システム>設定>デザインで使用されたかもしれないパッケージ/テーマにまで行きます
あなたが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;
}
現在のパスを取得する方法は次のとおりです
$_SERVER['DOCUMENT_ROOT'].parse_url($this->getSkinUrl(''),PHP_URL_PATH);
parse_urlに関する詳細