2012-04-28 9 views
1

プレーンなJavaScriptファイルでeZPublishのmodule-pathを見つける方法はありますか?JavaScriptのezurl演算子

JSからモジュールを呼び出す必要がありますが、モジュールにURLをハードコードしません。 JavaScriptにezurl()テンプレート演算子のような関数か、モジュールuriと連結するeZPublsihのベースパスを定義する関数がありますか?私はどのようにURL書き換え構造体/ siteaccesを見つけるか分からない...

情報を必要とするスクリプトがロードされる前に、 'テンプレート内の' js-スニペットでパスを定義することはできません。

だから私はこのような何か...

var moduleUrl = getEzPublishBasePath() + '/mymodule/myview'; 

または

var moduleUrl = createEzPublishModuleUrl('/mymodule/myview'); 

Thxをする必要があります。あなたの助けに。

答えて

3

pagelayoutにグローバルjs変数を宣言してから、スクリプトを使用する必要があるスクリプトを呼び出すことはできますか?

var moduleUrl = {'/'|ezroot()}; 
+0

私の質問で書いたように...私はできません。この場合、私はすべてのjs-worksでDOM対応の準備が整うのを待たなければならないからです。 –

1

ウェブサイトのベースURLを連結したい場合は、ezurl()演算子を使用してください。 ezroot()を使用すると、サイトアクセス識別子にURIのプレフィックスが付かないため、問題が発生します。 (この設定はconfiguration files sectionに記載されていない

  • RemoveSiteAccessIfDefaultAccessを持つ単一のサイトアクセスのインストール=有効:用を作品人々は通常失われ、(ezroot以来の本当の違いを理解していない、と述べた

    ) )。

  • host/port modesを使用する場合、複数のサイトへのアクセスがインストールされます。

これらの演算子は非常に異なる目標を持っていることに注意してください:

  • ezurl()では、システムのURL(またはシステムのURLの仮想URLですURLエイリアス)/ユーザー/ログインなどを処理するのに役立ちますが、{ $ node.url_alias}。
  • ezroot()は静的リソースを処理するのに役立つために使用されると認識しているしているあなたは
  • ezdesign()ezimage()(例えばPDF、フラッシュ、画像、...など)、ストアド・イン・ezpublishファイルに対して、リソースのURL /パスを処理するのに役立ちますdesign fallback system