本帖最后由 yunsite 于 2014-2-25 19:42 编辑
因为智慧旅游网(ZHLY.ORG)需要,自己研究了下,看论坛里面需求的人很多,特此分享下心得。
效果页面:http://www.zhly.org,欢迎站长交换友情链接
以下只适合 X3.1 门户,其他版本,没有测试。按照以下思路修改其他版本,应该问题不大。
参考贴:https://discuz.dismall.com/forum.php?mod=viewthread&tid=2893582
添加相关中文:
在\source\language\portal\lang_template.php(51)找到:
- 'article_description' => '摘要',
[color=rgb(51, 102, 153) !important]复制代码
添加
- 'article_yuntags' => '云标签',
- 'article_yuntags_note' => '用|隔开,尾部不需要,如:智慧旅游网|导览',
[color=rgb(51, 102, 153) !important]复制代码
修改文章添加云标签yuntags模版:template\default\portal\portalcp_article.htm(227)
找到内容代码:- <blockquote><font color="#002000"><span class="Apple-tab-span" style="white-space: pre;"> </span><div class="bm bml"></font>
[color=rgb(51, 102, 153) !important]复制代码
在此代码下面添加
- <div class="bm bml">
- <div class="bm_h cl">
- <h2>{lang article_yuntags}</h2>
- </div>
- <div class="bm_c">
- <input type="text" id="yuntags" name="yuntags" class="px" maxlength="120" size="80" value="$article[yuntags]" >{lang article_yuntags_note}
- </div>
- </div>
[color=rgb(51, 102, 153) !important]复制代码
添加数据库XXX_portal_article_title表字段
字段名:yuntags ,类型varchar(255), 默认为空。
如何查看数据库表名前缀:
在后台的站长->数据库->备份,选中“自定义备份”,就可以看到Discuz! 数据库带前缀的表名:XXX_portal_article_title
修改数据库: 进入Discuz! 数据库,执行如SQL语句:(XXX要修改成自己的表前缀)
- alter table xxx_portal_article_title add yuntags varchar(255)
[color=rgb(51, 102, 153) !important]复制代码
修改文章添加,修改,处理,函数:source\include\portalcp\portalcp_article.php(56): 查找代码- $_POST['pagetitle'] = censor($_POST['pagetitle']);
[color=rgb(51, 102, 153) !important]复制代码
在此代码下面添加- $_POST['yuntags'] = censor(trim($_POST['yuntags']));
[color=rgb(51, 102, 153) !important]复制代码
继续查找代码 - $setarr = array(
- 'title' => $_POST['title'],
- 'author' => $_GET['author'],
- 'from' => $_GET['from'],
- 'fromurl' => $_GET['fromurl'],
- 'dateline' => intval($_GET['dateline']),
- 'url' => $_GET['url'],
- 'allowcomment' => !empty($_POST['forbidcomment']) ? '0' : '1',
- 'summary' => $summary,
- 'catid' => intval($_POST['catid']),
- 'tag' => article_make_tag($_POST['tag']),
- 'status' => $article_status,
- 'highlight' => $style,
- 'showinnernav' => empty($_POST['showinnernav']) ? '0' : '1',
- );
[color=rgb(51, 102, 153) !important]复制代码
修改为
- $setarr = array(
- 'title' => $_POST['title'],
- 'author' => $_GET['author'],
- 'from' => $_GET['from'],
- 'fromurl' => $_GET['fromurl'],
- 'dateline' => intval($_GET['dateline']),
- 'url' => $_GET['url'],
- 'allowcomment' => !empty($_POST['forbidcomment']) ? '0' : '1',
- 'summary' => $summary,
- 'catid' => intval($_POST['catid']),
- 'tag' => article_make_tag($_POST['tag']),
- 'status' => $article_status,
- 'highlight' => $style,
- 'showinnernav' => empty($_POST['showinnernav']) ? '0' : '1',
- 'yuntags' => $_POST['yuntags'],
- );
[color=rgb(51, 102, 153) !important]复制代码
修改文章显示函数:\source\module\portal\portal_view.php(283)
找到代码- include_once template("diy:portal/view:{$catid}", NULL, $tpldirectory, NULL, $articleprimaltplname);
[color=rgb(51, 102, 153) !important]复制代码
此代码上面一行插入代码- $yuntags=explode("|",$article["yuntags"]);
- foreach($yuntags as $val) {
- $htmlyuntags .= "<a href=\"/search.php?mod=portal&srchtxt=".$val."&searchsubmit=yes\" target=\"_blank\">".$val."</a> ";
- }
[color=rgb(51, 102, 153) !important]复制代码
修改文章显示模版:template\default\portal\view.htm(64)
可以自己选择要放的位置,例如放到内容下面:查找
[color=rgb(51, 102, 153) !important]复制代码
然后在下面加入代码
- <div>
- <b>{lang article_yuntags}</b> $htmlyuntags
- </div>
[color=rgb(51, 102, 153) !important]复制代码
复制代码
第六步进入后台->工具->更新缓存。只选择清理数据就可以了。
----------------------------------------------------------------------------------------------------------------------------------
预览如下:
----------------------------------------------------------------------------------------------------------------------------------
编辑页面
显示页面
点击云标签yuntags页面
|