ujamii / openimmo-neos
NEOS CMS 包,用于在基于 NEOS 的网站上展示基于 OpenImmo 的数据
Requires
- gossi/php-code-generator: ^v0.5
- neos/flow: *
- ujamii/openimmo: ^0.9
README
OpenImmo 和 OpenImmo 标志是 OpenImmo e.V. 的注册商标。此包不是官方发行版,并且我与此组织没有关联!
此 NEOS 包使用 openImmo API 生成 NEOS 需要与这些数据一起工作的所有内容。所有代码都是自动生成的
- 所有 yaml 配置文件(NodeTypes)
- 用于访问属性和子节点的 fusion 文件
- 遵循 Atomic Design 风格的 fusion 文件。主要目的是被您自己的样式覆盖
因此,您将有一堆特殊的新内容元素可用于新文档类型。您可以使用 NEOS 创建/编辑数据或从 OpenImmo 导出存档中导入数据。
内容树可能看起来像这样
TODOs / 贡献
如果您喜欢以下列出的功能,或者可能添加了一些自己的改进,请随时进行分支并提交拉取请求。
- 目前,UPDATE xml 动作不会删除任何内容
- 目前,该包使用德国 OpenImmo 标签来表示所有内容,因此请使用默认的 NEOS 翻译功能
- 将数据导出为 xml/zip 格式
- 在单独的工作空间中进行所有更改,然后将更改发布到其基本工作空间,而不是直接进行更改
安装
composer req ujamii/openimmo-neos
用法
- 安装 composer 包。
- (可选) 创建导入的根节点(见下文)
- 完成 :-)
将 OpenImmo XML 导入 NEOS 内容库
导入新数据假定您已经在服务器文件系统中找到 zip 文件。导入命令将解压 zip 文件到新文件夹,解析 xml 并更新内容库。
在您的文档树中,您必须创建一个导入根文档节点。该节点将成为所有导入数据的根对象。
./flow openimmo:import
默认情况下,sourceFolder 是 import/
。该命令期望在该目录中存在 *.zip 文件。内容将被提取到与 zip 文件同名的新的目录中,并且在导入完成后(也包括压缩目录)将删除存档。
该命令 不会以任何方式检查 内容。每个 zip 文件都期望包含一个精确的 xml 文件。
可能的定制
图标和标签
请查看 ./Configuration/Settings.yaml
。您可以看到如何调整不同内容节点类型的图标和标签。您必须使用以下命令重新生成包文件。
模板
根元素的融合视图非常基础,因此您可能想要覆盖它
prototype(Ujamii.OpenImmo:Document.OpenImmoRoot) < prototype(Neos.Fusion:Component) {
renderer = 'Bitte eine Immobilie im Baum auswählen!'
}
如果您想调整单个内容元素的渲染方式,只需按照您喜欢的样子覆盖它们即可。所有渲染都是使用位于 Resources/Private/Fusion/Component/Molecule
的文件完成的。
导入设置
您可以自定义导入的源目录(zip 文件所在的目录)以及数据将被导入的默认根节点(按节点类型)。
维护
使用 ./flow openimmo:clear
命令,可以删除内容库中类型为 Ujamii.OpenImmo:Document.Immobilie
的所有节点,这在您想要清理时可能很有用。
如果您想清理所有资产,可以使用内置命令 ./flow media:removeunused --assume-yes --only-tags=openimmo
,因为所有在导入过程中创建的资产都将带有标签 openimmo
。
根据更新的API类更新代码
- 更新composer包,包括开发包以及
--optimize-autoloader
,否则类加载将失败! ./flow openimmo:generate
将填充Configuration/
和Resources/Private/Fusion
目录中的新文件。
许可和贡献
由于这是开源软件,您可以通过报告错误、改进代码、编写测试或您能做的任何其他事情来贡献,我们非常欢迎。
如果您想帮我个忙,可以从我的 Amazon心愿单 购买一些东西。