最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • 使用 Laravel-Admin 实现后台管理文章跳转至前端文章详情页面功能

    先上效果图:

    在许多网站和应用程序中,管理者需要在后台管理界面对文章进行编辑和管理。在 Laravel 框架中,Laravel-Admin 提供了一个功能强大且易于使用的后台管理解决方案。本文将介绍如何利用 Laravel-Admin 实现在后台管理界面中点击文章链接跳转至前端文章详情页面的功能。

    环境准备

    在开始之前,确保已经安装了 Laravel 和 Laravel-Admin,并且配置好了数据库连接。

    代码实现

    第一步:编写重定向控制器

    <?php
    
    namespace App\Admin\Controllers;
    
    use App\Models\Article;
    use Encore\Admin\Controllers\AdminController;
    use Illuminate\Http\Request;
    
    class RedirectController extends AdminController
    {
        public function redirectToArticle(Request $request, $articleId)
        {
            // 从请求中获取 site_id 参数
            $siteId = $request->input('site_id');
    
            // 根据 site_id 查询对应的域名
            $domain = WebsiteConfigList::where('site_id', $siteId)->value('domain');
    
            // 根据文章 ID 查询文章信息
            $article = Article::findOrFail($articleId);
    
            // 根据文章分类 ID 查询分类信息,并生成分类别名字典
            $cat_ids = [$article->id, $article->parent_id];
            $category_dict = ArticleCategory::table('article_categories')
                ->select('id', 'alias')
                ->where('site_id', $siteId)
                ->whereIn('id', $cat_ids)
                ->pluck('alias', 'id')
                ->toArray();
    
            // 构建 URL 路径
            $url = '';
            if ($article->pid && isset($category_dict[$article->pid])) {
                $url .= '/' . $category_dict[$article->pid];
            }
            if ($article->cid && isset($category_dict[$article->cid])) {
                $url .= '/' . $category_dict[$article->cid];
            }
            $url .= '/' . $articleId . '.html';
    
            // 拼接目标 URL 地址
            $url = 'https://' . $domain . $url;
    
            // 将用户重定向到目标 URL 地址
            return redirect()->away($url);
        }
    }
    

    第二步:定义路由

    <?php
    
    use App\Admin\Controllers\RedirectController;
    use Illuminate\Support\Facades\Route;
    
    Route::get('/redirect/{articleId}', [RedirectController::class, 'redirectToArticle'])->name('redirect');
    

    第三步:在后台管理界面添加链接

    $grid->column('111', '发布预览')->display(function () {
        $url = admin_url('/redirect/'.$this->id); // 假设该路由对应了 `redirectToArticle` 方法
        return "<a href='{$url}' target='_blank'>查看详情</a>";
    });
    

    总结

    通过以上步骤,我们成功地实现了在 Laravel-Admin 后台管理界面中点击文章链接跳转至前端文章详情页面的功能。这样,管理者可以方便地在后台管理界面预览和管理文章,并且能够快速地查看文章的详细信息。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » 使用 Laravel-Admin 实现后台管理文章跳转至前端文章详情页面功能
    • 8会员总数(位)
    • 12930资源总数(个)
    • 1049本周发布(个)
    • 0 今日发布(个)
    • 93稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情