发新帖
打印 上一主题 下一主题
开启左侧边栏

在Discuz中加入页面的繁简转换功能,在论坛、家园、资讯文章同时实现

[复制链接]
因为本论坛是utf-8编码版本,同一页面内容可以包含简体和繁体字,即对页面“保持原文内容”成为读者的一种选择。另外两种选择分别是“繁体内容化为简体”、“简体内容化为繁体”。十多年前在51好友交友里就实现了这三种选择的即时切换,现在将其借用到51好友论坛Discuz系统里。修改方法如下:

copy std_stran.js 和 std_stranft.js 到论坛所在根目录/discuzx3.2/子目录中
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
/template/default/common/header.htm
插入一行
        <!--{/if}-->
<script language="javascript" src="std_stranft.js"></script>
</head>——————————————————————————————————————————
/template/default/common/header.htm
插入一行
                                        <!--{hook/global_cpnav_extra1}-->
   <a id="StranLink" href="https://www.51haoyou.com/discuzx3.2/#">繁体内容化为简体</a>
                                </div>
                                <div class="y">
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
/template/default/common/footer.htm
插入一行
</body>
<script language="javascript" src="std_stran.js"></script>
</html>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

做完上面修改后,发现位于论坛首页时,该功能失效,点击繁简转换链接时,页面不变化。原因是缓存论坛首页有效期值不为0。此功能只针对游客。这样造成以游客身份访问论坛首页时,看到的是某段时间前的缓存了的页面,而且查看缓存的论坛首页的网页源代码时,发现缺少了</body></html>,当然我在</body>和</html>之间加的<script language="javascript" src="std_stran.js"></script>也一起丢失了。缓存的页面这里不完美了。

解决办法:进入后台,全局 » 性能优化 » 论坛页面缓存设置,将缓存论坛首页有效期改成0。注意,缓存帖子有效期没有改,仍是900。缓存系数仍是40。

如果将来一定要使用论坛首页缓存,则要考虑改成不只针对游客,且针对不同情况缓存和调用不同的论坛首页,即缓存3个不同的论坛首页:未加改变的原论坛首页、简体化了的论坛首页、繁体化了的论坛首页。


相关帖子




www.51haoyou.com

GMT-4, 2024-5-17 05:56

© 2005-

快速回复 返回顶部 返回列表