ayacoo / ayacoo-soundcloud
提供Soundcloud在线媒体助手
Requires
- php: >=8.1 < 8.4
- typo3/cms-core: ^12.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.49.0
- helmich/typo3-typoscript-lint: ^3.1.0
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan: ^1.10.57
- phpstan/phpstan-phpunit: ^1.3.15
- phpstan/phpstan-strict-rules: ^1.5.2
- phpunit/phpunit: ^10.5
- saschaegerer/phpstan-typo3: ^1.10.0
- squizlabs/php_codesniffer: ^3.8.1
- symfony/console: ^5.4 || ^6.4 || ^7.0
- symfony/translation: ^5.4 || ^6.4 || ^7.0
- typo3/coding-standards: ^0.5.5
- typo3/testing-framework: ^8
README
1 特点
- Soundcloud音频可以作为TYPO3文件列表中的一个文件创建
- Soundcloud音频可以使用媒体元素与文本一起使用和输出
- 通过文件列表操作或命令更新元数据
2 使用方法
2.1 安装
使用Composer安装
推荐使用Composer安装扩展。
在你的基于Composer的TYPO3项目中运行以下命令
composer require ayacoo/ayacoo-soundcloud
由于数据库字段被添加,数据库分析器也必须运行一次。
2.2 TypoScript设置
隐私
使用plugin.tx_ayacoosoundcloud.settings.privacy = 1
,你可以确保使用data-src而不是src构建IFrame。如果你想使用更多的选项来影响HTML,你可以使用PSR-14事件。
2.3 提示
输出
输出时,直接使用来自Soundcloud的HTML。
SQL更改
为了避免永久访问oEmbed接口,sys_file_metadata表中添加了四个字段
3 开发者角落
3.1 ModifySoundcloudOutputEvent
如果你想修改Soundcloud HTML的输出,可以使用ModifySoundcloudOutputEvent
。
事件监听器注册
在你的扩展中,扩展一次Configuration/Services.yaml
Vendor\ExtName\EventListener\SoundcloudOutputEventListener: tags: - name: event.listener identifier: 'soundcloud/output' event: Ayacoo\AyacooSoundcloud\Event\ModifySoundcloudOutputEvent
<?php namespace Vendor\ExtName\EventListener; use Ayacoo\AyacooSoundcloud\Event\ModifySoundcloudOutputEvent; class SoundcloudOutputEventListener { public function __invoke(ModifySoundcloudOutputEvent $event): void { $output = $event->getOutput(); $output = str_replace('src', 'data-src', $output); $event->setOutput($output); } }
3.2 后端预览
在后端,预览由TextMediaRenderer使用。对于在线媒体,这仅显示提供者的图标,在这种情况下是soundcloud。如果你想显示缩略图,例如,你需要自己的渲染器来覆盖Textmedia。项目中有一个示例渲染器。注意:这将覆盖所有文本媒体元素,所以请只将此渲染器用作基础。
你可以在TCA Configuration/TCA/Overrides/tt_content.php
中使用$GLOBALS['TCA']['tt_content']['types']['textmedia']['previewRenderer'] = \Ayacoo\AyacooSoundcloud\Rendering\SoundcloudPreviewRenderer::class;
注册渲染器
4 管理角落
4.1 版本和支持
4.2 发布管理
ayacoo_soundcloud使用语义版本控制,这意味着
- 错误修复更新(例如,1.0.0 => 1.0.1)仅包括小错误修复或安全相关内容,不涉及破坏性更改,
- 次要更新(例如,1.0.0 => 1.1.0)包括新功能和较小的任务,不涉及破坏性更改,
- 以及 主要更新(例如,1.0.0 => 2.0.0)破坏性更改,这些更改可以是重构、功能或错误修复。
4.3 贡献
拉取请求非常受欢迎!不过,请不要忘记添加一个问题,并将其与您的拉取请求关联起来。这非常有帮助,可以了解PR将要解决的问题。
错误修复:请描述您的修复解决的问题,并提供有关如何重现问题的反馈。我们只接受那些我们可以重现的问题的错误修复。
5 感谢 / 通知
- 特别感谢Georg Ringer和他的news扩展。这是一个很好的模板来构建TYPO3扩展。例如,这里使用了README.md的结构。
- 也感谢b13的online-media-updater扩展。它的部分内容被允许包含在本扩展中。
6 支持
如果您对扩展满意,并希望以任何方式支持它,我将非常感激社会机构的支持。