创建自己的视图¶
搜索页面由 catalog.search 服务。
这项服务最后变成 base-layout-cssjs-loader.xsl
(见 source file web/src/main/webapp/xslt/base-layout-cssjs-loader.xsl )它包含加载正确html页面的逻辑。
视图参数¶
可以传递参数 view
到 catalog.search 指向自定义视图的url。
如果未指定任何参数,则视图值将从 system/ui/defaultView
设置,如果没有设置,则is值将为 default
.
它将被储存在 $searchView
XSLT变量。
加载视图¶
视图从加载(请参见 source file web/src/main/webapp/xslt/ui-search/search.xsl ):
<div data-ng-include="'{$uiResourcesPath}views/{$searchView}/templates/index.html'"
class="gn-full">
视图主模板通过AngularJS指令加载 ng-include
会指向那条路 /web-ui/src/main/resources/catalog/views/${{view}}/templates/index.html
.
对于默认视图,可以在 source file web-ui/src/main/resources/catalog/views/default/templates/index.html .
加载javascript¶
要初始化AngularJS主模块,必须使用指令 ng-app 指向你的主要AngularJS模块。
<html ng-app="{$angularModule}" lang="{$lang}" id="ng-app">
在搜索页面的情况下 (catalog.search ) $angularApp
变量等于 gn_search
. 为了 default 查看 $angularModule
等于 gn_search_default
.
因此,默认情况下,这里从 gn_search_default
此处声明的模块(请参见 source file web-ui/src/main/resources/catalog/views/default/module.js .
从这里,您可以构建AngularJS模块依赖树并加载应用程序。
CSS文件¶
在相同的逻辑中,加载到页面中的CSS是 gn_search_default.less
.