Zum Inhalt springen

Daten aus Suchformular übergeben

Erstellt am 19. Juli 2012 · Noch keine Antworten

Tags: Fluid, Frage

mimaxx ·

Hallo,

möchte gerne in die Listansicht eine Suche einbinden nur wie bekomme ich die Werte später verarbeitet?

folgendes habe ich bislang

<f:section name="main">
    <table>
	<f:form method="post" action="list" name="demand" object="{demand}">
		<tr>
			<td valign="top" >Sorte: <f:form.textfield id="sorte" property="sorte" /></td>
			<td valign="top" >Werkzeug: <f:form.textfield id="werkzeug" property="werkzeug" /></td>
			<td valign="top" >Artikelnr.:<f:form.textfield id="artikelnr" property="artikelnr" size="10" /></td>
			<td><f:form.submit value="Suche" /></td>
		</tr>
	</f:form>
    </table>
...
<f:widget.paginate objects="{artikels}" as="paginateArtikels" configuration="{itemsPerPage: 20, forcedNumberOfLinks:0}">
	    <f:for each="{paginateArtikels}" as="artikel">
...

Das läuft auch soweit

ArtikelController

	public function listAction() {
		$artikelRepository = t3lib_div::makeInstance('Tx_Artikel_Domain_Repository_ArtikelRepository');		

		$this->view->assign('artikels', $artikelRepository->findDemand($demand));	
	}

Hier meine ich müsste noch "listAction(Tx_Artikel_Domain_Model_Demand $demand = NULL)" hin aber dann kommt der Fehler "parameter $demand of method Tx_Artikel_Controller_ArtikelController->listAction() could not be detected." Nehme ich das raus und gebe von Hand in die Repository einen Wert ein funzt es zumindest mit der Ausgabe.

ArtikelRepository.php

class Tx_Artikel_Domain_Repository_ArtikelRepository extends Tx_Extbase_Persistence_Repository {
	public function findDemand(Tx_Artikel_Domain_Model_Demand $demand = NULL) {  
	$query = $this->createQuery();	
	$query->matching($query->like('artikelnr', '%'.$demand.'%'));	
	return $query->execute();	    	    			
	}	  
}

Demand.php

class Tx_Artikel_Model_Demand extends Tx_Extbase_DomainObject_AbstractEntity {
    
    /**
     *@var  Search Artikelnummer
     */
    
    protected $artikelnr;
    
    /**
     *@var Search Sorte 
     */
    
    protected $sorte;
    
    /**
     *@var Search Sorte 
     */
    
    protected $werkzeug;  
      
 
    /**
    * @param string Artikelnummer of the demand
    * @return void
    */    
    public function setArtikelnr($artikelnr) {
	$this->artikelnr = $artikelnr;	
    }
 
    /**
    * @return string artikelnr
    */   
    public function getArtikelnr(){   
	return $this->artikelnr;
    }    
    
    /**
    * @param string Sorte of the demand
    * @return void
    */
    public function setSorte($sorte) {
	$this->sorte = $sorte;
    } 	
    
    /**
    * @return string sorte
    */
    public function getSorte(){
	return $this->sorte;
    }
    
    /**
    * @param string Sorte of the demand
    * @return void
    */
    public function setWerkzeug($werkzeug) {
	$this->sorte = $werkzeug;
    } 	
    
    /**
    * @return string sorte
    */
    public function getWerkzeug(){
	return $this->werkzeug;
    }
         
}

Muss ich noch irgendwas beachten? Oder kann mir jemand einen simplen Weg aufzeigen. Habe mir auch schon viele fertige extensions angesehen wie news und sjr_offers aber das ist schon etwas umfangreicher da steige ich leider noch nicht ganz durch ...

Gruß
mimaxx