brotkrueml/schema-virtuallocation

TYPO3 schema 扩展的附加组件,提供待定类型 VirtualLocation

安装次数: 4,794

依赖项: 0

建议者: 1

安全性: 0

星级: 0

关注者: 2

分支: 0

开放问题: 0

类型:typo3-cms-extension

v2.1.0 2024-02-04 11:23 UTC

This package is auto-updated.

Last update: 2024-09-04 12:40:56 UTC


README

本扩展是 TYPO3 schema 扩展 的附加组件,并提供 VirtualLocation 类型。它可以分配给事件类型。由于目前它是一个待定类型,它不由 schema 扩展提供。当这个类型被纳入核心词汇表时,此扩展将变得过时。

此外,此扩展还作为使用自定义类型模型和视图助手扩展 schema 扩展的蓝图。

要求

最新版本的扩展支持 TYPO3 v11 LTS、TYPO3 v12 LTS 和 TYPO3 v13。使用旧版本以与 TYPO3 v9 LTS 或 TYPO3 v10 LTS 兼容。

安装

使用 Composer

composer req brotkrueml/schema-virtuallocation

用法

使用 API

<?php

declare(strict_types=1);

namespace MyVendor\MyExtension\Controller;

use Brotkrueml\Schema\Type\TypeFactory;

final class MyController
{
    public function __construct(
        private readonly TypeFactory $typeFactory,
    ) {}

    public function doSomething(): void
    {
        // ...

        $location = $this->typeFactory->create('VirtualLocation');
        $location->setProperty('url', 'https://example.org/join/12345');

        $event = $this->typeFactory->create('Event');
        $event
            ->setProperty('name' 'A virtual event')
            ->setProperty('location', $location)
        ;

        // ...
    }
}

使用视图助手

<schema:type.event name="A virtual event">
    <schema:type.virtualLocation
        -as="location"
        url="https://example.org/join/12345"
    />
</schema:type.event>

两种情况都会产生以下 JSON-LD 输出

{
    "@context": "http://schema.org",
    "@type": "Event",
    "location": {
        "@type": "VirtualLocation",
        "url": "https://example.org/join/12345"
    },
    "name": "A virtual event"
}

有关更多信息,请参阅 schema 文档

版本和支持

变更日志 | TYPO3 扩展仓库