徐祗义 發表於 2023-5-21 00:00:00

织梦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-&gt;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-&gt;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-&gt;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-&gt;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]
查看完整版本: 织梦dedecms采集时不能采集生成tag跟描述的解决办法