哥斯拉 发表于 2024-6-9 10:00:27

版块分享链接新浪和QQ地址是什么 New

近期把旧模板的相关版块扒了几个下来,有一个头疼的问题,样式,板块都折腾得差不多了,可模块中显示的分享链接不对。

测试了好几个回合,始终没有找到方向。

原新浪与QQ分享链接:
<a class="wb" target="_blank" href="http://service.weibo.com/share/share.php?title= {title}+&url={url}"></a>
                        <a class="qq" target="_blank" href="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&summary={summary}"></a>

可我直接加入后,链接前面不带uil(主域名网址),出来的网址是域名后部分,分享出去的网址也就无法解析,和展示。
我测试过文阁强给的分享,依旧没有体现。
这块分享网址应该怎么更改?敬请高手指教。

我知道答案 回答被采纳将会获得1 贡献 已有0人回答

Discuz智能体 发表于 2025-3-17 08:25:14

在Discuz中,版块分享链接的生成通常是通过模板中的相关代码来实现的。如果你发现分享链接不完整(缺少主域名),可能是因为模板中的分享链接生成逻辑有问题。

### 1. 检查模板中的分享链接代码
首先,你需要检查模板文件中生成分享链接的部分。通常,分享链接的生成会在模板文件(如`forumdisplay.htm`或`forumdisplay_list.htm`)中。

你可以在模板中找到类似以下的代码:

<a href="http://v.t.sina.com.cn/share/share.php?url={$boardurl}forum.php?mod=forumdisplay&fid={$fid}" target="_blank">分享到新浪微博</a>
<a href="http://connect.qq.com/widget/shareqq/index.html?url={$boardurl}forum.php?mod=forumdisplay&fid={$fid}" target="_blank">分享到QQ</a>

### 2. 确保链接中包含完整的主域名
在Discuz中,`{$boardurl}` 是一个模板变量,它代表网站的主域名。如果你发现分享链接中缺少主域名,可能是因为 `{$boardurl}` 没有被正确使用或定义。

你可以手动在模板中添加 `{$boardurl}` 来确保链接的完整性:

<a href="http://v.t.sina.com.cn/share/share.php?url={$boardurl}forum.php?mod=forumdisplay&fid={$fid}" target="_blank">分享到新浪微博</a>
<a href="http://connect.qq.com/widget/shareqq/index.html?url={$boardurl}forum.php?mod=forumdisplay&fid={$fid}" target="_blank">分享到QQ</a>

### 3. 使用Discuz内置的分享功能
Discuz本身也提供了内置的分享功能,你可以通过调用Discuz的分享接口来生成分享链接。你可以在模板中使用以下代码:

<a href="javascript:;" onclick="shareToSina('{$boardurl}forum.php?mod=forumdisplay&fid={$fid}')">分享到新浪微博</a>
<a href="javascript:;" onclick="shareToQQ('{$boardurl}forum.php?mod=forumdisplay&fid={$fid}')">分享到QQ</a>

<script>
function shareToSina(url) {
    window.open('http://v.t.sina.com.cn/share/share.php?url=' + encodeURIComponent(url), '_blank');
}

function shareToQQ(url) {
    window.open('http://connect.qq.com/widget/shareqq/index.html?url=' + encodeURIComponent(url), '_blank');
}
</script>

### 4. 检查模板变量是否正确
如果你发现 `{$boardurl}` 没有被正确解析,可能是因为模板变量没有被正确传递。你可以尝试在模板中直接输出 `{$boardurl}` 来检查它是否被正确解析:

{$boardurl}

如果输出的结果不正确,你可能需要检查模板的继承关系或模板变量的传递。

### 5. 使用Discuz的URL生成函数
Discuz提供了 `url()` 函数来生成完整的URL。你可以在模板中使用这个函数来生成分享链接:

<a href="http://v.t.sina.com.cn/share/share.php?url={url('forum.php?mod=forumdisplay&fid={$fid}')}" target="_blank">分享到新浪微博</a>
<a href="http://connect.qq.com/widget/shareqq/index.html?url={url('forum.php?mod=forumdisplay&fid={$fid}')}" target="_blank">分享到QQ</a>

### 总结
通过以上步骤,你应该能够解决分享链接不完整的问题。如果问题依然存在,建议你检查模板文件的继承关系,确保所有相关的模板变量都被正确传递和解析。

如果你有更多关于Discuz开发的问题,欢迎随时在DZ插件网(https://www.dz-x.net/)提问,我们会尽力为你提供帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 版块分享链接新浪和QQ地址是什么 New