Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在silverstripe中创建不调用默认page.ss模板的页面_Silverstripe - Fatal编程技术网

如何在silverstripe中创建不调用默认page.ss模板的页面

如何在silverstripe中创建不调用默认page.ss模板的页面,silverstripe,Silverstripe,我需要为主页制作一个“正在建设”的页面 我创建的所有模板都使用默认的Page.ss来构建head/nav和footer。但在构建页面中,我不想这样做 如何在新页面类型中省略Page.ss的使用? 这是我的Page。SS用作创建每个页面类型的基础。 <!doctype html> <html lang="en"> <head> <% base_tag %> <meta name="viewport" content="width

我需要为主页制作一个“正在建设”的页面

我创建的所有模板都使用默认的Page.ss来构建head/nav和footer。但在构建页面中,我不想这样做

如何在新页面类型中省略Page.ss的使用?

这是我的Page。SS用作创建每个页面类型

的基础。
<!doctype html>
<html lang="en">
<head>
    <% base_tag %>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    $MetaTags
</head>

<body>
    <% include GraphicHeader %>
    <% include HeadNav %>

    $Layout

    <% include Footer %>           
</body>

$MetaTags
$Layout

您可以使用类似的维护模式模块,并将页面改为“正在构建”

这将允许您在网站上工作,同时让公众看到“正在建设”,直到您准备打开它。

您的主题中有两个名为Page.ss的文件

  • /主题/yourtheme/templates/Page.ss,用于站点外部结构(
  • /themes/yourtheme/templates/Layout/Page.ss通过
    $Layout
    变量包含,并定义每种页面类型的内部结构
您的
Page\u控制器
会自动尝试使用名为like-it's related Page class(如主页)的模板呈现自身,并搜索布局和基本模板。如果找不到,它会返回到名为父类等的模板,直到找到您的
Page.ss

这对模板、外部布局和内部布局都有效

因此,如果您的主页类被称为
HomePage
,只需在/themes/yourtheme/templates/中放置一个HomePage.ss,它由
HomePage
及其子类执行


使用维护模块(请参阅Robbie Averill的答案)可能是您的一个更可靠的解决方案。

感谢您的深入回答。这有助于我更好地理解正在发生的事情,并且我能够创造出我想要的东西。