Javashop挂件通用参数说明

 

目录

 [隐藏] 
  • 1 actionpage参数和其挂件页面
  • 2 request中的参数读取
  • 3 ischild参数
  • 4 mustbelogin参数
  • 5 showhtml

[编辑]actionpage参数和其挂件页面

  • actionpage及action参数说明

在我们的一些业务中,很可能会有如下的地址参数: xxxx.html?action=input xxxx.html?action=list

用的一个挂件,但要对应不同的页面,挂件的代码很可能是这样子:

XxxxWdiget.Java:
protected void display(Map<String, String> params) {

		if(action.equals("input")){
		   // 一些业务逻辑 
		}
		
		
		if(action.equals("list")){
                    // 一些业务逻辑 
                         
                 }
}

其中action参数在基类中已经声明并自动由reqeust中读取。

  • action对应业务规则:

<pagename>_<action>.html,如, 我们的widget.xml中的配置可能如下:

 		<widget id="1">
			<type>xxx</type>			 
			<folder>widget_html</folder>
			<custom_page>one_page</custom_page>
		</widget>

这时,xxxx.html?action=input对应的页面是:one_page_input.html xxxx.html?action=list对应的页面是:one_page_list.html

  • 依赖条件

仅当参数actionpage值为yes时此机制有效

[编辑]request中的参数读取

  • 说明

一般情况我们会通过在widget.xml定义挂件的参数,但有时会需要request中动态的获取参数, 如商品列表,需要由goods_list.html?cat_id=1中将cat_id对应到挂件的参数中 可通过在widget.xml中指定reqparams参数来实现。

  • 示例
 		<widget id="1">
			<type>goods_list</type>			 
			 <reqparams>cat_id</reqparams>
		</widget>

上述配置,当url为goods_list.html?cat_id=1时等同于:

 		<widget id="1">
			<type>goods_list</type>			 
			 <cat_id>1</cat_id>
		</widget>

reqparams可指定多个,由,号分隔

 

[编辑]ischild参数

  • 说明

在嵌套某些特殊的页面时,有可能需要在某个挂件中使用另一个挂件的html。 如:在商品的详细挂件页面中,使用评论页面的html。 将ischild参数指定为yes后,在其它挂件中通过${widget_widgetid}可以使用此挂件的html.

  • 注意事项

要使用其它挂件html的挂件一定要声明在被使用的挂件之后

  • 示例
		<widget id="ask">
			<type>goods_ask</type> 
			<folder>detail</folder>
			<custom_page>goods_ask</custom_page>
			<ischild>yes</ischild>
		</widget>	
		<widget id="detail">
			<type>goods_spec</type>
			<folder>detail</folder>
			<custom_page>wgt_detail</custom_page>
		</widget>
	

如上述代码所示,在wgt_detal.html中,可以使用${widget_ask} 来显示评论的html

[编辑]mustbelogin参数

是否校验会员身份,指定此参数为yes后,如果非会员访问此挂件,则跳转至member_login.html。 实际上,是返回如下html代码:

<script>location.href='member_login.html'</script>

[编辑]showhtml

  • 默认值

true

  • 可选值

true false

  • 说明

此参数可使挂件不解析相应的html,而只是做一些逻辑运算和向挂件的上下文中压入变量,以便在另一挂件中使用这些变量。 
使用此参数的目的大多数是为了组合几个挂件来一起使用 
例如:有挂件widget1和widget2,在widget1中会压入变量 foo,且配置其showhtml参数为false,并且在widgets.xml声明的顺序widget1 在widget2之前 
同在widget2的定义html中可以使用foo变量。

 

你可能感兴趣的:(javashop模板制作)