thinkphp项目如何自定义微信分享描述内容

下面是详细讲解。

1. 准备工作

首先,你需要准备好以下的工具:

  • 微信公众平台账号
  • ThinkPHP项目
  • jssdk扩展包(可使用官方提供的扩展包)

2. 创建自定义分享函数

在项目中创建一个自定义的分享函数,用来设置微信分享的标题、描述和链接等信息。可以创建一个公共控制器 BaseController,例如:

namespace app\common\controller;
use think\Controller;

class BaseController extends Controller
{
    /**
     * 自定义设置微信分享的标题和描述
     * @param string $title 分享标题
     * @param string $desc 分享描述
     * @param string $link 分享链接
     * @param string $imgUrl 分享图片链接
     */
    protected function setShare($title, $desc, $link, $imgUrl)
    {
        $this->assign('wxTitle', $title);
        $this->assign('wxDesc', $desc);
        $this->assign('wxLink', $link);
        $this->assign('wxImgUrl', $imgUrl);
    }
}

上述示例中,我们通过 setShare 函数,将分享的四个参数(标题、描述、链接和图片链接)设置到了基类控制器中。

3. 在视图文件中使用

在需要分享的视图文件中,调用 BaseController 中的 setShare 函数来设置分享属性。在视图文件尾部添加如下代码:

<script>
wx.ready(function () {
    wx.onMenuShareAppMessage({
        title: '{:$wxTitle|default=$site_title}',
        desc: '{:$wxDesc}',
        link: '{:$wxLink}',
        imgUrl: '{:$wxImgUrl}'
    });
});
</script>

其中,{$wxTitle}、{$wxDesc}、{$wxLink} 和 {$wxImgUrl} 均为在 BaseController 中设置过的分享属性,也可自己定义。

4. 示例

以下举两个示例。

示例 1

假设要在文章内容页中设置微信分享属性。在 Article 控制器的 detail 操作中,通过获取文章信息,调用 setShare 函数设置分享属性。示例代码如下:

namespace app\index\controller;

use app\common\controller\BaseController;
use app\common\model\Article as ArticleModel;

class Article extends BaseController
{
    /**
     * 文章内容页
     */
    public function detail($id)
    {
        // 获取文章信息
        $article = ArticleModel::get($id);
        if(!$article) {
            abort(404, '文章不存在');
        }

        // 设置微信分享属性
        $wxTitle = $article->title;
        $wxDesc = $article->summary;
        $wxLink = url('index/article/detail', array('id' => $id), true, config('is_https'));
        $wxImgUrl = $article->cover_image;
        $this->setShare($wxTitle, $wxDesc, $wxLink, $wxImgUrl);

        $this->assign('article', $article);
        return $this->fetch();
    }
}

在对应的 detail.html 视图页面中,引入 jssdk 扩展包并设置分享属性。示例代码如下:

{include file="public/jssdk" /}

{extend name="public/base" /}
{block name="title"}{$article.title}{/block}
{block name="content"}
    <div class="article-content">
        <h1>{$article.title}</h1>
        <div class="article-body">
            {$article.content}
        </div>
    </div>

    <script>
    wx.ready(function () {
        wx.onMenuShareAppMessage({
            title: '{:$wxTitle|default=$site_title}',
            desc: '{:$wxDesc}',
            link: '{:$wxLink}',
            imgUrl: '{:$wxImgUrl}'
        });
    });
    </script>
{/block}

示例 2

假设要在首页中设置微信分享属性。在 Index 控制器的 index 操作中,直接调用 setShare 函数设置分享属性。示例代码如下:

namespace app\index\controller;

use app\common\controller\BaseController;

class Index extends BaseController
{
    /**
     * 首页
     */
    public function index()
    {
        // 设置微信分享属性
        $wxTitle = '网站首页';
        $wxDesc = '欢迎访问我的网站';
        $wxLink = url('index', '', true, config('is_https'));
        $wxImgUrl = config('site_url') . 'static/images/logo.png';
        $this->setShare($wxTitle, $wxDesc, $wxLink, $wxImgUrl);

        return $this->fetch();
    }
}

在对应的 index.html 视图页面中,引入 jssdk 扩展包并设置分享属性。示例代码如下:

{include file="public/jssdk" /}

{extend name="public/base" /}
{block name="title"}网站首页{/block}
{block name="content"}
    <h1>欢迎访问我的网站</h1>

    <script>
    wx.ready(function () {
        wx.onMenuShareAppMessage({
            title: '{:$wxTitle|default=$site_title}',
            desc: '{:$wxDesc}',
            link: '{:$wxLink}',
            imgUrl: '{:$wxImgUrl}'
        });
    });
    </script>
{/block}

总结

通过以上的示例,你可以自定义设置微信分享的标题、描述、链接和图片链接。在需要分享的页面中,调用 setShare 函数设置分享属性,将分享属性绑定到对应的视图文件中,即可实现微信分享功能。

祝你好运!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:thinkphp项目如何自定义微信分享描述内容 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 用PHP写的MySQL数据库用户认证系统代码

    下面我将为您详细讲解“用PHP写的MySQL数据库用户认证系统代码”的完整攻略。 步骤一:创建MySQL数据库和表格 首先,需要在MySQL中创建一个用于存储用户数据的数据库和表格。可以使用如下SQL代码: CREATE DATABASE `user_authentication`; USE `user_authentication`; CREATE TAB…

    PHP 2023年5月24日
    00
  • PHPLog php 程序调试追踪工具

    下面是 PHPLog php 程序调试追踪工具的详细攻略。 1. 简介 PHPLog 是一款基于 PHP 的程序调试和追踪工具,能够记录你的程序运行信息并输出到文件或控制台中,便于开发者调试及定位问题。它支持多种级别的日志,可以通过配置文件进行设置。 2. 安装 你可以通过下面两种方式来安装: 2.1 使用 Composer 安装 在终端中执行以下命令: c…

    PHP 2023年5月23日
    00
  • php大小写转换函数(strtolower、strtoupper)用法介绍

    PHP大小写转换函数 在PHP中,有两个内置函数可以用来完成字符串大小写转换,它们分别是 strtolower() 和 strtoupper()。 strtolower() strtolower() 函数将字符串转换为小写字母。 语法 string strtolower ( string $string ) 参数 $string:要转换的字符串,必需。 返回…

    PHP 2023年5月25日
    00
  • php打印一个边长为N的实心和空心菱型的方法

    针对您提出的问题,我将会给出详细的Markdown格式的解答及示例说明。我们先依次了解实现的步骤。 实现步骤 判断输入的边长是否为奇数,如果不是则输出错误信息并终止程序; 分别使用双层for循环输出实心和空心菱型。 代码示例 //定义边长N的变量 $N = 5; //判断N是否为奇数 if($N % 2 != 1){ echo "输入的数不是奇数,…

    PHP 2023年5月26日
    00
  • 抖音表白程序如何制作?抖音表白整蛊程序制作教程

    首先,需要明确的是,制作“抖音表白程序”和“抖音表白整蛊程序”属于个人兴趣爱好行为,并不存在官方的制作教程。因此,以下只是对于这两个程序常见的实现方式和技术点进行解析,仅供参考。 制作“抖音表白程序” 步骤 将文本表白内容转化为音频,可以通过语音合成技术或是录音自制。 将音频嵌入到一个视频素材中,可以选择自己喜欢的配乐或是背景图片。 在抖音APP中上传该视频…

    PHP 2023年5月30日
    00
  • php的POSIX 函数以及进程测试的深入分析

    PHP的POSIX函数以及进程测试的深入分析 什么是POSIX函数? POSIX是一个可移植操作系统接口标准(Portable Operating System Interface),该标准定义了一组操作系统接口、函数、命令行工具、代码和并发性控制等概念。PHP的POSIX函数是与POSIX标准相兼容的一组函数。 POSIX函数主要用于进程控制、文件控制和一…

    PHP 2023年5月27日
    00
  • php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系

    标题 PHP数组函数序列之ksort() 概述 ksort()是一种PHP数组函数,可以用于对数组的元素键名进行升序排序,并且保持索引关系。在排序之后,原数组中数值相同的元素,其相对位置不会发生任何改变。 语法 bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) ksort…

    PHP 2023年5月26日
    00
  • php两种基本的输出方及实例详解

    当我们在使用PHP开发Web应用时,我们需要向用户输出信息,一般情况下是通过输出到网页上完成。在PHP中,我们可以通过两种基本的输出方式来实现这个需求。这两种输出方式是 echo 和 print。 echo 和 print 的用法 使用 echo 输出信息 echo 用于向用户输出字符串类型的信息,可以输出多个信息,用逗号分隔开。示例代码如下: echo &…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部