jordanbeattie / craftcms-faker
CraftCMS 模拟条目字段
Requires
- php: ^8.0.2
- craftcms/cms: ^3|^4.0.0-alpha
Requires (Dev)
- craftcms/rector: dev-main
README
Craft CMS Faker 提供了一些模型,您可以在 Twig 代码中创建其实例以“模拟”Craft CMS 的各种组件。
例如,如果您将图像传递到模板中,您可以像处理 Craft CMS 的资产一样访问“模拟”图像的属性。
安装
要安装插件,请将其作为 composer 依赖项要求如下
composer require jordanbeattie/craftcms-faker
然后您可以通过 Craft 的插件部分或运行以下命令安装插件。
php craft plugin/install faker
用法
条目
设计用于模拟 CMS 条目,Entry 模型可以接受任何属性并将其分配给返回的模型。要访问传入的属性,请使用 get()
函数。
craft.faker.entry({
title: "My entry",
myCustomField: "My custom field value"
}).get();
集合
集合允许您在任意数组上运行 all()
、nth()
和 first()
等函数。在 Twig 模板中循环时很有用。
craft.faker.collection([
"my first item",
"my second item"
])
资产
设计用于模拟 Craft 的资产卷中的资产,这可以以许多不同的方式使用。
可用属性
- url
- title
- alt
- kind
- source
- width
- height
- text
- id
- query
来源
您可以选择一个来源用于生成默认图像。您可以选择 Lorem Picsum (默认)、Placeholder 或 Unsplash。
这可以在 CMS 设置中选中,并可以设置为 ENV 变量。
您还可以通过传递 source
属性并使用 picsum
、placeholder
或 unsplash
作为值来按图像覆盖此设置。
默认 URL
如果没有传递 URL 给函数,将为您创建一个 URL,使用您选择的来源(见上文)。如果您想要自动生成图像,请勿包含 URL 属性,您可以选择性地传递高度和宽度。
尺寸
如果您需要,可以传递 width
和 height
。这对于传递稍后转换的图像很有用。两者都将默认为 200。
ID
当使用 unsplash
时,您可以传递一个 ID 来选择特定的图像。
查询
当使用 unsplash
时,您可以传递一个查询字符串来检索与查询相关的图像。
示例
craft.faker.asset({
url: "my-image-url",
title: "Fake image",
alt: "My fake image",
kind: "image"
})
craft.faker.asset({
source: "placeholder"
width: 1080,
height: 720
})
超级表格
设计用于模拟 Super Table,这与使用集合相同。只需传递一个数据数组即可访问。每个数组项应被括号包围以模拟一行。
craft.faker.superTable([
{
myColumnName: "my first columns data",
mySecondColumnName: "my second columns data",
},
{
myColumnName: "my first columns data",
mySecondColumnName: "my second columns data",
},
])
驴尾巴
设计用于复制 Donkey Tail,您可以使用此功能复制驴尾巴字段并传递您的图像和标记。
可用属性
- 图像
- 标记
craft.faker.donkeytail({
image: yourAssetField,
pins: [
{
x: 10,
y: 10,
element: yourElementField
}
]
})
您可以将每个函数组合在一起并在彼此内部使用。例如,如果您有一个资产的集合
craft.faker.collection([
craft.faker.asset(),
craft.faker.asset(),
craft.faker.asset()
])
或者如果您在超级表格字段中有一个资产
craft.faker.superTable([
{
image: craft.faker.asset()
}
])
您甚至可以在“Donkey Tail”字段中伪造条目和资产。
craft.faker.donkeytail({
image: craft.faker.asset(),
pins: [
{
x: 10,
y:10,
element: craft.faker.entry()
}
]
})
如果没有在属性中提供,模型将自动分配标题、URL、slug和发布日期。
导航
设计用于模仿Verbb的导航插件,导航功能将接受一个整数表示要返回的项目总数,并提供一个包含每个项目的集合,每个项目具有
- url
- title
- 激活状态
- 新窗口
- 自定义属性
- 有子项
- 子项
如果您想返回多级导航,可以添加一个true
的第二个参数。目前这仅支持两级。
craft.faker.navigation(4)
craft.faker.navigation(4, true)
联系
乔丹·比蒂(Jordan Beattie)
jordan@mission10.co.uk
苏格兰阿伯丁