Zum Inhalt springen

Probleme mit Formular

Erstellt am 6. Juli 2009 · Noch keine Antworten

Tags: Frage

lightning ·

Hallo Zusammen,

ich habe eine Extension geschrieben, die mir Mitarbeiter und Abteilungen anzeigt.
Nun habe ich folgendes Problem.
Ich habe ein Suchformular hinzugefügt, um Mitarbeiter suchen zu können. Wenn ein Begriff eingegeben wird, wird dieser auch richtig übernommen und das Ergebnis wird erzeugt.
Das Problem ist jetzt mein Template, dort ist ein Bereich für die Ergebnisse vorgesehen, doch leider werden die Marker nicht ersetzt.
Lasse ich das Ergebis mit echo anzeigen, stimmt es.

Hier meine Quelltexte:

	$viewType = -1;
	$link_vars = t3lib_div::_GP($this->prefixId);
	$viewType = $link_vars['view']; 
	switch ($viewType)
	{
		case '0':
			$content = $this->singleView((int) $this->piVars['profile']);
		        break;
		case '1':
			$content = $this->listView((int) $this->piVars['profile']);
			break;
		case '2':
			$content = $this->searchEmployee(t3lib_div::_GP('searchVal'));
		default:
		$content = $this->departmentView();
	}
return($this->pi_wrapInBaseClass($content));

Die Funktion, welche die Ergebisse abfragt:

function searchEmployee($searchWord)
 	{
 		/* database query */
		$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
		'lname, fname, photo, persnr',
		'tx_lswtaemployee_workers',
		'1'.$this->cObj->enableFields("tx_lswtaemployee_workers").' AND tx_lswtaemployee_workers.lname="'.$searchWord.'" OR tx_lswtaemployee_workers.fname="'.$searchWord.'"',
		'',
		'tx_lswtaemployee_workers.lname',
		''
		); 
		if($res)
		{
			$listViewTmpl=$this->cObj->getSubpart($this->template, '###SEARCHRESULT###');
			$listItemTmpl=$this->cObj->getSubpart($listViewTmpl, '###PROFIL###');
			while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))
			{
				echo $row['lname'];
				$markerArray['###SEARCHKEY###'] = $searchWord;
       			// Link mit dem Titel als Link-Text und der Profil-ID und der aktuellen Seiten-ID als URL-Parameter erstellen
        		$markerArray['###LINK###']=$this->pi_linkTP($row['lname'].' '.$row['fname'],array('tx_lswtaemployee_pi1[profile]' => $row['persnr'], 'tx_lswtaemployee_pi1[backPid]' => $GLOBALS['TSFE']->id,'tx_lswtaemployee_pi1[view]'=>2),1);
				
				// Array für Image
	         	$imgArr = array();
	         	$imgArr['file'] = $this->uploadDir.$row['photo'];
	         	$imgArr['file.']['maxW'] = '45';
	         	$imgArr['altText'] = $row['lname'].' '.$row['fname'];
	         	
        		$markerArray['###IMAGE###']=$this->cObj->IMAGE($imgArr);
        		
				$markerArray['###BACKLINK###'] = '<p>'.$this->pi_linkToPage('Zurück zur Übersicht',(int)$this->piVars['backPid']).'</p>';
				$list .= $this->cObj->substituteMarkerArrayCached($listItemTmpl,$markerArray);
      		}
      		$subpartArray['###PROFIL###']=$list;
			echo $this->cObj->substituteMarkerArrayCached($listViewTmpl,$markerArray,$subpartArray,array());
      		return ($this->cObj->substituteMarkerArrayCached($listViewTmpl,$markerArray,$subpartArray,array()));
    	}
    	else
    	{
      		return ('<p>'.$this->pi_getLL('nodata').'</p>');				
	}
}

Und hier der entsprechende Teil im Template

Suchergebnisse
 <div id="listview">
 <!--###SEARCHRESULT### Start-->
 <h2>###SEARCHKEY###</h2>
 <!-- ###PROFIL### Start-->
<div id="imgWrapper">
	<div id="imgThumb">###IMAGE###</div>
	<div id="lname"> ###LINK###</div>
</div>
<div id="clear"></div>
<!-- ###PROFIL### Stop-->
<p>###BACKLINK###</p>
<!--###SEARCHRESULT### Stop-->
</div>