我们将介绍使用 PHP 框架 Laravel 和无头 CMS 的 microCMS 实现内容管理功能的方法。我们将以动手操作的形式描述 Laravel 的实现和 microCMS 的内容管理。

点击此处查看上一篇文章

在本文中,我们将亲身体验 Laravel 的实现。

创建一个新的 Laravel 项目

创建一个新的 Laravel 项目来创建这个应用程序。

我经常参考以下文章。

microCMS SDK介绍

在查看官方文档时,Laravel 将设置通过点击 microCMS API 来获取数据。

SDK 的详细设置在以下存储库中进行了说明。

$ composer require microcmsio/microcms-php-sdk

将 microCMS API 密钥添加到 .env

.env
MICRO_CMS_DOMAIN="microCMSのAPIを作成した際のサービスID"
MICRO_CMS_API_KEY="microCMS管理画面のサイドバーにある権限管理メニューの中のAPIキーを入力"

为 microCMS 创建服务类

应用程序/服务/MicroCmsService.php
<?php

namespace App\Services;

use Microcms\Client;

class MicroCmsService
{
    private Client $httpClient;

    public function __construct()
    {
        $microCmsDomain = env('MICRO_CMS_DOMAIN');
        $microCmsApiKey = env('MICRO_CMS_API_KEY');

        $this->httpClient = new Client(
            $microCmsDomain,
            $microCmsApiKey
        );
    }

    public function getContents(string $contentName): array
    {
        return $this->httpClient->list($contentName)->contents;
    }
}

路由,创建控制器

创建路由

路线/web.php
<?php

use App\Http\Controllers\ArticleController;
use Illuminate\Support\Facades\Route;

Route::get('/articles', [ArticleController::class, 'index'])->name('articles.index');

创建控制器

app/Http/Controllers/ArticleController.php
<?php

namespace App\Http\Controllers;

use App\Services\MicroCmsService;
use Illuminate\View\View;

class ArticleController extends Controller
{
    private MicroCmsService $microCms;

    public function __construct(MicroCmsService $microCms)
    {
        $this->microCms = $microCms;
    }

    /**
     * 記事一覧を取得
     * @return View
     */
    public function index(): View
    {
        $articles = $this->microCms->getContents('articles');

        return view('articles.index', [
            'articles' => $articles,
        ]);
    }
}

创建视图(这次我是直接写样式以节省时间,但建议为CSS创建一个文件。)

@foreach ($articles as $article)
    <div style="margin: 20px; background-color: lightcyan; border-radius: 10px; padding: 15px;">
        <p>タイトル {{ $article->title }}</p>
        <p>本文 {!! $article->detail !!}</p>
        <p>更新日 {{ $article->updatedAt }}</p>
    </div>
@endforeach

http://localhost:8080/articles
当您访问时,将显示以下屏幕。 (酌情用自己的环境替换localhost:8080)

LaravelとmicroCMSでのコンテンツ管理 Laravelアプリ作成編

从 microCMS 获取和显示数据很容易?
这次就到这里了✨感谢大家一直看到最后。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308622605.html

相关文章:

  • 2022-12-23
  • 2022-01-09
  • 2021-07-22
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2021-04-21
猜你喜欢
  • 2022-12-23
  • 2021-09-18
  • 2022-01-22
  • 2022-12-23
  • 2021-07-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案