CMSware小知识汇总
来自站长百科
导航:返回上一页
- 问题:问一下这两个的区别, [$m_url]和[$var.m_url],其中m_url是我自定义的内容模型里面的变量。那什么时候该用前者[$m_url],什么时候用到后者 [$var.m_url]呢?
- 解答:[$m_url],可以用在内容页里的模型字段,可以直接调用数据库中这1条数据的这个字段;[$var.m_url],是用在<CMS...... >标签为开头并且有数据作为传递的时候,如
<CMS action="LIST" return="List" NodeID="{$var.NodeID}" Num="10" />
- 问题:怎么实现查询时进行一些计算后才显示结果?
- 进一步请教一个问题:专业版可不可以方便地实现这样的功能:在网页上制作一个结合搜索功能的用户表单,将自定义的模型的某个字段内容搜索出来进行计算或处理,然后发布到页面上?
- 比如,浏览者在网页上选择某个学生的名字,程序就可以将这个学生的考试成绩搜索出来并求平均分,然后显示在网页上?
- 解答:以后会更好的实现这个功能
- 现在可以这样做:
- 1,建立一个独立的搜索查询表单页面
- 2,创建一个独立的搜索结果页模版,在模版中调用搜索到的结果的字段来用平均值函数处理得到结果
- 3,利用search.php的Tpl参数指定这个结果页模版来搜索
- 至于怎么算平均值,就要看你的数据结构是怎么样了
- 技巧:自定义内容模型 之 按字母索引
- 应用范围:自定义内容模型应用,音乐专辑、音乐人、或者软件排序。
- 使用方法:
- 1、定义内容模型的时候,设定首字母字段。
- 2、采集正则设置采集函数,具体如下:
- 自定义采集过滤函数“FirstWord”如下:
/** * 取单词首字母 */ function crawler_FirstWord($str) { return substr($str,0,1); }
采集正则首字母处设置如下正则:
【采集名称正则】==>[trim]==>[FirstWord]
采集后可以定义为采集自动导入结点“A”。
内容模型处设置为首字母列表,在结点发布处按照(A~Z)进行搜索发布。发布后可按照相应字母自动排序。
- 问题:能否举一个循环嵌套的例子?
- 举例:
<!--调用结点ID为1的子结点,忽略结点ID为31和32的结点--> <CMS action="NODELIST" return="List" Type="sub" NodeID="1" Ignore="31,32" /> <loop name="List" key="key" var="var" > <!--文章栏目的子分类--> <div class="box_m_left"> <div class="box_m_t"> </div> <div class="box_m_c"> <h3><a href="[$var.NodeURL]"> [$var.NodeName] </a> </h3> <ul class="com"> <CMS action="LIST" return="List2" NodeID="[$var.NodeID]" Num="10" /> <!--请修改NodeID值为发布管理中看到的对应的子分类的结点值--> <LOOP name="List2" var="var2" key="key2"> <li> <a title="[$var2.Title]" href="[$var2.URL]" target="_blank"> [@CsubStr($var2.Title, 0, 16)] </a> </li> </LOOP> </ul> </div> <div class="box_m_b"> </div> </div> </loop>
- 问题: IndexID 和 ContentID (索引ID和内容ID) 有什么区别
- 说明:IndexID是唯一的,不管内容模型是什么,那篇文章的IndexID始终都不变。
- 而ContentID根据内容模型的不同,可以是相同的。比如说内容模型 1 里有一篇文章的ContentID=1000,那么内容模型 2 里也可以有一篇文章的ContentID=1000
但他们的IndexID是不相同的。思维(CMSware)在判断时,很多地方也就要判断TableID(内容模型ID)了。
- 问题:复杂函数怎么调用
- 说明:复杂函数调用使用双@号包含:[@function(.....)@]