在使用dede模板的时候,经常会需要直接对dede数据库的底层字段进行处理,如果dede中没有相应的函数的时候,往往就需要我们想办法来处理了。
举例:我想取出数据表addonimages中的某一条记录的typeid这个字段,然后在浏览器中输出typeid乘以2的结果。(注:这里的typeid值为6)
在使用dede模板的时候,经常会需要直接对dede数据库的底层字段进行处理,如果dede中没有相应的函数的时候,往往就需要我们想办法来处理了。
举例:我想取出数据表addonimages中的某一条记录的typeid这个字段,然后在浏览器中输出typeid乘以2的结果。(注:这里的typeid值为6)
以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法。
用arclist调用于附加表字段的方法:
方法一:
要获取附加表内容,必须符合两个条件
1、指定 channelid 属性(注意:channelid不是栏目id,而是自定义模型的id!)
2、指定要获得的从表字段:addfields=’字段1,字段’
今天在做一个站时用到了自定义模型,遇到了些问题,在更新列表页时提示:Fatal error: Call to a member function GetInnerText() on a non-object in E:\www\include\taglib\channel\img.lib.php on line 51
这个错误会在更新自定义模型栏目列表的时候出现,修复此问题方法很简单。
编辑打开\include\taglib\channel\img.lib.php
查找51行左右:$innerTmp = $arcTag->GetInnerText();
将其替换为:$innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText());
最近在做一个项目,就是在账号安全栏目中加一个修改邮箱并验证的功能,这个功能并不复杂,可以参照用户注册时的邮箱验证来实现。
就是当用户更改邮箱并提交之后,发一封包含一个链接的邮件到用户的新邮箱中,当用户点击该链接后,打开对应的php文件,核实哈希码,然后修改dede数据库中的邮箱字段。
我用了一个比较老式的模板,友情链接和列表页底下的一段分页导航会自动获取LI标签,导致错位。每段文字前还多出一个可恶的黑色实心小圆点,心想肯定是LI标签在搞怪,于是把模板文件和样式文件都翻看了一个底朝天。
但是原以为问题题出在模板上,却改来改去找不到相应的CSS属性标签。后来终于发现问题不是出在模板上,而是在Dede自身的文件上。
修改如下:
把\include\taglib\flink.lib.php和\include\arc.listview.class.php还有\include\arc.archives.class.php文件中的LI标签删掉就行了,注意不要漏删,要全部删干净才能起作用。
flink.lib.php友情链接标签,arc.listview.class.php栏目列表分页样式,arc.archives.class.php内容页分页样式。