关于dede标签的一些改进

dede标签,本来是文章的标签,现在我增加了问答模块,问答模块只有问题分类而没有标签,其实我觉得问答以标签的形式更合理一些,著名的问答网站stackoverflow就是一个例子,整篇网站都是标签占主导,粗略看了一下,似乎根本就没有分类,况且标签本身就是一种分类方法,只是分类的主动权在用户自己。

这篇文章要完成的目的有两个,一是给问答模块增加标签功能,二是在dede的任何位置,点击一个标签的时候,能搜出问答和文章两种内容。

同样的,当用户提问,我们能立即展示出具有用户给问题添加的标签类的文章,如果文章本身就很好用户基本都不需要答案了。

先来看看dede在添加文章的时候,插入标签的代码:

$row = $dsql->GetOne("SELECT * FROM \`jcode_tagindex\` WHERE tag LIKE '$tag' ");
if(!is_array($row))
{
    $rs = $dsql->ExecuteNoneQuery(" INSERT INTO \`jcode_tagindex\`(\`tag\`,\`typeid\`,\`count\`,\`total\`,\`weekcc\`,\`monthcc\`,\`weekup\`,\`monthup\`,\`addtime\`) VALUES('$tag','$typeid','0','1','0','0','$addtime','$addtime','$addtime'); ");
    $tid = $dsql->GetLastID();
}
else
{
    $rs = $dsql->ExecuteNoneQuery(" UPDATE \`jcode_tagindex\` SET total=total+1,addtime=$addtime WHERE tag LIKE '$tag' ");
    $tid = $row\['id'\];
}
if($rs)
{
    $dsql->ExecuteNoneQuery("INSERT INTO \`jcode_taglist\`(\`tid\`,\`aid\`,\`arcrank\`,\`typeid\` , \`tag\`) VALUES('$tid','$aid','$arcrank','$typeid' , '$tag'); ");
}