ervinasm / laravel-strapi
Laravel 使用 Strapi 无头 CMS 的包装器
dev-master
2023-07-05 20:10 UTC
Requires
- php: ^7.3|^7.4|^8.0|^8.1|^8.2
- illuminate/contracts: ^8.37|^9.0|^9.5|^10.0
- laravel/framework: ^8|^9|^10
- spatie/laravel-package-tools: ^1.11.0
Requires (Dev)
- brianium/paratest: ^6.2
- nunomaduro/collision: ^5.3|^6.0
- orchestra/testbench: ^6.15
- phpunit/phpunit: ^9.3
- spatie/laravel-ray: ^1.9
- vimeo/psalm: ^5.7
This package is auto-updated.
Last update: 2024-09-05 22:27:25 UTC
README
Laravel-Strapi 是一个用于使用 Strapi 无头 CMS 的 Laravel 辅助工具。
注意:要支持 Strapi v3,请使用 2.x.x 版本
安装
您可以通过 composer 安装此包
composer require dbfx/laravel-strapi
您可以使用以下命令发布和运行迁移
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Dbfx\LaravelStrapi\LaravelStrapiServiceProvider" --tag="strapi-config"
您需要在 .env 中定义 STRAPI_URL 和 STRAPI_CACHE_TIME:您还可以选择性地定义 STRAPI_TOKEN 以启用身份验证。不要包含 'Bearer',只需 token 本身。
STRAPI_URL=https://strapi.test.com
STRAPI_CACHE_TIME=3600
STRAPI_TOKEN=abcd1234abcd1234
用法
laravel-strapi 提供了 collection() 和 entry() 调用,用于返回完整的集合或集合中的特定条目。在下面的示例中,我们正在查询 strapi 集合 'blogs',然后从该集合中获取 id 为 1 的条目。
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); $blogs = $strapi->collection('blogs'); $entry = $strapi->entry('blogs', 1);
还有几个有用的选项可用。
$sortKey
和$sortOrder
允许您指定排序的键和方向$fullUrls
会自动将您的 STRAPI_URL 添加到任何相对 URL 的前面(例如图片等)。$limit
设置您请求的项目数量$start
是与 limit 一起使用的偏移量,对于分页很有用$populate
是包含要填充的字段的数组
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); $blogs = $strapi->collection('blogs', $sortKey = 'id', $sortOrder = 'DESC', $limit = 20, $start = 0, $fullUrls = true, $populate = ['author', 'images']); $entry = $strapi->entry('blogs', 1, $fullUrls = true, $populate = ['author', 'images']);
您还可以按如下方式访问单类型项目
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); // Fetch the full homepage array $homepageArray = $strapi->single('homepage'); // Return just the ['content'] field from the homepage array $homepageItem = $strapi->single('homepage', 'content');
并且您可以通过搜索自定义字段(例如 slug)来选择条目
use Dbfx\LaravelStrapi\LaravelStrapi; $strapi = new LaravelStrapi(); $entries = $strapi->entriesByField('blogs', 'slug', 'test-blog-post');
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
有关详细信息,请参阅CONTRIBUTING
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅许可证文件