SilverStripe 3:在CMS之外加载/创建页面

SilverStripe 3:在CMS之外加载/创建页面,silverstripe,Silverstripe,是否可以在cms之外创建页面 例如: 我想使用jquery.load()将段加载到当前页面中 是否可以在主题文件夹中的某个位置创建html或.ss文件,例如:self-contained-page.html,这样如果我访问www.domain.com/self-contained-paged.html,我就可以访问此页面。从silverstripe安装中的任何位置提供静态html文件都没有问题,只需注意始终将文件扩展名添加到url,否则silverstripe的url路由(使用mod_rewri

是否可以在cms之外创建页面

例如:

我想使用jquery.load()将段加载到当前页面中


是否可以在主题文件夹中的某个位置创建html或.ss文件,例如:self-contained-page.html,这样如果我访问www.domain.com/self-contained-paged.html,我就可以访问此页面。

从silverstripe安装中的任何位置提供静态html文件都没有问题,只需注意始终将文件扩展名添加到url,否则silverstripe的url路由(使用mod_rewrite,请参阅.htaccess文件)将生效


还要注意始终使用文件的完整路径,因此,如果您将文件放置在“themes/myteme/test.html”中,url将为“”

从silverstripe安装中的任何位置提供静态html文件都没有问题,只需注意始终将文件扩展名添加到url,否则silverstripe的url路由将是无效的(使用mod_rewrite,请参阅.htaccess文件)将启动


还要注意始终使用文件的完整路径,因此如果您将文件放在“themes/myteme/test.html”中,url将为“”

,您当然可以在主题文件夹中引用html文件,就像使用css文件一样,例如:

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

如果您不介意将其放在主题文件夹中,也可以将其放在根目录中。
或者您可以修改.htaccess并应用一些mod_重写或重定向规则以指向主题文件夹


如果您想使用.ss文件,您可能必须使用CMS页面。

您当然可以像使用css文件一样,在主题文件夹中引用html文件,例如:

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

如果您不介意将其放在主题文件夹中,也可以将其放在根目录中。
或者您可以修改.htaccess并应用一些mod_重写或重定向规则以指向主题文件夹


如果你想使用.ss文件,你可能必须使用CMS页面。

当然你可以提供静态文件,但你也可以“ajaxify”页面的一部分。不确定你是否想这样做,但以防其他人尝试做类似的事情

虽然你可以使用一些奇特的工具,如或,但你也可以手动操作。我最近用SS2.4做了这项工作,但SS3应该非常类似:

在控制器中,添加一个公共函数,以便您可以通过/yourpage/load(或任何您想调用的名称)访问它:

在模板/布局中添加一个文件AjaxLoad.ss

  • 如果您只想通过jQuery
    .load()
    提供该页面,只需将内容添加到文件中即可
  • 如果您想在常规页面上同时使用该内容并用ajaxified版本替换它,请在常规页面和ajaxified页面上同时使用
    。然后只需在templates/Include/PageSnippet.ss中定义内容即可

你可以在(点击页面底部的小图片)上看到它的运行。希望这能让你明白。

当然你可以提供静态文件,但你也可以“ajaxify”页面的部分。不确定这是否是你想要做的,但以防其他人尝试做类似的事情

虽然你可以使用一些奇特的工具,如或,但你也可以手动操作。我最近用SS2.4做了这项工作,但SS3应该非常类似:

在控制器中,添加一个公共函数,以便您可以通过/yourpage/load(或任何您想调用的名称)访问它:

在模板/布局中添加一个文件AjaxLoad.ss

  • 如果您只想通过jQuery
    .load()
    提供该页面,只需将内容添加到文件中即可
  • 如果您想在常规页面上同时使用该内容并用ajaxified版本替换它,请在常规页面和ajaxified页面上同时使用
    。然后只需在templates/Include/PageSnippet.ss中定义内容即可

你可以在(点击页面底部的小图片)上看到它的作用。希望这能让你明白。

在你的例子中,很好的工具提示悬停效果;)它总是最不重要的东西,最容易引起注意;)。。。因为它确实会带来不同!在您的示例中,工具提示悬停效果不错;)总是最不重要的事情得到最多的关注;)。。。因为它确实会带来不同!
   public function load(){
       return $this->renderWith(array('AjaxLoad'));
   }