织梦dedecms采集时不能采集生成tag跟描述的解决办法
<p>据CMS资源网研究发现,织梦dedecms默认的采集功能只能采集到keywords,不能生成tags标签,采集完成后还需要再编辑一下才有。如果没有设置采集description,采集回来的描述这项就是空的,也需要再编辑一下才能生成description内容。</p>
<p>
下面CMS资源网就给大家分析一下如何修复这个BUG:</p>
<p>
首先打开/dede/co_export.php文件,在大概第183行的位置找到如下代码:</p>
<div>
<ol class="pre dp-c">
<li class="alt">
<span><span class="keyword">else</span><span> </span><span class="keyword">if</span><span>($itemName == </span><span class="string">'litpic'</span><span>) </span></span>
</li>
<li>
<span> { </span>
</li>
<li class="alt">
<span> $litpic = trim($ctag->GetInnerText()); </span>
</li>
<li>
<span> } </span>
</li>
</ol>
</div>
<p>
在其下面插入以下代码:</p>
<div>
<ol class="pre dp-c">
<li class="alt">
<span><span class="keyword">else</span><span> </span><span class="keyword">if</span><span>($itemName == </span><span class="string">'keywords'</span><span>) </span></span>
</li>
<li>
<span> { </span>
</li>
<li class="alt">
<span> $keywords = trim($ctag->GetInnerText()); </span>
</li>
<li>
<span> } </span>
</li>
<li class="alt">
<span> <span class="keyword">else</span><span> </span><span class="keyword">if</span><span>($itemName == </span><span class="string">'body'</span><span>) </span></span>
</li>
<li>
<span> { </span>
</li>
<li class="alt">
<span> $body = trim($ctag->GetInnerText()); </span>
</li>
<li>
<span> $description = cn_substr(html2text($body),150); </span>
</li>
<li class="alt">
<span> $description = str_replace(<span class="string">' '</span><span>,</span><span class="string">''</span><span>,$description); </span></span>
</li>
<li>
<span> $description = addslashes($description); </span>
</li>
<li class="alt">
<span> } </span>
</li>
</ol>
</div>
<p>
然后再找到如下代码:</p>
<div>
<ol class="pre dp-c">
<li class="alt">
<span><span>$mainSql = str_replace(</span><span class="string">'@sortrank@'</span><span>, $sortrank, $mainSql); </span></span>
</li>
</ol>
</div>
<p>
在其下面插入下面这句:</p>
<div>
<ol class="pre dp-c">
<li class="alt">
<span><span>$mainSql = str_replace(</span><span class="string">'@description@'</span><span>, $description, $mainSql); </span></span>
</li>
</ol>
</div>
<p>
再找到如下代码:</p>
<div>
<ol class="pre dp-c">
<li class="alt">
<span><span>$rs = $dsql->ExecuteNoneQuery($mainSql); </span></span>
</li>
</ol>
</div>
<p>
在其下面插入如下代码:</p>
<div>
<ol class="pre dp-c">
<li class="alt">
<span><span>$tags = InsertTags($keywords, $aid); </span></span>
</li>
</ol>
</div>
<p>
修改完成后保存即可。</p>
<p>
这样就会在采集的时候,发现原网页上有keywords,采集并导入数据后,就会自动写入TAG,如果本来没有keywords,就留空。description的话不管原网页有没有,都按采集回来的正文自动生成纯文本,不用担心夹杂乱码或者原网页乱七八糟的内容的。</p>
頁:
[1]