unrealmanu / ez-content-field-filter
过滤ez内容的字段
0.0.2
2020-03-21 15:11 UTC
Requires
- php: ^7.2
- ezsystems/ezplatform-ee: ^2.5
- symfony/framework-bundle: ~3.0|~4.0|~5.0
This package is auto-updated.
Last update: 2024-09-22 01:28:51 UTC
README
通过特定值类型实例过滤“内容类 -字段-”
说明
创建新的Filters()。
$fieldHelper = new Filters();
设置需要过滤字段的Content
- 仅支持 "eZ\Publish\API\Repository\Values\Content\Content"
- 单个 $content 或 数组 [$content, $content, $content]
$fieldHelper->setContent($content);
选择过滤器 "value class" 实例
- 选择用于过滤内容的类实例的单个或多个实例
use eZ\Publish\Core\FieldType\Image\Value as ImageValue;
use eZ\Publish\Core\FieldType\RichText\Value as RichTextValue;
use eZ\Publish\Core\FieldType\TextBlock\Value as TextBlockValue;
use eZ\Publish\Core\FieldType\TextLine\Value as TextLineValue;
- 单个 Value::class 或 [ValueA::class, ValueB::class, ValueC::class]
$fieldHelper->setClass(ImageValue::class);
- 从获取的值中获取字段名(必需)
$fieldHelper->setValueField('uri');
示例
use unrealmanu\ezFieldIterator\Filters as FieldHelper;
/**
* @return string|null
*/
function myFilter():?string
{
$fieldHelper = new FieldHelper();
$fieldHelper->setContent($content);
$fieldHelper->setClass(ImageValue::class);
$fieldHelper->setValueField('uri');
return $fieldHelper->getFirstChildren();
//return $fieldHelper->getChildren();
}
实际应用
- 获取"contents数组"中所有图像以生成图像站点地图
- 获取"contents数组"中的第一个图像/文本以用于搜索索引
- 获取内容中的所有文本字段以生成标签/描述等列表
- 发挥你的创造力 :)