下面以一个网站作为说明:
1、进入http://www.fhsafety.gov.cn,点击上面的“登陆个性化“,如果用户没有登陆,将引导到登陆页面,登陆后返回个性化页面。
2、在后台的”网络域名-》个性化设置“,预先加入以下条目。
组 | f1 | f2 | f3 |
homepage |
style100.ftl |
default | 青青河草 |
homepage |
style101.ftl |
|
蓝色忧郁 |
section | 84224 | 安全动态 | |
section | 84225 | 通知公告 | |
section | 84135 | 矿山监管 | |
|
|
|
|
|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta charset="utf-8"> <title>WebCus Form Test Suite</title> </head> <body class="yui3-skin-sam"> <div id="webcus-c"> <script type="text/x-template"> <form action="#"> <p>风格选择:</p> <% Y.Array.each(this.webcuss.getByCat("homepage"),function(one){ %> <label><input type="radio" name="theme" id="webcusitem-<%= one.id %>"<%= one.mine ? "checked" : "" %>><%= one.f3 %></label><br/> <% }); %> <p>----------------------------------</p> <p>栏目选择:</p> <% Y.Array.each(this.webcuss.getByCat("section"),function(one){ %> <label><input type="checkbox" id="webcusitem-<%= one.id %>"<%= one.mine ? "checked" : "" %>><%= one.f2 %></label><br/> <% }); %> <input type="submit" value="保存" style="margin:10px 30px;"> </form> </script> </div> <script src="${yuiSeed}" type="text/javascript"></script> <script type="text/javascript"><#include "webcus-form-page.js"></script> <script type="text/javascript"> _WEBCUS_FORM({ siteId:${site.id?c}, container:'#webcus-c', afterSave: function(){ alert('以保存!'); //这里可以使用任意js代码。 location.href = "/wpersonal"; }, updateCats:[] }); </script> </body> </html>
这是style100.ftl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta charset="utf-8"> <title>WebCus Form Test Suite</title> </head> <body class="yui3-skin-sam"> <p>style100,默认,<a href="webcus_form.ftl">设定个性化</a></p> <#if (siteUserSettings.hasMyCustoms())> <#-- 如果有个性化设置,说明用户至少操作过 --> <#if siteUserSettings.hasMyCustoms("section")> <#-- 虽然用户曾经自定义过,但有可能仅仅修改了主题什么的,还要判断有没有自定义目录 --> <#list siteUserSettings.findByCatMine("section") as mc> <#assign sec = site.findSection(mc.f1)> <div> <h2>${sec.name}:</h2> <ol> <#list sec.articlesPage(1,8) as ar> <li><a href="${ar.url}">${ar.getTitle(20,"...")}</a></li> </#list> </ol> </div> </#list> <#else> <#list siteUserSettings.findByCat("section") as mc> <#-- 注意,这里是findByCat,而不是findByCatMine 全部显示 --> <#assign sec = site.findSection(mc.f1)> <div> <h2>${sec.name}:</h2> <ol> <#list sec.articlesPage(1,8) as ar> <li><a href="${ar.url}">${ar.getTitle(20,"...")}</a></li> </#list> </ol> </div> </#list> </#if> <#else> <#-- 这里当然是全部显示,因为用户还没有自定义操作过,当然你可以决定此种情况下,显示哪些内容 --> <#list siteUserSettings.findByCat("section") as mc> <#assign sec = site.findSection(mc.f1)> <div> <h2>${sec.name}:</h2> <ol> <#list sec.articlesPage(1,8) as ar> <li><a href="${ar.url}">${ar.getTitle(20,"...")}</a></li> </#list> </ol> </div> </#list> </#if> </body> </html>
有没有发现模板里有重复代码?请考虑使用freemark的宏。
您可以登录建站系统,自己尝试:http://sb.m3958.com