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(.....)@]



参考来源[ ]