TYPO3 defaultOrdering sort Null в конце - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть расширение TYPO3, которое дает мне список сотрудников.Существует одна таблица для данных сотрудника, таких как имя, контактная информация и т. Д., И другая таблица с разделами.Большинству сотрудников назначен раздел, но не всем.

Я хочу отсортировать список, чтобы все сотрудники с одним и тем же разделом следовали друг за другом, а после этой сортировки - по фамилии.Это уже хорошо работает.

Следующая сортировка: 3 конкретных сотрудника должны появляться друг за другом в верхней части списка независимо от того, какой раздел или фамилия.Я вставил другое поле ввода, называемое «позиция» в бэкэнд.Это целочисленное поле, по умолчанию номер в бэкэнде всегда равен 0.

Вот так я вставил его в ext_tables.sql:

position int(11) DEFAULT '' NOT NULL,

Итак, если я поставлю значение 1 длясотрудник на первой позиции и хочет отсортировать после значения позиции, он помещается в самый конец списка, потому что все остальные записи имеют «0», и это идет перед «1».Любые другие рекомендации для сортировки?

Это мой код в TCA:

protected $defaultOrderings = array(
            'position' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
            'section.uid' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
            'lastname' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
    );

Другая проблема: не всем сотрудникам назначен раздел, поэтому те, у кого их нет, появляются первыми,Но я хочу, чтобы они появлялись последними.

Есть ли возможность поместить записи с определенным значением (в данном случае без значения) в конец списка?

Спасибо за вашепомощь!

...