anubarak / craft-seeder
Craft CMS 的简单条目生成器
5.0.0.7
2024-08-14 07:52 UTC
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0
- fakerphp/faker: ^v1.23.1 || ^2.0.x-dev
This package is auto-updated.
Last update: 2024-09-14 08:01:33 UTC
README
使用方法
生成器允许您通过命令行快速创建模拟条目。完成网站建设后,您可以轻松删除模拟数据。安装插件后,运行 php craft element-seeder/generate/entries
创建条目
安装
要安装插件,请按照以下说明操作。
-
打开您的终端并转到您的 Craft 项目
cd /path/to/project
-
然后告诉 Composer 加载插件
composer require anubarak/craft-seeder
-
在控制面板中,转到设置 → 插件,并点击 "Seeder" 的 "安装" 按钮。
条目(部分 ID/handle,数量)
使用以下命令,后跟 --section
选项和您想要创建的条目数量(如果省略,默认为 20)。此命令适用于部分 ID 和 handle。
php craft element-seeder/generate/entries --section=news --count=15
清理
完成网站建设后,插件提供了一种简单的方法来删除模拟数据(条目、资产、类别和用户)。这可以通过 CP(点击侧边栏的 Seeder 部分)或通过以下命令行操作完成:
php craft element-seeder/clean-up
配置选项
您可以为每个布局包含自定义配置
<?php use anubarak\seeder\models\EntryConfig; use anubarak\seeder\models\FieldCallback; use anubarak\seeder\models\Settings; use craft\base\ElementInterface; use craft\base\FieldInterface; $config = (new Settings()) ->fieldsConfig([ new EntryConfig( 'news', null, [ (new FieldCallback('date')) ->setCallable( static function( \Faker\Generator $faker, FieldInterface $field, ElementInterface $element ) { return new DateTime(); } ), (new FieldCallback('date2')) ->setCallable( static function( \Faker\Generator $faker, FieldInterface $field, ElementInterface $element ) { $date = (clone $element->getFieldValue('date')); $date->modify('+1 day'); return $date; } ), (new FieldCallback('headline')) ->setFakerMethod('text'), ] ) ]); // required for Craft 4 since they'll do an array_merge return $config->toArray([], ['fieldsConfig'], false);
在为 news
部分的条目字段 date
、date2
和 text
进行生成时,会创建一个自定义回调。文本将调用 Faker
函数 $faker->text
,而 date
和 date2
将调用回调函数以填充字段并满足自定义条件