TYPO3 ke_search 自定义不索引手风琴和 bootstrap_package 中的所有元素)?

问题描述 投票:0回答:2

ke_search 扩展不会索引我的手风琴内容元素。 有人找到解决方案了吗?

TYPO3 v12 Bootstrap_package 手风琴 C.E. ke_search v5.1.2

typo3 typo3-12.x
2个回答
0
投票

我发现这个解决方案适用于我的问题:

  • 已安装ke_search_hooks 5.0.0
  • 在这两个 php 文件中相应地更改源代码:

文件AdditonaResultMarker.php

public function additionalResultMarker(array &$tempMarkerArray, array $row, ResultlistPlugin $resultListPlugin)
    {
        if ($row['type'] == 'accordion') {
            /** @var ConnectionPool $connectionPool */
            $connectionPool = GeneralUtility::makeInstance(ConnectionPool::class);
            $queryBuilder = $connectionPool->getQueryBuilderForTable('tx_bootstrappackage_accordion_item');
            $newsRecord = $queryBuilder
                ->select('header')
                ->from('tx_bootstrappackage_accordion_item')
                ->where(
                    $queryBuilder->expr()->like('uid', $queryBuilder->createNamedParameter($row['orig_uid'], \PDO::PARAM_INT))
                )
                ->execute()
                ->fetch(FetchMode::ASSOCIATIVE);
            if ($newsRecord) {
                $tempMarkerArray['header'] = $newsRecord['header'];
            }
        }
    }

文件ExampleIndexer.php

                $tags = '';

            if (isset($record['datetime'])) {
                $datetime = $record['datetime'];
            } else {
                $datetime = 0;
            }

            if (isset($record['fe_group'])) {
                $datetime = $record['fe_group'];
            } else {
                $fe_group = null;
            }

这对我有用,我希望这对其他人有帮助。


0
投票

从 ke_search 5.3.0 开始,可以添加额外的表来保存来自例如EXT:bootstrap_package 或 EXT:mask,参见

https://docs.typo3.org/p/tpwd/ke_search/5.3/en-us/Indexing/IndexerTypes/Pages.html#index-content-from-additional-tables-eg-ext-mask-ext-引导程序包

© www.soinside.com 2019 - 2024. All rights reserved.