---
title: "Content alphabetisch sortiert ausgeben"
url: "https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage","TYPO3 6.x"]
created: "2015-09-21"
last_reply: "2015-10-20"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# Content alphabetisch sortiert ausgeben

Extensions › Extbase · 4 Antworten · gestartet 2015-09-21

## Eröffnungsbeitrag

**morange** · 2015-09-21 · [Beitrag #1](https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben/1)

Hallo,
kann mir jemand sagen wie ich Inhalte im FE, in einer mit dem Extension Builder erstellten Extension die Inhalte nach einem Namensfeld alphabetisch sortieren kann?

Bitte erklärt es etwas genauer, ist mein erstes Typo3 Projekt.

Vielen Dank für eure Hilfe
m.orange

## Antworten

### [#2](https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben/2) · McGregor · 2015-09-23

Hi!

Da ist die Frage, welche Version Du benutzt. Bei mir (6.2) sieht das folgendermaßen aus:

```php
public function datensaetze($region) {
 $q = $this->createQuery();
 $q->getQuerySettings()->setRespectStoragePage(FALSE);
 return 
   $q->matching($q->equals('region',$region))
     ->setOrderings(Array(
       'sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING
     ))->execute();
}
```

Ich suche hier alle Einträge einer Region und sortiere sie nach dem Feld "sorting". Da kannst Du aber auch andere Felder benutzen.

Das ganze steht im Repository als Funktion und wird über den Controller aufgerufen und dem View zugwiesen.

Controller:

```php
$this->view->assign('ausgabearray', $this->meinRepository->datensaetze($this->settings['region']));
```

Die Region kommt in diesem Fall aus einem FlexForm-Feld des Plugins

Grüße

### [#3](https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben/3) · morange · 2015-10-20

Hi McGregor,

sorry das ich mich so spät melde.

Ich nutze die 6.2.13 auf nem aktuellen Mac System – sollte also recht ähnlich sein zu deiner.

Wenn ich das richtig sehe, fügst du diese Funktion in "meineExtension"/Classes/Controller/ hier in den Extension Controller ein.

Bei mir steht da aktuell drin:

```php
<?php

namespace TxOfficestaff\KeyOfficestaff\Controller;

/**
 * OfficestaffController
 */
class OfficestaffController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

    /**
     * officestaffRepository
     *
     * @var \TxOfficestaff\KeyOfficestaff\Domain\Repository\OfficestaffRepository
     * @inject
     */
    protected $officestaffRepository = NULL;



    /**
     * action list
     *
     * @return void
     */
    public function listAction() {
        $officestaffs = $this->officestaffRepository->findAll();
        $this->view->assign('officestaffs', $officestaffs);
    }

    /**
     * action show
     *
     * @param \TxOfficestaff\KeyOfficestaff\Domain\Model\Officestaff $officestaff
     * @return void
     */
    public function showAction(\TxOfficestaff\KeyOfficestaff\Domain\Model\Officestaff $officestaff) {
        $this->view->assign('officestaff', $officestaff);
    }

    /**
     * action
     *
     * @return void
     */
    public function Action() {

    }

}
```

Deine Funktion hab ich da jetzt unten angefügt und so angepasst:

```php
    public function datensaetze($name) {
        $q = $this->createQuery();
        $q->getQuerySettings()->setRespectStoragePage(FALSE);
        return
        $q->matching($q->equals('name', $name))->setOrderings(Array ('sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING))->execute();
    }
```

und den Aufruf dieser in die Funktion public function listAction() gelegt.

```php
$this->view->assign('officestaffs', $this->officestaffRepository->datensaetze($this->settings['name']));
```

Jedoch bringt mir dies die Typo3 Fehlerseite. Wenn ich Typo3 richtig verstehe, ist das Array leer.

```php
TYPO3\CMS\Extbase\Persistence\Repository::__call("datensaetze", array)
TxOfficestaff\KeyOfficestaff\Domain\Repository\OfficestaffRepository::datensaetze(NULL)
```

Diese beiden Fehlermeldungen verweisen beiden auf diese Zeile:

```php
$this->view->assign('officestaffs', $this->officestaffRepository->datensaetze($this->settings['name']));
```

Kannst du mir sagen, wo der Fehler liegt?

Besten Dank
M.Orange

### [#4](https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben/4) · morange · 2015-10-20

Hallo McGregor,

also in welche Dateien die Schnipsel müssen habe ich jetzt. :) Allerdings werden mir aus der DB die Datensätze geholt bei denen der Name NULL ist. Wie kann ich das denn ändern?

Die Abfrage an die DB sieht dann so aus:

```php
SELECT tx_keyofficestaff_domain_model_officestaff.*
FROM tx_keyofficestaff_domain_model_officestaff
WHERE tx_keyofficestaff_domain_model_officestaff.name IS NULL
AND (tx_keyofficestaff_domain_model_officestaff.sys_language_uid IN (0,-1))
AND tx_keyofficestaff_domain_model_officestaff.deleted=0
AND tx_keyofficestaff_domain_model_officestaff.t3ver_state<=0
AND tx_keyofficestaff_domain_model_officestaff.pid<>-1
AND tx_keyofficestaff_domain_model_officestaff.hidden=0
AND tx_keyofficestaff_domain_model_officestaff.starttime<=1445343060
AND (tx_keyofficestaff_domain_model_officestaff.endtime=0 OR tx_keyofficestaff_domain_model_officestaff.endtime>1445343060)
ORDER BY tx_keyofficestaff_domain_model_officestaff.sorting ASC
```

Herzlichen Dank
m.orange

### [#5](https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben/5) · morange · 2015-10-20

Hallo McGregor,

ich hab bei t3n ne sehr sehr schöne Lösung gefunden. :):):) (Y) Das muss einfach im Repository mit rein. :) jippieh

```php
protected $defaultOrderings = array ('name' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING);
```

Aber auch herzlichsten Dank für deine Hilfe!
m.orange

---

Quelle: „Content alphabetisch sortiert ausgeben“, typo3.net, https://www.typo3.net/d/120947-content-alphabetisch-sortiert-ausgeben
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
