subugoe / nkwgok
TYPO3 的主题层次结构
Requires
- php: >7.3.0
- typo3/cms-core: ^9.5
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
This package is auto-updated.
Last update: 2024-08-30 01:23:14 UTC
README
从专业层级结构导入数据并在内容元素中显示。专业层级结构可以存储在CSV文件中。对于SUB Göttingen,已实现从OPAC自动导入。
层级结构可以作为树状图、列或菜单显示。存在调度任务,用于自动重新导入所需数据。
扩展管理器中的基本设置
在TYPO3扩展管理器中,该扩展有两个基本设置
- OPAC基本URL(以/结尾): 从此URL构建OPAC中的链接。[默认值: https://opac.sub.uni-goettingen.de/DB=1/]
- 替换包含的CSS与路径: 用于树和菜单显示的自定义CSS文件路径 [默认值: 空值,使用扩展的CSS文件]
- 要下载的CSV文件的URL: 包含要加载的CSV文件URL的列表。列表条目通过空格分隔。要加载的各个文件必须具有不同的名称。[默认值: 空值]
内容元素的设置
具有插件的每个内容元素有三个设置选项
- 起始节点: 起始节点可以以两种方式设置
- 从以下层级开始专业层级结构: 可选择顶层2个层级的节点
- 指定起始节点的标记: 输入要显示的标记的逗号分隔列表
- 显示风格
- 树状图 – 层次结构树状图
- 列 – 将层次结构作为列显示。选择一个主题领域后,其子领域将在一个新列中显示。
- 菜单 – 显示包含子领域的菜单。选择菜单项后,将显示一个包含所选领域的子领域的另一个菜单。
- 与描述一起显示标记: 通过此选项控制显示属于专业领域的标记(如‘IA 663’)。
使用TypoScript plugin.tx_nkwgok_pi1.
的其他设置选项
shallowSearch
配置在‘树状图’显示风格中使用的目录链接类型- 0 [默认]: 搜索规范数据集所有子元素的书本
- 1: 搜索特定于此标记的书本
menuInlineThreshold
[2]: 在‘菜单’显示风格中,一个元素最多有这么多子元素时,这些子元素将直接在上级层级的菜单中显示。
调度器中的数据导入
扩展可以从两个来源导入专业层级结构
- 通过从OPAC中的XML格式中读取规范数据集(Pica类型Tev和Tov)
- 通过包含要导入信息的CSV文件
为此,存在不同的TYPO3调度任务,执行必要的步骤。
在执行任务时出现的错误将写入TYPO3开发者日志。
1+2+3: 加载、转换和导入专业层级结构数据
此调度任务以所需顺序执行其他三个调度任务
- 从OPAC加载主题领域的规范数据集
- 将CSV文件转换为XML
- 从XML文件导入专业层级结构
在常规操作中,此任务应定期执行,例如每周一次。由于需要频繁访问OPAC和TYPO3数据库,因此建议在高峰使用时间外执行。
auto 2+3:检查CSV文件是否已更新,如果是则进行转换/重新导入
此调度任务检查是否在fileadmin/gok/csv/
中的所有CSV文件都有对应的XML文件在fileadmin/gok/xml/
中,并且XML文件的修改日期较新。如果没有,则将CSV文件重新转换,并重新导入所有XML数据。
此调度任务可以频繁调用,以便快速在页面上提供CSV文件的更改。
2+3:转换CSV文件并重新导入所有XML文件
此调度任务仅执行CSV文件更新所需的步骤
- 加载CSV文件并转换为XML
- 导入XML文件
1:从OPAC加载主题领域的规范数据集
此调度任务从OPAC加载规范数据集以及每个GOK、BRK和MSC标记的命中次数。
规范数据的查询为MAK tev NOT LKL p*
和MAK tov
,即除了那些以P开头的GOK规范数据集外的所有GOK规范数据集,以及所有BRK规范数据集。GOK(历史)的P区域以CSV文件的形式提供(联系人是Enderle先生)。
加载的数据是OPAC的XML格式(URL选项XML=1/PRS=XML/XMLSAVE=N/
),包含Pica数据。它们被放在fileadmin/gok/xml/
目录中。该目录的内容在调度任务启动时被删除。
通过浏览LKL(对于GOK)、BRK和MSC索引来获取命中次数的查询。生成的XML文件被放在fileadmin/gok/hitcounts/
目录中。该目录的内容在调度任务启动时被删除。
2:将CSV文件转换为XML
此调度任务将包含专业信息层次结构的特殊CSV文件转换为Pica-XML格式。
此类CSV文件目前包括:
- 历史专业(GOK P*),比纯GOK有更精细的划分
- 数学主题分类(MSC)
- GEO-LEO与Freiberger分类的对照
- SSG-FI指南:英美国文化领域(语言 & 文学,历史)地理
- 新增采购清单:英美国文化领域数学 **所有SUB的专业参考
输入数据来自两个来源
-
可以在fileadmin/gok/csv目录下存储CSV文件。它们的文件名不应与步骤1中的文件名冲突。
-
可以下载CSV文件。为此,必须在配置的扩展名中存储一个空格分隔的URL列表。
使用这些设置,在执行调度任务时,将文件从存储的URL加载到fileadmin/gok/csv目录中,并用同名的新文件替换旧文件。
日期格式:期望使用分号(;)作为列分隔符,列内容可以用引号(")包围。
每一行至少包含3列
- 数据集标识符(如规范数据集中的003@ $0中的PPN)
- 父数据集标识符(如045C $9如果$4 nueb)
- 主题领域的德文名称(045A $j)
- 此条目用于CCL搜索查询的CCL搜索查询[可能为空/不存在]这些搜索查询的片段具有形式搜索关键字=术语?.它们可以用括号括起来,并与
and
、not
和or
连接起来。如果与pazpar2一起使用,重要的是使用与pazpar2设置中相同的字母大小写(我们的约定:小写字母)。 - 主题领域的英文名称(如果$S d,则为044F $a)[可能为空/不存在]
- 用于任意用途的逗号分隔的标签列表[可能为空/不存在]
输出文件:首先将CSV文件转换为Pica-OPAC输出格式的XML文件。转换后的文件将写入fileadmin/gok/xml/目录,文件名与原始文件相同,但将最后的‘csv’替换为‘xml’。
3:从XML文件导入专业信息层次结构
覆盖TYPO3数据库中专业层级表(Fachhierarchia-Tabelle)的数据,以fileadmin/gok/xml/*.xml文件中的新XML数据替换。
导入所需的时间取决于数据量、计算机速度和数据库连接。5-10分钟是正常情况。
开发
钩子
此扩展提供了用于操作树和菜单JavaScript的钩子。必须使用$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['nkwgok']['gokTreeJavaScript']
来操作树,以及使用$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['nkwgok']['gokMenuJavaScript']
来操作菜单,例如,在ext_localconf.php
中添加$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['nkwgok']['gokTreeJavaScript'][] = 'Subugoe\\TmplFidmath\\Hooks\\Gok->javascript';