创建主页面和子页面

接下来我们实现网站的新闻模块,为了实现该模块,首先要创建两个文档类型,分别命名为News Main和News Item,其中News Main作为新闻模块的主页面存在,News Item对应相应的单个新闻,编辑人员可以在主页面下创建任意多个子页面。具体操作流程如下:

创建文档类型News Main,并保证创建相关模板页的复选框为选中状态,添加新的选项卡“简介”,并创建从属于该选项卡的两个属性:“新闻主页标题”和“新闻主页内容”,如下图所示:


接下来创建文档类型News Item,并保证创建相关模板页的复选框为选中状态,添加新的选项卡“内容”,并创建从属于该选项卡的两个属性:“新闻标题”和“新闻内容”,如下图所示:



接下来设置文档类型的层级机构,在Homepage的structure选项卡下的允许子项节点类型中选中New Main,同样在News Main的允许子项节点类型中选中News Item,保存后就可以在内容树中创建相应的节点,如下图所示:


为了在页面上显示内容,接下来我们要编辑模板代码,首先分别选中News Main模板和News Item模板,在属性选项卡下,将他们的母版设置成Master,保存后节点将自动移动到Master节点下面。下一步将Simple Content Page中的代码分别拷贝到News Main和News Item模板中,并替换相应的显示属性,例如将@Umbraco.Field("pageTitle")替换成@Umbraco.Field("newsMainTitle"),同样的方法替换newsMainContent、newsTitle和newsContent。现在打开页面,可以看到我们内容正确的显示了出来。

最后一步就是在新闻主页上显示所有的新闻列表。选择开发菜单,选中局部视图宏,点击创建,输入文件名ListNews,Snippet选择List Child Pages Ordered By Date,这样我们创建的新闻类表将按照创建时间排序,Create Macro保持选中状态,最后点击创建。创建成功后,我们要将创建的宏添加到新闻主页面上,首先选中News Main模板,将鼠标定位到要显示新闻列表的位置,点击Insert Marco按钮,选择ListNews,添加完成后代码如下:

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
    Layout = "Master.cshtml";
}

<div id="main-container">
    <div id="main" class="wrapper clearfix">
        <section>
            <h2>@Umbraco.Field("newsMainTitle")</h2>
            <p>@Umbraco.Field("newsMainContent")</p>
		@Umbraco.RenderMacro("ListNews")
        </section>  
    </div> <!-- #main -->
</div> <!-- #main-container -->

此时重刷页面,可以看到新闻的一个链接类表,为了更详细的显示新闻列表的内容,我们将ListNews宏的代码更改如下:

@inherits Umbraco.Web.Macros.PartialViewMacroPage

@* OrderBy() takes the property to sort by and optionally order desc/asc *@

@foreach (var page in CurrentPage.Children.Where("Visible").OrderBy("CreateDate desc"))
{ 
    <div class="article">
        <div class="articletitle"><a href="@page.Url">@page.NewsTitle</a></div>
        <div class="articlepreview">@Umbraco.Truncate(@page.NewsContent,100) <a href="@page.Url">了解更多..</a></div>
    </div>
    <hr/>
}

重刷后,新闻主页面最终显示如下:


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,可以在页面中添加子页面,使用的是JPanel作为子页面所在的容器。可以通过在页面中添加JPanel组件,然后在JPanel中添加其他UI组件来实现这一目标。 以下是一个示例代码片段,演示如何在页面中添加一个带有按钮和文本框的子页面: ```java import javax.swing.*; public class MainFrame extends JFrame { private JPanel mainPanel; private JPanel subPanel; public MainFrame() { // 设置页面的大小和标题 setSize(400, 300); setTitle("Main Frame"); // 创建页面的JPanel容器 mainPanel = new JPanel(); // 创建页面的JPanel容器 subPanel = new JPanel(); // 创建一个文本框和一个按钮,并将它们添加到子页面的JPanel中 JTextField textField = new JTextField(20); JButton button = new JButton("Submit"); subPanel.add(textField); subPanel.add(button); // 将子页面的JPanel添加到页面的JPanel中 mainPanel.add(subPanel); // 将页面的JPanel添加到页面中 add(mainPanel); } public static void main(String[] args) { MainFrame frame = new MainFrame(); frame.setVisible(true); } } ``` 在上面的示例中,我们创建了一个JPanel作为页面的容器,然后创建了另一个JPanel作为子页面的容器。在子页面的容器中,我们添加了一个文本框和一个按钮。最后,我们将子页面的容器添加到页面的容器中,然后将页面的容器添加到页面。运行该程序后,您将在页面中看到一个带有文本框和按钮的子页面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值