创建自己的视图

搜索页面由 catalog.search 服务。

这项服务最后变成 base-layout-cssjs-loader.xsl (见 source file web/src/main/webapp/xslt/base-layout-cssjs-loader.xsl )它包含加载正确html页面的逻辑。

视图参数

可以传递参数 viewcatalog.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 .