Umbraco(7)-The Navigation Menu And A Parent Page with Infinite Children
原文链接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/umbraco7the-navigation-menu-and-a-parent-page-with-in-finite-children/
Master Template - The Navigation Menu
现在让我们开始解决导航菜单-这里有两个方法,你可以动态创建一个导航菜单的页面内容树中,这样当一个编译器创建了一个页面会自动出现,或者可以更简单的写硬编码。现在我们准备写硬编码(当你开始建立一个网站编写硬编码,你可以移动替换这个,这是一个好的办法)我们之后会让给你之后作为练习。编辑你的Master template编写<nav>标签:
<nav> |
保存你的更改,然后测试我们的菜单。你将会发现点击文章链接抛出Umbraco错误说我们没有创建这个页面。现在我们开始创建这些页面。
Articles Parent and Article Items - A Parent Page with Infinite Children
拥有一个父页面的文章和一些有关子文章的编译器可以自由添加一些很好例子页面。假设我们虚构的公司,小部件有限公司,一个月写十篇文章,希望文章页面就像一个博客(例如:只用这个功能你可以为你的博客添加一个新闻和事件页面)。
创建新的文档类型“Article Main”和“Article Item”。Document Types Settings > Document Types (hover) > ... > + Create。记得Master Document Type = "none.."
创建以下的Tabs和数据类型:
Articles Main
Tab = Intro
"Articles Title" - Type = Textstring
"Articles Body Text" - type = Rich Text Editor**
【图38】Article Main的文档类型和数据类型
Articles Item
Tab = Contents
"Article Title" - Type = Textstring
"Article Contents" - type = Rich Text Editor**
【图39】Article Item的文档类型和数据类型
现在到Settings > Document Types >Articles Main node > Structure tab > Allowed child nodetypes ,然后选择Article Item。这会允许我们在该目录下创建它的Item(它作为父容器)。当然我们还需要在Acticle Main的节点下创建Homepage node(Settings > Document Types > Homepage node > Structure tab > Allowed child nodetypes --不要选择Article Item 仅仅在主节点水平就可以)。
现在到Content > Homepage node (hover)> ... 创建一个新的节点是Articles Main类型的“Articles”(如果你发现没有这个选项,你需要返回检查你是否允许子节点--你忘记了点击保存)。给这篇文章节点添加一些内容和标题,然后创建几条内容节点在这个节点上(Content > Homepage node > Articles node (hover) > ...)。
现在你应该有一个内容树看起来类似下图(很明显这里显示的都是自己页面节点的名字)。接着让我们去更新我们刚刚创建的模板(当我们创建文档类型时会自动更新)。第一次更新他用Master作为主节点Settings > Templates > Articles Main node > Properties tab > Master template dropdown = "Master" -记得做类似Articles Item的事情,点击保存Save。
【图40】文章内容树节点
复制简单的内容页面模板,粘贴到每一个新建的模板中(记得点击保存)。然后替换页面字段相关的例句,比如:articlesTitle 和 articlesBodyText 替换为Articles Main 和 articleTitle ;articleContents 替换为Article Item。
如果我们现在去浏览器中检查我们的文章主页面,我们应该可以看到内容了。现在我们需要列出页面下的子节点,这样我们就可以看到我们的文章列表。Umbraco使这项任务变得很简单,但是我们需要使用Razor语言。
从左侧的菜单上选择Developer菜单,悬浮在Partial View Macros Files node 来获得更多的菜单...点击+ Create 。名称为“listArticles”,接着在Choose a snippet片段中选择“List Child Pages Ordered By Date”后点击Create。
【图41 模板父级文章和宏代码】
现在我们要做的就是连接文章主页列出我们的子文章。编辑主文章节点模板Settings > Templates node > Master node > Articles Main node > Template tab. 根据段落标签输入回车后点击Insert Macro按钮,然后点击保存按钮。
现在来检查我们的文章页面--编辑刚才创建的部分(宏)-Developer > Partial View Macro Files > listArticles.cshtml ,改变其内容为:
@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"))
|
现在去浏览器看一下我们的页面。

Umbraco(7)-The Navigation Menu And A Parent Page with Infinite Children的更多相关文章
- Pass value from child popup window to parent page window using JavaScript--reference
Here Mudassar Ahmed Khan has explained how to pass value from child popup window to parent page wind ...
- Ionic2中的Navigation.md
1. 概述 为了能够得到同原生应用类似的导航效果,Ionic创建了几个navagation组件来实现pages之间的导航操作,这种导航跟原生Angular2中的route机制是不一样的,我们可以借助于 ...
- iphone Dev 开发实例10:How To Add a Slide-out Sidebar Menu in Your Apps
Creating the Xcode Project With a basic idea about what we’ll build, let’s move on. You can create t ...
- [AngularJS] Reusable directive, require from parent controller
Glorious Directives for Our Navigation NoteWrangler navigation has now been broken into two parts: t ...
- Mvc htmlhelper that generates a menu from a controller
Simple menu system that grabs a list of actions from a single controller and creates an unordered li ...
- Windows-universal-samples学习笔记系列三:Navigation
Navigation Back Button Master/detail Navigation menu (XAML) Pivot Projection XHR, handling navigatio ...
- Tkinter Menu(菜单)
Tkinter Menu: 这个小工具的目标是,让我们来创建我们的应用程序,可以通过使用各种菜单.核心功能,提供的方式来创建三个菜单类型:弹出式,顶层,和下拉 这个小工具的目标是,让我们来创建 ...
- Xamarin.Forms中 Navigation,NavigationPage详解
1.Xamarin Forms下有四个成员类:Element,VisualElement,Page,NavigationPage 基类为Element,继承的子类分别是VisualElement,Pa ...
- Android开发 navigation入门详解
前言 Google 在2018年推出了 Android Jetpack,在Jetpack里有一种管理fragment的新架构模式,那就是navigation. 字面意思是导航,但是除了做APP引导页面 ...
随机推荐
- 【转】Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
Android-Universal-Image-Loader 原文地址:http://blog.csdn.net/vipzjyno1/article/details/23206387 这个图片异步加载 ...
- UI:UINavigationController、界面通信
IOS中实现对控制器的管理的控制器有:UINavigationController 和 UITableBarController 两个控制器.下面是主要学习前者. 参考 ⼀.UINavigationC ...
- Linux 批量添加用户
#!/bin/bashfor i in $(seq 1 50) #会建立1-50的用户douseradd student$i -g studentecho student$i |passwd ...
- iOS上传文件,有关http上传协议-RFC1867
以上是抓包HTML input file标签上传的内容 只要模拟上面http 的header跟body就可以成功. 整体说明: post 上传文件时,以在http body里面带参数,参数的格式,根据 ...
- 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理
近来的项目中用到了Extjs 的TabPanel,这也是Extjs最基本,最常用的组件了 网上或者书上的例子里大都是把tab项渲染到一个div中, 这对于在每个Tab页里加载一个页面的情况就不适合了 ...
- 整合spring roo,maven,mybatis,spring-flex,blazeds,mysql
1. 下载spring roo,设置环境变量ROO_HOME,和path,classpath. 使用CMD命令行找到工作区间,新建工程目录转到工程目录:mkdir ten-minutes $ ...
- Object Pascal对象模型中构造函数之研究
http://www.delphi2007.net/delphiblog/html/delphi_2004511950333715.html 前言 近期,一直在使用 C++ 与 Object Pasc ...
- .net中怎么使用CKEditor
1:官网下载Full Package2:将此ckeditor文件包拷贝到项目根目录下3:CKEditor 3.6.6.2 for ASP.NET下载4:复制_Samples\bin\Release\C ...
- ProgressBarLayoutView
https://github.com/alter-ego/ProgressBarLayoutView
- 2012 East Central Regional Contest 解题报告
昨晚各种莫名其妙卡题. 不过细看这套题还挺简单的.全是各种暴力. 除了最后一道题计算几何看起来很麻烦的样子,其他题都是很好写的吧. A. Babs' Box Boutique 题目大意是给出不超过10 ...