[TYPO3-dev] Problem with changing query according to post-parameter

David Bruchmann typo3-dev at bruchmann-web.de
Fri Jul 31 18:28:19 CEST 2009


----- Ursprüngliche Nachricht -----
Von:        Walter Seeberger <walk2moon at gmx.de>
Gesendet:   Freitag, 31. Juli 2009 14:14:51
An:         typo3-dev at lists.netfielders.de
CC:
Betreff:    [TYPO3-dev] Problem with changing query according to 
post-parameter
> Hello there,
> 
> I try to react upon some post-parameters by changing data according to that in the model.ok:
> 
> first I am doing some query and print the result trough my template.works!:
> 
> <?php if($this->isNotEmpty()) { ?>
> 					<ul>
> 					<?php } ?>
> 					<?php for($this->rewind(); $this->valid(); $this->next()) {
> 						$entry = $this->current();
> 						?>
> 						<li><?php $entry->printAsText('name'); ?></li>
> 						<?php } ?>
> 						<?php if($this->isNotEmpty()) { ?>
> 					</ul>
> 	<?php } ?>
> 
> 
> Now I am using my form to put in some param. My template calls this function in the controller:
> 
> public function formCallAction(){
> 	$modelClassName = tx_div::makeInstanceClassName('tx_testext_model_data');
>     	$model = new $modelClassName($this);
>         $model->load($this->parameters);	
> 	
>         $view = tx_div::makeInstance('tx_testext_view_resultlist');
> 	$view->exchangeArray($this->parameters);
> 	$view->controller($this);
> 	$view->render($this->configurations->get('resultlist'));
> 	
>         $className = tx_div::makeInstanceClassName('tx_lib_translator');
> 	$translator = new $className($this, $view);
> 	return $translator->translateContent();
>     }
> 
> The result is: Fatal error: Call to a member function printAsText() on a non-object ... /template.php in line 9.
> 
> Is anyone able to help me with this problem?
> Need some ;-)


Hi Walter first of all I propose to write the php like this:

<?php

if($this->isNotEmpty()) {
	$content='<ul>';
	for($this->rewind();
		$this->valid();
		$this->next()) {
			$content.='<li>';
			$this->printAsText( $this->current() );  ##
			$content.='</li>';
		}
	}
	$content .='</ul>';
	echo $content;
}

?>

It's a lot clearer to read and I think avoids some faults.

Concerning your problem have a look at line with the ## at the end.
I'm not sure, but $this->current() logically has no function printAsText().

Best regards
David







More information about the TYPO3-dev mailing list