---
title: "alle Bilder einer Seite ausgeben"
url: "https://www.typo3.net/d/115325-alle-bilder-einer-seite-ausgeben"
source: "typo3.net"
tags: ["Extensions","Extbase","Dateien & FAL","Frage","SEO"]
created: "2013-07-04"
last_reply: "2013-07-26"
replies: 2
solved: true
page: 1
pages: 1
lang: "de"
---

# alle Bilder einer Seite ausgeben

Extensions › Extbase · 2 Antworten · gelöst · gestartet 2013-07-04

## Frage

**mischa** · 2013-07-04 · [Beitrag #1](https://www.typo3.net/d/115325-alle-bilder-einer-seite-ausgeben/1)

Tachchen zusammen,

für eine google Bilder-Sitemap möchte ich in meiner EXT alle Bilder einer Seite laden.

Bis dato habe ich ein eigenes FileReference-Model und -Repository erstellt und greife dann über findBy('pid', n) auf die sys_file_reference zu.
Das klappt auch wunderbar. Ich bekomme alle zugeordneten Datensätze aus der sys_file_reference als Objekt ausgegeben.

Aber wie geht es weiter? Wie bekomme ich jetzt die ganzen Dateien aus den Referenzen?

Zudem möchte ich gerne im Template über

```html
{sfseoImages.originalResource.originalFile.identifier}
```

auf die Dateiobjekte zugreifen.
Die habe ich natürlich hier noch nicht.
Wie komme ich an die ran?

Mein Controller sieht bis jetzt so aus:

```php
<?php
namespace TYPO3\SfSeo\Controller;

/**
 *
 *
 * @package sf_seo
 * @license http://www.gnu.org/licenses/gpl.html GNU General Public License, version 3 or later
 *
 */
class GooglesitemapController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

	/**
	 * pagesRepository
	 *
	 * @var \TYPO3\SfSeo\Domain\Repository\PagesRepository
	 * @inject
	 */
	protected $pagesRepository;

	/**
	 * fileRepository
	 *
	 * @var \TYPO3\SfSeo\Domain\Repository\FileRepository
	 * @inject
	 */
	protected $fileRepository;

	/**
	 * fileReferenceRepository
	 *
	 * @var \TYPO3\SfSeo\Domain\Repository\FileReferenceRepository
	 * @inject
	 */
	protected $fileReferenceRepository;

	/**
	 * action sitemap
	 *
	 * @return void
	 */
	public function sitemapAction() {
		$subpages = \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getTreeList(1, 99, 0, 1);
		$storageRep = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Resource\\Collection\\FolderBasedFileCollection');

		$pages = $this->pagesRepository->findAllSitemapPages($subpages.$this->settings['startpage']);
		if($this->settings['includeImageXML'] == 1) {
			foreach($pages as $k => $page) {
				$fileRef = $this->fileReferenceRepository->findBy('pid', $page->getUid());
				$page->setSfseoImages($fileRef);
			}
		}
		$this->view->assign('pages', $pages);
	}

	/**
	 * injectPagesRepository
	 *
	 * @param \TYPO3\SfSeo\Domain\Model\Pages $PagesRepository
	 * @return void
	 */
	public function injectPagesRepository(\TYPO3\SfSeo\Domain\Model\Pages $pagesRepository) {
		$this->pagesRepository = $pagesRepository;
	}

}
?>
```

Für eure Hilfe jetzt schon mal vielen Dank.

## Beste Antwort

**mischa** · 2013-07-19 · [Beitrag #2](https://www.typo3.net/d/115325-alle-bilder-einer-seite-ausgeben/2)

So, dann antworte ich mir halt selber, in der Hoffnung, dass es jemandem hilft. :-)

Das Geheimnis ist

1. Das FileRepository muss auf \TYPO3\CMS\Core\Resource\FileRepository

```php
	/**
	 * fileRepository
	 *
	 * @var \TYPO3\CMS\Core\Resource\FileRepository
	 * @inject
	 */
	protected $fileRepository;

...

	/**
	 * injectFileRepository
	 *
	 * @param \TYPO3\CMS\Core\Resource\FileRepository $FileRepository
	 * @return void
	 */
	public function injectFileRepository(\TYPO3\CMS\Core\Resource\FileRepository $fileRepository) {
		$this->fileRepository = $fileRepository;
	}
```

2. Wie oben alle Dateien einer Seite auslesen

```php
$fileRef = $this->fileReferenceRepository->findBy('pid', $page->getUid());
```

3. Mit foreach alle Datensätze (oder Objekte oder wie man das jetzt nennt) druchwurschteln

4. Über das fileRepository die DateiInfos holen

```php
$img = $this->fileRepository->findFileReferenceByUid($file->getUid());
```

Die Datei-Eigenschaften holt man sich mit

```php
$temp = $img->getProperties();
```

Und das war's gewesen. In Fluid wie gewohnt ansprechen.
Rockt!

Viele Späße damit.

## Antworten

### [#2](https://www.typo3.net/d/115325-alle-bilder-einer-seite-ausgeben/2) · mischa · 2013-07-19 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

### [#3](https://www.typo3.net/d/115325-alle-bilder-einer-seite-ausgeben/3) · karlchen · 2013-07-26

hallo,

Magst deine Frage noch als Gelöst markieren ? Hast ja ne super Anleitung draus gemacht, das sollte nicht verloren gehen :)

---

Quelle: „alle Bilder einer Seite ausgeben“, typo3.net, https://www.typo3.net/d/115325-alle-bilder-einer-seite-ausgeben
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
