mediadreams / md_newsfrontend
此TYPO3扩展允许前端用户创建新闻记录。
4.0.0
2024-02-02 10:15 UTC
Requires
- georgringer/news: >=9.0,<12.0
- georgringer/numbered-pagination: >=1.0.1,<3.0.0
- typo3/cms-core: ^11.5 || ^12.4
README
此扩展允许前端用户添加 ext:news
记录。除了添加如 title
、teaser
、bodytext
等普通文本字段的內容外,还可以上传图片和文件下载,以及选择分类。
模板已准备好与 bootstrap 框架 一起使用,如果您在项目中包含了 Font Awesome 图标集,图标将显示出来。输入验证在前端进行,textarea 启用丰富文本编辑,并包含用于存档日期的日期选择器。
要求
- TYPO3 >= 11.5
- ext:news >= 9.0
安装
- 通过扩展管理器安装扩展或使用 composer
- 包含扩展的静态 TypoScript
- 通过设置自己的常量来配置扩展
使用方法
- 在一个由前端用户登录限制的页面上添加插件
News frontend
- 在插件的
Record Storage Page
字段中选择一个存储页面 - 现在,前端用户可以添加、编辑和删除自己的记录
PSR-14 事件
以下 PSR-14 事件可用
Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSave
:在保存新记录之前调用Mediadreams\MdNewsfrontend\Event\CreateActionAfterPersist
:在保存新记录后调用(新记录 ID 可用)Mediadreams\MdNewsfrontend\Event\UpdateActionBeforeSave
:在更新现有记录之前调用Mediadreams\MdNewsfrontend\Event\DeleteActionBeforeDelete
:在删除记录之前调用
注册事件
在您的扩展的 Configuration/Services.yaml
中添加以下行
services: Vendor\Extension\EventListener\MyListener: tags: - name: event.listener identifier: 'ext-mdnewsfrontend/createActionBeforeSaveEvent' method: 'enrichNews' event: Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent
在您的扩展中添加类 Vendor\Extension\EventListener\MyListener
和方法 enrichNews
namespace Vendor\Extension\EventListener; use Mediadreams\MdNewsfrontend\Event\CreateActionBeforeSaveEvent; final class MyListener { public function enrichNews(CreateActionBeforeSaveEvent $obj) { // Get news object $news = $obj->getNews(); $news->setTeaser('Set some teaser...'); // Get NewsController $newsController = $obj->getNewsController(); } }
错误和已知问题
如果您发现错误,请在 Github 上添加一个问题。
感谢
感谢所有使这个出色的 TYPO3 项目成为可能的人!
致谢
- 扩展图标是从 ext:news 复制的,并使用 Font Awesome 的笔进行了丰富。
- 感谢 Parsley.js,我使用它来在前端验证表单。
- 感谢 tiny,我使用它作为前端丰富文本编辑器。
- 感谢 flatpickr,我使用它作为前端日期选择器。
- 最后但同样重要的是,感谢 jQuery 团队。