0

cms以外のページを作成することはできますか?

例えば:

jquery .load() を使用して、セグメントを現在のページにロードしたいと考えています。

テーマ フォルダのどこかに html または .ss ファイルを作成することは可能ですか。たとえば、self-contained-page.html です。ページ。

4

3 に答える 3

2

もちろん、静的ファイルを提供することもできますが、ページの一部を "ajaxify" することもできます。それがあなたのやりたいことかどうかはわかりませんが、他の誰かが似たようなことをしようとしている場合に備えて。

pjaxhistory.jsなどの高度なツールを使用することもできますが、手動で行うこともできます。私は最近 SS 2.4 でこれを行いましたが、SS 3 はかなり似ているはずです:

コントローラーにパブリック関数を追加して、/yourpage/load (または任意の名前) 経由でアクセスできるようにします。

   public function load(){
       return $this->renderWith(array('AjaxLoad'));
   }

テンプレート/レイアウトにファイル AjaxLoad.ss を追加します。

  • そのページを jQuery 経由でのみ提供したい場合は.load()、ファイル内にコンテンツを追加するだけです。
  • 通常のページの両方でコンテンツを使用し、それを ajax 化されたバージョンに置き換えたい場合は<% include PageSnippet %>、一般ページと ajax 化されたページの両方で使用してください。次に、 templates/Include/PageSnippet.ssでコンテンツを定義するだけです。

http://www.contentaward.at/content-lab-vienna/608#detailsで実際の動作を確認できます(ページの下部にある小さな画像をクリックしてください)。これが明確になることを願っています。

于 2013-03-05T13:11:33.437 に答える
1

silverstripeインストールのどこからでも静的htmlファイルを提供することに問題はありません。常にファイル拡張子をURLに追加することに注意してください。そうしないと、silverstripeのURLルーティング(mod_rewriteを使用。.htaccessファイルを参照)が開始されます。

また、常にファイルへのフルパスを使用することに注意してください。したがって、ファイルを「themes / mytheme / test.html」に配置した場合、URLは「http://www.domain.com/themes/mytheme/test」になります。 html '

于 2013-03-05T08:34:36.993 に答える
0

もちろん、css ファイルの場合と同じように、テーマ フォルダー内の html ファイルを参照できます。

www.domain.com/themes/yourtheme/self-contained-paged.html

テーマ フォルダに配置しなくても構わない場合は、ルート ディレクトリに配置することもできます。
または、.htaccess を変更して、テーマ フォルダーを指すように mod_rewrite またはリダイレクト ルールを適用することもできます。

.ss ファイルを使用する場合は、おそらく CMS ページを使用する必要があります。

于 2013-03-05T08:36:15.163 に答える