Я долго искал, но ни одно из решений не помогло.
Я создал внутренний модуль, который будет отображать заказы в таблице. Я добился создания таблицы, содержащей требуемую информацию, НО мне нужно больше функциональности, и я подумал, что будет легкий путь.
Таблица должна быть сортируемой, фильтруемой и доступной для поиска - функции, которые TYPO3 уже использует для отображения наборов данных в бэкэнде.
Я пытался использовать DataTables, которые уже включены в ядро TYPO3 и должны быть легко доступны по следующим ссылкам:
- https://forum.typo3.org/index.php/t/210780/
- https://typo3.com/blog/how-to-use-javascript-in-typo3s-backend/
- Модуль базы данных TYPO3 DataTable не работает
Я добавил js-файл согласно ответу Филиппа Вернна в первой ссылке:
/ Ресурсы / Public / JavaScript / OrderingTables.js:
define('TYPO3/CMS/GiPdShop', ['jquery', 'datatables'], function($) {
var OrderingTables = {};
// Initialize dataTables
OrderingTables.initializeDataTables = function() {
$('#orders-table').DataTable();
};
$(document).ready(function() {
// Initialize the view
OrderingTables.initializeDataTables();
});
});
Поскольку ошибок нет, и файл включается, если я проверяю в dev-tools, я считаю, что это не плохой подход. Чтобы использовать файл, я добавил следующее к <f:be.container>
в шаблоне:
includeRequireJsModules="{0: 'TYPO3/CMS/GiPdShop/OrderingTables'}"
Тем не менее, он не создает DataTable, не добавляет классов к строкам или ячейкам таблицы, и поэтому я предполагаю, что есть какая-то ошибка, возможно, отсутствует конфигурация, может быть, другой вариант, который я как-то пропустил.
Единственные другие решения, которые я нашел до сих пор, кажутся довольно сложными, и я хотел бы сделать его как можно более простым (я не профессионал в TYPO3 (пока), и модуль уже должен быть функциональным).
Может кто-то увидеть ошибку, которую я не нашел? Можно ли даже так легко добавить желаемую функциональность?
Любая помощь будет принята с благодарностью.