织梦{dede:sql}标签,怎么调用最新文章的标题?

织梦{dede:sql}标签,怎么调用最新文章的标题?,第1张

这个简单的做就很简单,复杂的做就很复杂(不知道你有没有C#语法基础)

从简单的做起全部拖服务器端控件(vs2005 08 10 12 13)

1、Repeater循环控件

2、从网上下载分页插件(例如aspnetPage分页插件)

然后针对你的要求 给你写个通用的例子:

string sql = "select 你的表名 from where 1=1"

然后转成DataTable 赋值给 Repeater控件的idDataSource = 你转成DataTable后的dt

Repeater的idDataBind()

这样你就可以显示出你数据库相对应的表所有的数据了

如果你要搜索,那么在我上面的sql后面的在加上 “and 你的条件”

比如按你表中等级Level 取出Level小于30级的玩家信息 那么就是

sql = "select 你的表名 from where 1=1 and Level

接下来跟后面一样

关联两表,你要找到两表之间有关系的字段名也就是外键

搜索功能前面讲了

最近要做一个商品价格排序搜索,但是却没法使用[field:price/]来调用dede_addonshop里面的price字段。到论坛上发帖求助没人回应,只有自己琢磨,曾看到有人说修改advancedsearchphp里面的内容,添加一个addon,但是好像是错的,因为我打开那个文件,那一行本来就有addon,无奈只有自己从dede的类库中着手了。在硬着头皮读完代码之后,发现解决方法:修改include/arcsearchviewclassphp

第一处:将大约320行地方的代码:

if($this->ChannelType < 0 || $this->ChannelTypeid< 0){

if($this->ChannelType=="0") $id=$this->ChannelTypeid;

else $id=$this->ChannelType;

$row =$this->dsql->GetOne("Select addtable From `dede_channeltype` Where id=$id");

$addtable = trim($row['addtable']);

$this->AddTable=$addtable;

}else{

$this->AddTable="dede_archives";

}

改为:

if($this->ChannelType=="0") $id=$this->ChannelTypeid;

else $id=$this->ChannelType;

$row =$this->dsql->GetOne("Select addtable From `dede_channeltype` Where id=$id");

$addtable = trim($row['addtable']);

if($this->ChannelType < 0 || $this->ChannelTypeid< 0){

$this->AddTable=$addtable;

$this->AddonTable='';

}else{

$this->AddTable="dede_archives";

$this->AddonTable=$addtable;

}

第二处:将大约500行的地方的代码:

$query = "Select arc,acttypedir,acttypename,actisdefault,actdefaultname,actnamerule,

actnamerule2,actispart,actmoresite,actsiteurl,actsitepath

from `{$this->AddTable}` arc left join `dede_arctype` act on arctypeid=actid

where {$this->AddSql} $ordersql limit $limitstart,$row";

改为:

if (!empty($this->AddonTable)) {

$this->AddonTable="left join `{$this->AddonTable}` addon on addontypeid=arctypeid";

}else {

$this->AddonTable='';

}

$query = "Select arc,acttypedir,acttypename,actisdefault,actdefaultname,actnamerule,

actnamerule2,actispart,actmoresite,actsiteurl,actsitepath,addon

from `{$this->AddTable}` arc left join `dede_arctype` act on arctypeid=actid {$this->AddonTable}

where {$this->AddSql} $ordersql limit $limitstart,$row";

好了,可以在searchhtm中使用[field:price/]了,只要你的模型有附加表,你就可以使用表里的任何字段

另外注意:如果附加表里有字段名和主表字段名一样的,使用[field:xxxx/]的结果是未定义的(猜是这样)。

{dede:sql sql='select  title(标题) From dede_archives where typeid=1(栏目id)'}

<a href="/plus/viewphpaid=[field:id/]">[field:title/]</a>

{/dede:sql}

dede织梦如何添加“自定义属性”标签“症状”1、进入后台——系统——SQL命令行工具——运行SQL命令行,添加arcatt表字段:insert into`dede_arcatt`(sortid,att,attname) values(9,‘d‘,‘症状‘)2、添加archives表字段:alter table `dede_archives` modify `flag` set (‘h‘,‘c‘,‘p‘,‘f‘,‘s‘,‘j‘,‘a‘,‘b‘,‘d‘) default NULL 看着加粗的SQL指令,顾名思义是先在表里插入新记录(要添加的属性),然后修改另一个关联表的flag字段以添加标签d。没错,就是这样简单,你已经成功添加了新的属性并可以模板调用了。当然你也可以用phpmyadmin数据库工具傻瓜式添加属性。需要说明的是: 代码第1行:values(9,‘d‘,‘新自定义属性‘) 是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到 10,11,12,以此类推!d是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“症状”是中文名称,是方便人们直观地勒戒自定义 属性的含义的,可以根据需要改为其他名字,不影响调用。代码第2行:set (‘c‘,‘h‘,‘p‘,‘f‘,‘s‘,‘j‘,‘a‘,‘b‘,‘d‘),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,d排序第9位,则对应第一行代码中添加的自定义属性““评论d”。2、后台——模板——默认模板管理——indexhtm在“indexhtm”中进行修改,在需要调用症状的地方添加代码“{dede:arclist flag=‘d‘ limit=‘0,1‘ infolen=‘230‘}”3、添加文档,在自定义属性中将“新自定义属性”勾选,就可实现,勾选的文档出现在首页,为勾选出现在内页。删除自定义属性:

DELETE FROM dede_arcatt WHERE sortid=‘9‘

dedecms:织梦文章如何添加“自定义属性”标签(sql命令行工具)

标签:

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 织梦{dede:sql}标签,怎么调用最新文章的标题?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情