TYPO3 - пользовательский запрос Extbase с QueryBuilder: как добавить экшн-шоу в URL, чтобы ссылки снова работали

Когда я запускаю этот запрос... в ссылках в моем представлении списка нет действия show, и они больше не работают:

controller.php

$uid = 10;
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
$statement = $queryBuilder  
    ->select('uid', 'pid', 'header')            
    ->from('tt_content')
    ->where(
       $queryBuilder->expr()->eq('uid', $uid)
    )           
    ->execute();    
while ($row = $statement->fetchAll()) {
    $this->view->assign('inet', $row);
}

Приставка:

<tr id="2">
    <td>2</td>
    <td class="name"><a href="code/?tx_code_code%5Brecord%5D%5Buid%5D=2&amp;tx_code_code%5Brecord%5D%5Bcode%5D=25490004X&amp;tx_code_code%5Brecord%5D%5Bname%5D=Company%20Name%20Inc&amp;cHash=e8e3573028618746234">Company Name Inc</a></td>
</tr>

Когда я отлаживаю его, я вижу, что я отображаю следующий массив:

array(20 items)
   0 => array(3 items)
      uid => 1 (integer)
      code => '213800' (6 chars)
      name => 'Company Name Inc' (16 chars)

Как я могу заставить ссылки работать снова?

1 ответ

Решение

Менять

<f:link.action action="show" pageUid="43" arguments="{record:record}">{record.name}</f:link.action>

в

<f:link.action action="show" pageUid="43" arguments="{record:record.uid}">{record.name}</f:link.action>

потому что вы больше не получаете объекты, а массивы строк базы данных. Кроме того, в вашем списке действий отсутствуют параметры $minUid и $maxUid.

Другие вопросы по тегам