基于 Laravel 的简单博客(带有管理面板),来自 https://webdevetc.com/

8.4.2.3 2021-06-20 16:31 UTC

README

  • 快速将带有管理面板的博客添加到现有的 Laravel 项目中。它包含所有必需的组件(路由、视图、控制器、中间件等)
  • 兼容 Laravel 最新版本。

Build Status StyleCI Latest Stable Version Total Downloads License Scrutinizer Code Quality Code Coverage

最近更改(2020 年 5 月/6 月)包括最近安装说明

  • 此包不再使用 \App\User::canManageBlogEtcPosts() 来检查用户是否可以访问管理面板。
  • 相反,它现在使用 Laravel gate。目前与旧版本向后兼容,无需编辑。
  • 对于新安装,请在 App\Providers\AuthServiceProvider 中添加以下内容
   Gate::define(GateTypes::MANAGE_BLOG_ADMIN, static function (?Model $user) {
       // Implement your logic here, for example:
       return $user && $user->email === 'your-admin-user@your-site.com';
       // Or something like `$user->is_admin === true`
   });
  • 旧方法(在 User.php 上使用 canManageBlogEtcPosts() 方法)仍然有效,但建议不要使用。将来某个时候将删除该方法。

(webdevetc.com 上的说明将很快更新)

Laravel 博客包

这是 WebDevEtcBlogEtc Blog 包 for Laravel。它包含了您快速轻松地将博客添加到 Laravel 应用所需的一切。

有关安装说明,请阅读此处 Laravel 博客安装指南

安装指南Packagist << 他们很简单,但必须遵循。

功能

  • 包括所有视图、路由、模型、控制器、事件等
    • 面向公众的页面
      • 查看所有帖子(分页)
      • 查看分类中的所有帖子(分页)
      • 查看单个帖子
      • 添加评论视图/确认视图
      • 搜索、搜索表单、搜索结果页面。
    • 管理页面
      • 帖子 (CRUD 博客帖子,上传特色图片(自动调整大小))
        • 查看所有帖子,
        • 创建新帖子,
        • 编辑帖子,
        • 删除帖子
      • 分类 (CRUD 帖子分类)
        • 查看所有分类,
        • 创建新分类,
        • 编辑帖子,
        • 删除帖子
      • 评论 (包括评论批准)
        • 查看所有评论,
        • 批准/管理评论,
        • 删除评论
      • 上传图片
        • 以及为每个博客帖子上传特色图片(可以定义实际尺寸)- 在大、中、缩略图尺寸下
        • 查看所有上传的图片(多个尺寸)
  • 包括管理面板
    • 创建/编辑帖子
    • 创建/编辑帖子分类
    • 管理(批准/删除)提交的评论
  • 允许每个博客帖子上传特色图片(可以定义实际尺寸)- 在大、中、缩略图尺寸下
  • 通过其 config/blogetc.php 配置文件完全可配置。
  • 包括所有必需的视图文件,无需额外设置即可直接使用。所有视图文件(Blade 文件)使用 Bootstrap 4,且非常干净的 HTML(易于理解)。您可以通过在 /resources/views/vendor/blogetc/ 目录中放置文件来轻松覆盖任何视图文件。
  • 内置评论(使用数据库),可以自动批准或需要管理员批准(评论管理)。
    • 其他选项包括使用 Disqus 评论或禁用评论。
  • 包括单元/功能测试,自动在Travis CI上运行。
  • 任何数据库更改都会触发事件,因此您可以轻松地添加事件监听器以添加额外的逻辑。
  • < 5分钟安装时间,您的博客即可上线并运行,您可以进入管理面板并撰写博客文章 - 以下是详细步骤总结
    • 使用Composer进行安装,
    • 进行数据库迁移,复制配置文件(使用 php artisan vendor:publish 完成)
    • 更改/所有者权限 public/blog_images/ 目录,以便可以为每篇博客文章上传特色图片
    • 然后在AuthServiceProvider中添加一个权限门(见上方注释)
    • 但请参阅安装说明以了解如何使一切正常运行

如何自定义博客视图/模板

这很容易做到,更多详细信息可以在我们的 BlogEtc Laravel 博客包文档 中找到。

运行 vendor:publish 命令后,所有默认模板文件都将位于 /resources/views/vendor/blogetc/,并且易于编辑以满足您的需求。

缺少 /auth/register 吗?

如果您在一个全新的Laravel安装上安装(该安装不再包含内置的认证),则需要运行以下操作

composer require laravel/ui;
php artisan ui vue --auth;

问题、支持、错误报告、安全问题

请联系我在 WebDev Etc 上的联系表单或在 twitter 上,我会尽快回复您。

版本

  • 8.4 (2020年9月):增加了对Laravel 8的支持。移除了对PHP 7.2的支持。
  • 8.3 (2020年9月):移除了对 swisnl/laravel-fulltext 的支持,因为它似乎已被放弃。
    • 在blogetc中进行搜索现在变得更加简单 - 所有操作都在控制器内完成,并执行简单的LIKE查询。
    • 如果您需要全文搜索,我建议您实现自己的搜索控制器(请参阅旧提交以复制使用全文搜索的代码)
  • 8.2 (2020年9月):增加了动态标题的修复
  • < 8.1 支持 PHP 7.2、7.3、7.4。支持 Lavavel 5.8.35 - 7.6