44

myfunc.php に保存した Magento ストア用のカスタム PHP 関数がいくつかあり、いくつかの異なる .phtml ファイルからそれを要求する必要があります。それ、どうやったら出来るの?

つまり、絶対パスを使用できますが、それは汚れており、別のサーバーに移行するときに問題になる可能性があります。

今のところ、私は立ち往生しています:

require('/home/myuser/public_html/app/design/frontend/default/mytheme/myfunc.php');

プログラムでスキン パス ( /home/myuser/public_html/app/design/frontend/default/mytheme/ ) を参照するにはどうすればよいですか?

4

6 に答える 6

107

Magento テーマが実際の URL を処理する方法は次のとおりです (ビューのパーシャル - phtml ファイル):

echo $this->getSkinUrl('images/logo.png');

イメージ ディレクトリへのディスク上の実際のベース パスが必要な場合は、次を使用します。

echo Mage::getBaseDir('skin');

次の素晴らしいブログ投稿で、さらにいくつかのベース ディレクトリ タイプを利用できます。

http://alanstorm.com/magento_base_directories

于 2012-04-28T04:39:31.637 に答える
18

最初に注意してください

Mage::getBaseDir('skin')

Magentoインストールのスキンディレクトリ(/ your / magento / dir / skin )へのパスのみを返します。

次を使用して、現在使用されているスキンディレクトリへの絶対パスにアクセスできます。

Mage::getDesign()->getSkinBaseDir()

このメソッドは、結果を変更するためのオプションのパラメーターとして連想配列を受け入れます。

次のキーが認識されます。

  • _area フロントエンド(デフォルト)またはadminhtml
  • _パッケージをパッケージ化する
  • _themeあなたのテーマ
  • _relativeこれが(キーとして)設定されている場合、Mage :: getBaseDir('skin')を基準にしたパスが返されます。

したがって、あなたの場合、正解は次のようになります。

require(Mage::getDesign()->getSkinBaseDir().DS.'myfunc.php');
于 2013-03-07T16:25:05.417 に答える
13

phtml apply で使用するには:

echo $this->getSkinUrl('your_image_folder_under_skin/image_name.png');

cmsページでスキンパスを使用するには:

<img style="width: 715px; height: 266px;" src="{{skin url=images/banner1.jpg}}" alt="title" />

この部分====> {{skin url=images/banner1.jpg}}

これがお役に立てば幸いです。

于 2012-10-11T14:32:48.647 に答える
-1

そのファイルを取得するには、以下のコードを使用します。

include(Mage::getBaseDir('skin').'myfunc.php');

しかし、それは正しい方法ではありません。カスタム関数を追加するには、以下のファイルを使用できます。

app/code/core/Mage/core/functions.php

スキン ディレクトリの下で PHP 関数を使用することは避けてください。

于 2012-04-30T13:31:27.357 に答える