Получение неподдерживаемого или несуществующего имени свойства Исключение в TYPO3

Я пытаюсь добавить sys_category в свой собственный модальный режим, используя этот код в моем setup.txt

config.tx_extbase {
    objects {
        TYPO3\CMS\Extbase\Domain\Model\Category {
            className = ABC\MyExt\Domain\Model\Category
        }
    TYPO3\CMS\Extbase\Domain\Repository\CategoryRepository {
        className = ABC\MyExt\Domain\Repository\CategoryRepository
        }
    }
}

plugin.tx_myext {
    persistence {
        classes {
            ABC\MyExt\Domain\Model\Category {
                mapping {
                    tableName = sys_category
                }
            }
        }
    }
}

но я получаю это исключение Unsupported or non-existing property name \"categories\" used in relation matching

и в моей модели я использую это

/**
 * categories
 *
 * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\ABC\MyExt\Domain\Model\Category>
 */
protected $categories = null;

что я делаю не так в отношениях?

Мой TCA Я использую это в ext_tables.php

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
            'myext',
            'tx_myext_domain_model_tablename,
            // Do not use the default field name ("categories") for pages, tt_content, sys_file_metadata, which is already used
            'categories',
            array(
                // Set a custom label
                'label'              => 'LLL:EXT:myext/Resources/Private/Language/locallang.xlf:additional_categories',
                // This field should not be an exclude-field
                'exclude'            => false,
                // Override generic configuration, e.g. sort by title rather than by sorting
                'fieldConfiguration' => array(
                    'foreign_table_where' => ' AND sys_category.sys_language_uid IN (-1, 0) ORDER BY sys_category.title ASC',
                ),
                // string (keyword), see TCA reference for details
                'l10n_mode'          => 'exclude',
                // list of keywords, see TCA reference for details
                'l10n_display'       => 'hideDiff',
            )
        );

а в таблице у меня это categories int(11) DEFAULT '0' NOT NULL,


person Community    schedule 23.07.2018    source источник
comment
Вы очищали кеш в installtool?   -  person Paul Beck    schedule 23.07.2018
comment
да сделал это только что, но все еще есть исключение   -  person    schedule 23.07.2018
comment
Можете ли вы опубликовать свой контроллер и репозиторий?   -  person Thomas Löffler    schedule 24.07.2018
comment
@ThomasLöffler class CategoryRepository extends \TYPO3\CMS\Extbase\Domain\Repository\CategoryRepository { protected $defaultOrderings = array( 'title' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING ); // other methods here } и моя модель просто пустая class Category extends \TYPO3\CMS\Extbase\Domain\Model\Category { }   -  person    schedule 04.10.2018


Ответы (1)


Запросы внешнего интерфейса больше не загружают ext_tables.php запросов, начиная с TYPO3 8.5 (Журнал изменений TYPO3 CMS Core).

Вызов makeCategorizable() должен быть перенесен на Configuration/TCA/Overrides/<table>.php.

person Julian Hofmann    schedule 02.07.2020