Page History
...
#app:<appName>:<subAppId>:<parameter>
井号#是一个标准的分隔符,标志URL的碎片部分开始。井号后的部分则用冒号相互隔开。井号#是一个标准的分隔符,标志URL的碎片部分开始。井号后的部分用冒号相互隔开。
- 第一部分是类型标识符。它可以是应用或者Shell,取决于该应用是普通的应用,还是三个特殊的Shell应用之一(
applaucher
,pulse
,favorite)
。对于您自己的应用,这个字符串总是favorite
)。对于您自己的应用,这个字符串总是app
。 appName
识别应用。三个Shell应用的内部名称为标识应用。三个Shell应用的内部名称为applauncher
,pulse
和favorite
。普通应用的命名方式也可以预见:Pages应用为。普通应用的命名方式也可以预见:页面应用为pages
,Assets应用则是,数字资产应用则是assets
等等。您可以在应用配置里定义您自己的应用名。Magnolia 5使用应用名来在系统里识别应用。等等。您可以在应用配置里定义您自己的应用名称。Magnolia 5使用应用名称来在系统里识别应用。subAppId
识别子应用。子应用以选项卡的方式显示给用户。每个应用至少有一个子应用。Magnolia推荐您将您的主要子程序命名为标识子应用。子应用以标签卡的方式显示。每个应用至少有一个子应用。为保持一致性,Magnolia推荐您将您的主要子程序命名为main
,为保持一致性。如果应用没有提供其它子应用的话,。如果应用没有提供其它子应用的话,main
子应用可以是唯一的选项卡。创建内容应用时,将您的子应用命名为子应用可以是唯一的标签卡。创建内容应用时,可以将您的子应用命名为browser
和detail。
parameter是碎片当中最后的部分。您可以添加诸如preview这样的参数来指导应用在预览模式显示页面。使用分号来将多个参数分隔开。
parameter
是碎片当中最后的部分,参数之间使用分号隔开。您可以添加preview
这样的参数来指导应用在预览模式显示页面。
碎片样例
Shell的Pulse应用。
Code Block #shell:pulse
- Pages应用下的browser子应用。
页面应用里,打开browser子应用。树型视图中当前选中
页面当前在树型视图中被选中。/demo-project/about
页面。
Code Block #app:pages:browser;/demo-project/about:treeview
- Pages应用的detail子应用。
页面应用里,打开detail子应用。当前正在编辑
页面当前正被编辑。/demo-project/about
页面。
Code Block #app:pages:detail;/demo-project/about:edit
- Pages应用的detail子应用。
页面应用下,打开detail子应用。当前正在预览
页面当前正被预览。/demo-project/about
页面。
view
参数指导应用在预览模式显示页面。Code Block #app:pages:detail;/demo-project/about:view
关于subAppId的更多信息
历史碎片的subAppId
部分可以保存不仅仅是子应用名字的更多信息。Pages应用的每个detail子应用(选项卡)编辑一个特定的页面。在这种情况下,部分可以保存更多信息,不仅仅是子应用名称。例如,页面应用的每个detail子应用(标签卡)编辑一个特定的页面,这时的subAppId
同样包含到该页面的路径,例如#app:pages:detail;/demo-project/about
。子应用名和路径之间用分号隔开。这里不能用冒号,因为它会破坏这个历史记号。
每个subAppId
都是独一无二的。这就允许系统能够辨认已经打开的选项卡并将其作为焦点,而不是打开一个副本。如上所示,当Pages应用打开一个detail子应用时,它会给该子应用分配一个独一无二的ID,其中包含了子应用名称(都是独一无二的。这就使系统能够辨认已经打开的标签卡并将其作为焦点,而不是打开一个副本。上例中,当页面应用打开一个detail子应用时,它会给该子应用分配一个独一无二的ID,其中包含了子应用名称(detail
)和去页面的路径()和到页面的路径(/demo-project/about
)。如果用户已经打开这个页面,收到请求时应用则会将这个选项卡作为焦点。)。如果用户已经打开这个页面,收到请求时应用则会将这个标签卡作为焦点。
参数
您可以利用参数来传递附加信息,例如告诉detail子应用在预览模式显示页面。您可以利用参数来传递附加信息,例如,告诉detail子应用在预览模式显示页面。
Code Block |
---|
#app:pages:detail;/demo-project/about:view |
...
Code Block |
---|
example.com/.magnolia?mgnlLocale=en#app:pages:detail;/path/to/page:view |
例子:
treeview
: 在树型视图中显示被选中的项目。在树型视图中显示选中项。listview
: 在列表视图中显示被选中的项目。在列表视图中显示选中项。thumbnailview
: 在缩略视图中显示被选中的项目。在缩略视图中显示选中项。edit
: 打开detail子应用的编辑器。view
: 打开detail子应用的预览模式。
在浏览历史中来回移动
位置碎片是Magnolia 5的关键导航特性。它使得使用浏览器本身的来回按钮变的可能。这才是现代的网络应用应有的工作方式。与其防止用户来回点击,不如让他们凭直观感觉操作。如果点击返回看起来是回到前一个状态应做的事,那么应用应该支持这种感觉。
...
5的关键导航特性,它使得使用浏览器本身的来回按钮变的可能。这才是现代的Web应用程序应有的工作方式——与其防止用户来回点击,不如让他们凭直观感觉操作。如果点击返回看起来应该回到前一个状态,那么应用应该支持这种感觉。
应用之间的位置变化
Todo |
---|
Triggering location changes between apps. |
Favorites应用
触发应用之间的位置变化。 |
收藏夹应用
在系统里保留收藏夹(Favorites)的一个好处就是,它们自动就是便携的。如果您工作在多个电脑和不同的浏览器上,收藏的书签仍然可用。收藏夹功能对系统管理员来说也同样是个解脱,因为他们需要为很大的用户群提供服务。管理员可以创建一套预定义好的书签,让所有的用户都可以立即使用。在系统里保留Favorites的一个好处就是,它们自动就是便携的。如果您工作在多个电脑和不同的浏览器上,书签仍然可用。Favorites功能对系统管理员来说同样是个解脱,因为他们需要为很大的用户群提供这个功能。管理员可以创造一套预定义好的书签,让所有的用户都可以立即使用。
Bestpractice | ||
---|---|---|
| ||
|