php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.10.2007, 22:22  
Benutzer
 
Registriert seit: 14.08.2007
Beiträge: 37
Toxo befindet sich auf einem aufstrebenden Ast
Standard Smarty/quickform: Variablen Namen dynamisch erzeugen ?

Hallo !

Ich versuche gerade , mir ein dynamisches Formular zusammen zubasteln,das ich mir per smarty anzeigen lassen will.

Das Formular wie folgt erzeugt:
Code:
$allAreaRights=getAllAreaRights($areaID);
for ($i=0;$i<count($allAreaRights['right_id']);$i++){
  $form->addElement('checkbox', 'right_'.$allAreaRights['right_id'][$i], $allAreaRights['right_define_name'][$i]);
}
$form->addElement('submit','btnsubmit',FORM_SUBMIT);

$rendererDaten =& new HTML_QuickForm_Renderer_ArraySmarty($tmpl);
$form->accept($rendererDaten);      
$tmpl->assign('AREARIGHTS',$allAreaRights);
$tmpl->assign('formular_rights', $rendererDaten->toArray());
$tmpl->display('frmAllGroups.tpl');          
}
Jetzt wird ich gerne die einzelnen Formularelemente anzeigen lassen, in dem ich das Array allAreaRights[] durchlaufe und aus den Daten die Elementnamen wieder zusammenbastel.

Mein Ansatz sieht wie folgt aus:
Code:
<form {$formular_rights.attributes}>  
    <fieldset>            	     
    <h3>{$HEADLINE_RIGHT}</h3>
    <table>
     <tr><td>{$formular_rights.area_1.label}</td><td>{$formular_rights.area_1.html}</tr>
     {section name=i loop=$AREARIGHTS.right_id|count} 
       <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
       <tr><td>{$formular_rights.right_{$AREARIGHTS.right_id[i]}.label}</td><td>$formular_rights.right_{$AREARIGHTS.right_id[i]}.html</tr>
     {/section}
     <tr><td>&nbsp;</td><td>{$formular_rights.btnsubmit.html}</td></tr>
   </table>
 </fieldset>
</form>
Leider klappt das nicht, ich kann die den Namen für das label bzw Html-element nicht dynamisch zusammensetzen
(siehe : {$formular_rights.right_{$AREARIGHTS.right_id[i]}.label} )

Gibt es noch einen anderen Weg, die Elemente ohne "section .. loop" schleife zu durchlaufen bzw

Bisherige Fehlermeldung:
Code:
Fatal error: Smarty error: [in frmAllGroups.tpl line 34]: syntax error: unrecognized tag: $formular_rights.right_{$AREARIGHTS.right_id[i] (Smarty_Compiler.class.php, line 446) in /libs/smarty/Smarty.class.php on line 1094
Kann wer helfen ? vielleicht sollte ich auch einfach Schluss machen (kommen eh gleich die Simpsons )

Geändert von Toxo (31.10.2007 um 00:00 Uhr).
Toxo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.10.2007, 16:55  
Benutzer
 
Registriert seit: 14.08.2007
Beiträge: 37
Toxo befindet sich auf einem aufstrebenden Ast
Standard

Teillösung:
Gestern vor lauter Brettern vorm Kopp übersehen, dass ich alle Elemente des Formulars mit "foreach" durchlaufen kann. Da es mir in meinem Fall nur darum ging, auf die checkboxen zuzugreifen, deren Name dynamisch erzeugt wurde, lasse ich alle Formular Elemente durchlaufen und filtere nur die checkboxen
Code:
 {$formular_rights.area_1.label}</td><td>{$formular_rights.area_1.html}</tr>           
      {foreach outer=outer item=right from=$formular_rights}
         {if $right.type eq "checkbox"}
         <tr><td width="20" align="right">{$right.html}</td><td>{$right.label}</td></tr>    
         {/if}  
      {/foreach}
In meinem Fall reicht das, größere Formulare müssten aber gesplittet werden.
Wer trotzdem weiß, wie ich auf die dynamisch erzeugten Variablen zugreife (d.h. den Variablennamen "mittendrin" durch einen anderen Variableninhalt ersetze) kann ja trotzdem die Antwort posten, das würde mich sehr interessieren.

Geändert von Toxo (31.10.2007 um 17:42 Uhr).
Toxo ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Links dynamisch erzeugen philipp.p PHP Tipps 2008 7 03.04.2008 14:31
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Checkboxen dynamisch in Tabelle erzeugen nussbaum PHP Tipps 2007 4 21.01.2007 16:50
__set() verhindern das erzeugen einer neuen Variablen shocky PHP Tipps 2006 18 30.10.2006 14:35
variablen aus textfile erzeugen (shellscript) noskule Server, Hosting und Workstations 2 19.07.2006 15:42
Pulldown Menü dynamisch aus Datei erzeugen PHP Tipps 2005-2 14 20.10.2005 11:18
Uploadfelder dynamisch erzeugen und abfragen PHP Tipps 2005-2 1 03.06.2005 23:01
mysql_result()-Felder dynamisch in Variablen schreiben PHP Tipps 2005 1 05.05.2005 17:44
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
inhalt aus einem imput feld mit variablen Namen auslesen HTML, Usability und Barrierefreiheit 4 08.01.2005 00:43
Variablen Namen zuweisen dh1sbg PHP Tipps 2004-2 3 12.11.2004 17:12
[Erledigt] dynamische variablen namen PHP Tipps 2004-2 1 05.11.2004 23:05
[Erledigt] Variablen Namen erstellen lassen??? PHP Tipps 2004 4 05.11.2004 14:37
textfelder dynamisch erzeugen PHP Tipps 2004 7 19.08.2004 12:53
Dynamisch erstellte Variablen ansprechen PHP Tipps 2004 2 08.08.2004 20:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smarty dynamische variablen, smarty dynamische variablennamen, smarty variablen zusammensetzen, smarty dynamische variable, smarty variable zusammensetzen, smarty dynamic variable name, http://www.php.de/html-usability-und-barrierefreiheit/244-smarty-quickform-variablen-namen-dynamisch-erzeugen.html, smarty variable dynamisch, smarty checkbox, smarty variable erstellen, smarty dynamic variable names, smarty variablennamen zusammensetzen, quickform fieldset, smarty variablenname dynamisch, dynamische variablen smarty, smarty variablen dynamisch definieren, smarty checkbox mysql, smarty variable variables, smarty variablennamen dynamisch, shell script variablennamen dynamisch

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum