2015-05-14 6 views
0

My TYPO3 6.2 (Обновлено с TYPO3 4.5) жидкокристаллический дисплей отображает все элементы вместо 5 элементов.TYPO3 6.2 жидкокристаллическая система не работает, как ожидалось

My Repository Метод:

public function getRandomLocation($iLimit) 
{ 
    $query = $this->createQuery(); 
    $result = $query->statement("Select * FROM  tx_sfel_domain_model_ttblocationsproduktegruppen WHERE hidden = 0 AND deleted = 0 AND logo != '' ORDER BY uid LIMIT 0, ".$iLimit." "); 
    return $result->execute(); 
} 

Мой код контроллера:

$aSResultsLocations = $this->tTBLocationsProdukteGruppenRepository->getRandomLocation($iLimit); 
$this->view->assign('aSResultsLocations', $aSResultsLocations); 

Мой шаблон:

<f:widget.paginate objects="{aSResultsLocations}" as="aSResultsLocationss" configuration="{itemsPerPage: 5, insertAbove: 1 insertBelow: 1}"> 

       <f:for each="{aSResultsLocationss}" as="aSResultsLocation"> 
        ................. 

        //Getting all the items instead of 5 items. 

       </f:for> 
    </f:widget.paginate> 

В TYPO3\CMS\Fluid\ViewHelpers\Widget\Controller\PaginateController.php indexaction() я получаю следующие результаты.

Код:

$itemsPerPage = (int)$this->configuration['itemsPerPage']; 

$query = $this->objects->getQuery(); 
$query->setLimit($itemsPerPage); 
if ($this->currentPage > 1) { 
    $query->setOffset((int)($itemsPerPage * ($this->currentPage - 1))); 
} 
$modifiedObjects = $query->execute(); 

Значения, которые я получил от здесь:

$ itemsPerPage: 5

$query : Select * FROM tx_sfel_domain_model_ttblocationsproduktegruppen WHERE hidden = 0 AND deleted = 0 AND (jahr = '13' OR jahr = '14' OR jahr = '15') AND logo != '' ORDER BY uid LIMIT 0, 26 

$ modifiedObjects кол = 26

Но мне нужно «$ modifiedObjects count 'as 5.

Я думаю, что следующие не работаю для моего объекта запроса,

$query->setLimit($itemsPerPage); 
$query->setOffset((int)($itemsPerPage * ($this->currentPage - 1))); 

Я думаю, что этот вопрос является то, что связанно с моим объектом запроса с использованием в постраничном. Как создать объект запроса для TYPO3 6.2.

Пожалуйста, помогите мне.

+0

Вы не можете использовать оператор с постраничной, потому что постраничной изменит Orginal заявление перед казнью. Это может быть сделано только в том случае, если это запрос создается через построитель запросов. – pgampe

+0

Спасибо Пгампе. Ваш намек мне очень помогает. Я перестроил свой запрос с помощью построителя запросов и теперь работает ti. –

+0

Привет всем, Чтобы устранить эту проблему, я перестроил запрос в формате запроса extbase. IN typo3 6.2.x paginate не будет работать с запросом, поэтому нам нужно преобразовать его в формат запроса extbase. –

ответ

0

Чтобы устранить эту проблему, я перестроил запрос в формате запроса extbase. В typo3 6.2.x paginate не будет работать с запросом запроса, поэтому нам нужно преобразовать его в формат запроса extbase.

Мой перестроен формат запроса,

$constraints = array(); 
$subConstraints = array(); 
$query = $this->createQuery(); 

foreach($PublicationYears as $year) 
    $subConstraints[] = $query->equals('jahr', $year); 

$constraints[] = $query->logicalOr($subConstraints); 

$constraints[] = $query->logicalNot($query->equals('logo', '')); 

$query->matching($query->logicalAnd($constraints)); 

$query->setLimit((integer)$iLimit); 

$Result = $query->execute();