1

Silverstripe プロジェクトでは、ajax を介してページ全体をロードしています。したがって、Page-Contoller に次の関数を追加しました。

public function ajax(){
    return $this->renderWith('MyTemplate');
}

これは今のところ問題なく動作しており、mysite.com/mypage/ajax を参照すると、ページが思いどおりにレンダリングされます。唯一の問題は、テンプレート「MyTemplate」に含まれる JS/CSS ファイルです。

<% require javascript(my.js) %>
<% require css(my.css) %>

css/js はソース コードに表示されません。テンプレート「MyTemplate」の一部ですが、なぜか含まれていません。

では、silverstripe メソッドを使用して css/js をクールな方法で追加する方法はありますか?

私はこれを試しました:

public function ajax(){
    Requirements::css("my.js");
    return $this->renderWith('ProjectPage');
}

しかし、これまでのところ成功していません。どうもありがとう、フロリアン

4

1 に答える 1

1

Silverstripe のバージョンに応じて、次の JavaScript ファイルをサイトにロードする必要があります。

SS3 - /framework/javascript/jquery-ondemand/jquery.ondemand.js

また

SS2.4 -/sapphire/javascript/core/jquery.ondemand.js

私が理解する限りでは; ajax リクエストを行うと、新しい css または javascript 要件がリクエスト ヘッダーに追加されます。次に、リクエストが成功すると、ondemand.js がそれらのスクリプトをドキュメントに取り込みます (まだそこにない場合)。

于 2012-09-05T06:19:54.790 に答える