创建自己的视图¶
搜索页面由 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 .