unrealmanu/ez-content-field-filter

过滤ez内容的字段

安装: 1

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:ezplatform-bundle

0.0.2 2020-03-21 15:11 UTC

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数组"中的第一个图像/文本以用于搜索索引
  • 获取内容中的所有文本字段以生成标签/描述等列表
  • 发挥你的创造力 :)