2017-08-24 9 views
0

Lorsque cette requête est exécutée, il n'y a pas d'action d'affichage dans les liens dans ma vue de liste ... et ils le font travaillerais plus:TYPO3 - Requête personnalisée Extbase avec QueryBuilder: Comment ajouter une action show to url pour que les liens fonctionnent à nouveau

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); 
} 

Console:

<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> 

Quand je déboguer je vois que je rends le tableau suivant: 01

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

Comment puis-je rétablir le lien?

Répondre

1

changement

<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> 

parce que vous ne reçoit pas plus d'objets mais des tableaux de lignes de base de données. De plus, votre listeAction ne contient pas les paramètres $ minUid et $ maxUid.

+0

Super ... ça m'a aidé! –