主题 : 3.0.2 如何自己写一个多条件查询的标签~
级别: 白丁
UID: 17746
积分:9 加为好友
威望: 0 精华: 0
主题:1 回复:8
注册时间:2011-04-07
在线时长:0
1#   发表于:2011-04-11 12:34:00  IP:124.225.*.*
请问我怎么在3.0.2 版本中如何定义自己的标签,我想写一个多条件查询的!比如:按多种条件组合查询文章列表~按时间,标题,作者查询显示文章列表;因为小弟我是刚接触jeecms,请高手们指导~!能给出一个详细的指导,比如文件加载顺序,修改哪文件!谢谢了~!
级别: 总版主
UID: 10736
积分:149787 加为好友
威望: 212 精华: 42
主题:297 回复:127674
注册时间:2010-09-08
在线时长:90.1
2#   发表于:2011-04-11 13:19:41  IP:59.152.*.*
这个需要自己在源码里面写一个多条件查询的方法
路漫漫其修远兮,吾将上下而求索!
级别: 白丁
UID: 17746
积分:9 加为好友
威望: 0 精华: 0
主题:1 回复:8
注册时间:2011-04-07
在线时长:0
3#   发表于:2011-04-11 14:36:37  IP:124.225.*.*
谢谢你~!我的意思我已经我在自己写标签的时候 那个条件该如何传进去,我仿照cms_content_list 写了个标签 这是从MyproductDirective 类中最终调用getList() 的DAO 的实现类.. 
@Repository
public class MyProductDaoImpl  extends HibernateBaseDao<MyProduct,Integer>implements MyProductDao {

@SuppressWarnings("unchecked")
public List<MyProduct> getList() {
return find(byNothing());
}

private Finder byNothing(){ 
Finder f = Finder.create(); 
f.append("from MyProduct");//可以在此处添加查询条件或者添加各种方法进行动态查询 
f.setCacheable(true); 
return f; 



@Override
protected Class<MyProduct> getEntityClass() {
return MyProduct.class;
}
下面是MyProductDirective 类
public void execute(Environment env, Map params, TemplateModel[] loopVars,
TemplateDirectiveBody body) throws TemplateException, IOException {
//获取站点 
CmsSite site = FrontUtils.getSite(env); 
//获取内容列表 
List<MyProduct> list = getList(params, env); 
Map<String, TemplateModel> paramWrap = new HashMap<String, TemplateModel>(params); 
//OUT_LIST值为tag_list,将内容列表放入其中 
paramWrap.put(DirectiveUtils.MY_PRODUCT_OUT_LIST, DEFAULT_WRAPPER.wrap(list)); 
//将params的值复制到variable中 
Map<String, TemplateModel> origMap = DirectiveUtils.addParamsToVariable(env, paramWrap); 
//没有采用默认的模板,直接采用自己写的简单的模板(mycontent_list.html) 
FrontUtils.includeTpl(TPL_NAME, site, params, env); 
//将variable中的params值移除 
DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap); 

}
在这个方法里怎么获取到传入的多种查询的条件???谢谢了。。
级别: 总版主
UID: 10736
积分:149787 加为好友
威望: 212 精华: 42
主题:297 回复:127674
注册时间:2010-09-08
在线时长:90.1
4#   发表于:2011-04-11 14:44:40  IP:59.152.*.*
详细的代码编写不在版主的回复范围之内哦,版主只负责系统使用方面问题的回复
路漫漫其修远兮,吾将上下而求索!
1 共1页