cms以外のページを作成することはできますか?
例えば:
jquery .load() を使用して、セグメントを現在のページにロードしたいと考えています。
テーマ フォルダのどこかに html または .ss ファイルを作成することは可能ですか。たとえば、self-contained-page.html です。ページ。
cms以外のページを作成することはできますか?
例えば:
jquery .load() を使用して、セグメントを現在のページにロードしたいと考えています。
テーマ フォルダのどこかに html または .ss ファイルを作成することは可能ですか。たとえば、self-contained-page.html です。ページ。
もちろん、静的ファイルを提供することもできますが、ページの一部を "ajaxify" することもできます。それがあなたのやりたいことかどうかはわかりませんが、他の誰かが似たようなことをしようとしている場合に備えて。
pjaxやhistory.jsなどの高度なツールを使用することもできますが、手動で行うこともできます。私は最近 SS 2.4 でこれを行いましたが、SS 3 はかなり似ているはずです:
コントローラーにパブリック関数を追加して、/yourpage/load (または任意の名前) 経由でアクセスできるようにします。
public function load(){
return $this->renderWith(array('AjaxLoad'));
}
テンプレート/レイアウトにファイル AjaxLoad.ss を追加します。
.load()
、ファイル内にコンテンツを追加するだけです。<% include PageSnippet %>
、一般ページと ajax 化されたページの両方で使用してください。次に、 templates/Include/PageSnippet.ssでコンテンツを定義するだけです。http://www.contentaward.at/content-lab-vienna/608#detailsで実際の動作を確認できます(ページの下部にある小さな画像をクリックしてください)。これが明確になることを願っています。
silverstripeインストールのどこからでも静的htmlファイルを提供することに問題はありません。常にファイル拡張子をURLに追加することに注意してください。そうしないと、silverstripeのURLルーティング(mod_rewriteを使用。.htaccessファイルを参照)が開始されます。
また、常にファイルへのフルパスを使用することに注意してください。したがって、ファイルを「themes / mytheme / test.html」に配置した場合、URLは「http://www.domain.com/themes/mytheme/test」になります。 html '
もちろん、css ファイルの場合と同じように、テーマ フォルダー内の html ファイルを参照できます。
www.domain.com/themes/yourtheme/self-contained-paged.html
テーマ フォルダに配置しなくても構わない場合は、ルート ディレクトリに配置することもできます。
または、.htaccess を変更して、テーマ フォルダーを指すように mod_rewrite またはリダイレクト ルールを適用することもできます。
.ss ファイルを使用する場合は、おそらく CMS ページを使用する必要があります。