Zum Inhalt springen

Fluid extbase Extension Sortierung Query

Erstellt am 31. Dezember 2013 · 6 Antworten · letzte Antwort am 1. Januar 2014

Tags: TYPO3 6.x, Frage

typo3_hp ·

Hallo!

Habe folgenden function innerhalb meines Ext-Verzeichnisses Classes/Domain/Repository

Wie kann ich die Datensätze aufsteigend nach Datum sortieren lassen?

	/**
	 * Find journeys by query
	 * 
	 * 
	 * @return \TYPO3\CMS\Extbase\Persistence\Generic\QueryResultVWA\VWAExt\Domain\Model\Journeys>
	 */
	public function findByQueryTopPush() {
		$query = $this->createQuery();
		
		# Datum groesser heute
		$dateConstraints = $query->greaterThan('journeystartdate', time());
		
		# only toppush
		$toppushConstraints = $query->equals('journeypush', 1);
		
		# Constraints verbinden
		$resultConstraints = $query->logicalAnd($dateConstraints, $toppushConstraints);
		
		# Exec
		$query->matching($resultConstraints);
		$query->setLimit(2);		
		return $query->execute();
	}

Hatte es mal mit

#$query->setOrderings(array('startdate' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING));

versucht, aber leider funktioniert das nicht.

Kann mir jemand helfen?

DANKE!

Schweriner · · Beste Antwort

Dein gescheiterter Versuch sieht richtig aus, allerdings musst Du beachten, dass Du ab TYPO3 6.x Namespaces verwenden musst. In den Parametern muss also \TYPO3\CMS\Extbase\Persistence\QueryInterface:😮RDER_ASCENDING stehen.

typo3_hp ·

hey supi ;-)

war ja wirklich nur eine Kleinigkeit tut nun.

Vielen Dank und LG

Vll. hast Du mir hier auch noch einen Tipp:

Binde so die Bilder ein, welche dann mit der perfectlightbox (3.1.4) geöffnet werden.

<f:if condition="{journeys.journeypic}">				
				<f:then><div id="image"><a rel="lightbox[lb56]" href="/uploads/tx_ext/{journeys.journeypic}" title="{journeys.journeytitle}" class="displaynone"><f:image src="/uploads/tx_ext/{journeys.journeypic}" maxWidth="250px" alt="{journeys.journeytitel}"/></a></div>	</f:then>				
				<f:else><div id="image"><a rel="lightbox[lb56]" href="/uploads/tx_ext/nopic.jpg" title="{journeys.journeytitle}" class="displaynone"><f:image src="/uploads/tx_ext/nopic.jpg" maxWidth="250px" alt="{journeys.journeytitel}"/></a></div></f:else>
				</f:if>	

Leider werden manche Bilder so groß angezeigt, dass es die Bildschirmgröße sprengt. Wie kann ich noch einen Aufruf einbauen dass die Lightbox auf z.b. 800x600 Pixel begrenzt wird?

LG und Danke
typo3_hp ·

Hi!

Nein, diese Breite bezieht sich ja nur auf das "normale"/kleine Bild. Das passt und wird auch auf 250px begrenzt. Mir geht es ja um das durch den Klick auf das kleine Vorschaubild, geöffnete Lightboxbild.

LG und Danke

Schweriner ·

Also an der stelle würde ich das Bild wohl mit typoscript zusammenbauen und dann per Fluid nur das typoscript Objekt einbinden.