AutocompleterTextfield: Unterschied zwischen den Versionen

Aus Contao Community Documentation

 
(Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[Category:Dev_HOWTOS]]
 +
[[Category:Development]]
 
[[Category:Extensions]]
 
[[Category:Extensions]]
 
{{ExtInfo
 
{{ExtInfo
Zeile 8: Zeile 10:
 
| SVN=http://svn.4wardmedia.de/autocompleterTextfield
 
| SVN=http://svn.4wardmedia.de/autocompleterTextfield
 
}}
 
}}
'''SVN''': http://svn.4wardmedia.de/autocompleterTextfield
+
'''Github''': https://github.com/psi-4ward/autocompleterTextfield
 +
 
 +
=AutocompleterTextfield=
  
 
[[Datei:AutocompleterTextfield.png]]
 
[[Datei:AutocompleterTextfield.png]]
  
Autocompleting für ein Textfeld anhand von ''options'', ''options_callback'' oder ''foreignKey''. \\
+
Autocompleting für ein Textfeld anhand von ''options'', ''options_callback'' oder ''foreignKey''.
 
Über die Eval-Option ''storeId'' kann die ID bzw. der Array-Key anstatt der Textwert gespeichert werden.  
 
Über die Eval-Option ''storeId'' kann die ID bzw. der Array-Key anstatt der Textwert gespeichert werden.  
  
Zeile 64: Zeile 68:
 
),
 
),
 
),
 
),
 +
</source>
 +
 +
 +
==Beispiel für einen options_callback==
 +
Falls die POST-Variable ("value") gesetzt ist, kann eine Vorselektierung stattfinden. Sie wird vom Autocompleter-Javascript übermittelt und enthält den eingegebenen String.
 +
<source lang="php">
 +
public function getProducts()
 +
{
 +
$this->import('Database');
 +
 +
// perhaps do some validation, cause POST-Vars are evil
 +
if($this->Input->post('value'))
 +
{
 +
$objProducts = $this->Database->prepare(' SELECT id,name
 +
FROM tl_product
 +
WHERE name LIKE ?
 +
ORDER BY name')
 +
->execute('%'.$this->Input->post('value').'%');
 +
}
 +
else
 +
{
 +
$objProducts = $this->Database->prepare(' SELECT id,name
 +
FROM tl_product
 +
ORDER BY name')
 +
->execute();
 +
}
 +
$prods = array();
 +
while($objProducts->next()) $prods[$objProducts->id] = $objProducts->name;
 +
return $prods;
 +
}
 
</source>
 
</source>

Aktuelle Version vom 13. Juni 2013, 16:39 Uhr


Erweiterungs-Übersicht
Entwickler Webseite http://www.4wardmedia.de.de
Version der Erweiterung 1.0.0
Kompatibilität mit Contao Version 2.10.x
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/autocompleterTextfield.html
Link zum Tracker http://contao-forge.org/projects/autocompleterTextfield/issues

Github: https://github.com/psi-4ward/autocompleterTextfield

AutocompleterTextfield

AutocompleterTextfield.png

Autocompleting für ein Textfeld anhand von options, options_callback oder foreignKey. Über die Eval-Option storeId kann die ID bzw. der Array-Key anstatt der Textwert gespeichert werden.

Einfaches Textfeld, Vervollständigung anhand der tl_page, Speicherung der tl_page.id

'myPage' => array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_tmp']['myPage'],
	'inputType'               => 'autocompleterTextfield',
	'foreignKey'		  => 'tl_page.title',
	'eval'                    => array('storeId'=>true)
),


Einfaches Textfeld, Vervollständigung anhand von options

'myPage' => array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_tmp']['myPage'],
	'inputType'               => 'autocompleterTextfield',
	'options'		  => array('Erster Eintrag','Zweiter Eintrag','Dritter Eintrag')
),


Verwendung im MultiColumnWizard

'einFeld' => array
(
	'label'                   => &$GLOBALS['TL_LANG']['tl_asd']['einFeld'],
	'inputType'               => 'multiColumnWizard',
	'eval'                    => array(
		'columnFields'	=> array
		(
			'myTxt' => array
			(
				'label'         => array('label','desc'),
				'inputType'     => 'autocompleterTextfield',
				'options'	=> array('Erster Eintrag','Zweiter Eintrag','Dritter Eintrag'),
				'eval' 		=> array('style'=>'width:180px')
			),
			'myTxt2' => array
			(
				'label'         => array('label','desc'),
				'inputType'     => 'autocompleterTextfield',
				'options_callback' => array('myClass','myCallback'),
				'eval' 		=> array('style'=>'width:180px')
			),
		)
	),
),


Beispiel für einen options_callback

Falls die POST-Variable ("value") gesetzt ist, kann eine Vorselektierung stattfinden. Sie wird vom Autocompleter-Javascript übermittelt und enthält den eingegebenen String.

public function getProducts()
{
	$this->import('Database');
 
	// perhaps do some validation, cause POST-Vars are evil
	if($this->Input->post('value'))
	{
		$objProducts = $this->Database->prepare('	SELECT id,name 
												FROM tl_product 
												WHERE name LIKE ?
												ORDER BY name')
					->execute('%'.$this->Input->post('value').'%');
	}
	else
	{
		$objProducts = $this->Database->prepare('	SELECT id,name
													FROM tl_product
													ORDER BY name')
					->execute();
	}
	$prods = array();
	while($objProducts->next())	$prods[$objProducts->id] = $objProducts->name;
	return $prods;
}
Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich überlege gerade warum Contao Developer einen Hangout mit Bildübertragung machen... abgesehen von TheTril sind wir da alle relativ hässliche Typen wo Audio deutlich reichen würde. *g*

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge