jeecms_2012 PaginationDirective 应写成以下
public class PaginationDirective implements TemplateDirectiveModel {
/**
* 是否为内容分页。1:内容分页;0:栏目分页。默认栏目分页。
*/
public static final String PARAM_CONTENT = "content";
@SuppressWarnings("unchecked")
public void execute(Environment env, Map params, TemplateModel[] loopVars,
TemplateDirectiveBody body) throws TemplateException, IOException {
CmsSite site = FrontUtils.getSite(env);
String content = DirectiveUtils.getString(PARAM_CONTENT, params);
Map<String, TemplateModel> paramWrap = new HashMap<String, TemplateModel>(params);
Map<String, TemplateModel> origMap = DirectiveUtils.addParamsToVariable(env, paramWrap);
if ("1".equals(content)) {
String sysPage = DirectiveUtils.getString(PARAM_SYS_PAGE, params);
String userPage = DirectiveUtils.getString(PARAM_USER_PAGE, params);
if (!StringUtils.isBlank(sysPage)) {
String tpl = TPL_STYLE_PAGE_CONTENT + sysPage + TPL_SUFFIX;
env.include(tpl, UTF8, true);
} else if (!StringUtils.isBlank(userPage)) {
String tpl = getTplPath(site.getSolutionPath(),
TPLDIR_STYLE_PAGE, userPage);
env.include(tpl, UTF8, true);
} else {
// 没有包含分页
}
} else {
FrontUtils.includePagination(site, params, env);
}
DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap);
}
增加代码为:(3行)
Map<String, TemplateModel> paramWrap = new HashMap<String, TemplateModel>(params);
Map<String, TemplateModel> origMap = DirectiveUtils.addParamsToVariable(env, paramWrap);
DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap);
[@cms_pagination userPage='style...' param1=param1 param2=param2 .../]
改变后,可带无限参数,不然,参数传递不到模板。
|
|