Editz:
Ik heb het hele systeem overhoop gehaald, antwoord op de vraag is dus niet meer nodig.
Aloha, hier ben ik (weer, gisteren ook al 'shame') met een vraag.
Aangezien er geen Scaffolding classe is in Zend, ben ik bezig om zelf één te maken.
Het ophalen van de kolommen van de DB, en de kolomtypes (varchar, datetime) e.d gaat prima, aan de hand van de typee beslis ik wat voor input element er moet verschijnen.
So far so good, maar nu doe ik op het element
maar er verschijnt niets op het beeld? (niet als waarde that is).
Als ik het zo doe, en ik de regel voor ik het element toevoeg aan de form kijk wat de value is doet hij het prima. Maar daarna is hij ineens weg?
Ik dacht, vreemd, dus ik ga een losse pagina schrijven met een simpel formuliertje, en daar werkt het wel ineens.
Simpel formulier code:
Maar wanneer ik dus mijn scaffolding gedeelte eromheen brij is de value nergens meer te bekennen. (Values die via S_POST vertrekken worden wel weer automatisch ingevuld bij value).
Hier mijn code (sommige dingen zijn gestript)
Iemand enig idee waar het aan ligt?
Ik heb het hele systeem overhoop gehaald, antwoord op de vraag is dus niet meer nodig.
Aloha, hier ben ik (weer, gisteren ook al 'shame') met een vraag.
Aangezien er geen Scaffolding classe is in Zend, ben ik bezig om zelf één te maken.
Het ophalen van de kolommen van de DB, en de kolomtypes (varchar, datetime) e.d gaat prima, aan de hand van de typee beslis ik wat voor input element er moet verschijnen.
So far so good, maar nu doe ik op het element
PHP:
1
| $element->setValue('waarde'); //momenteel staat er letterlijk waarde, zodat ik weet dat waarde niet leeg is |
maar er verschijnt niets op het beeld? (niet als waarde that is).
Als ik het zo doe, en ik de regel voor ik het element toevoeg aan de form kijk wat de value is doet hij het prima. Maar daarna is hij ineens weg?
Ik dacht, vreemd, dus ik ga een losse pagina schrijven met een simpel formuliertje, en daar werkt het wel ineens.

Simpel formulier code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| $form = new Zend_Form; $form->setMethod('post'); $element = new Zend_Form_Element_Text('something'); $element->setLabel('hi'); $element->setValue('justwork'); if($form->isValid($_POST)) { } $form->addElement($element); echo $form->render(); |
Maar wanneer ik dus mijn scaffolding gedeelte eromheen brij is de value nergens meer te bekennen. (Values die via S_POST vertrekken worden wel weer automatisch ingevuld bij value).
Hier mijn code (sommige dingen zijn gestript)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| $form = new Zend_Form; $form->setMethod('post'); $tablecolumns = $this->_table->describeTable(); //Haalt de informatie op van kolommen van de huidige tabel foreach($tablecolumns as $tablecolumn) { //Loopen door alle kolommen $element = null; if($tablecolumn['DESCRIPTION'] != "") { //Deze kolom heeft een beschrijving, mag getoond worden in formulier $type = $tablecolumn['DATA_TYPE']; //Type kolom (varchar, int, text e.d) if(in_array(strtolower($type), $this->_fieldTypes['text'])) { //Kolom is een text type, maak textvakje $element = new Zend_Form_Element_Text($tablecolumn['COLUMN_NAME']); //var_dump($row[$tablecolumn['COLUMN_NAME']]); $element->setValue('justwork'); //////HIIIEEERR zet ik dus de setValue op justwork } //Hier nog andere controles, voor een datum vakje, textarea e.d else { //Niks gevonden gooi een exeptie throw new Exception('DataType for ' . $type . ' has no valid object (textfield, textarea ....)', E_USER_ERROR); } $element->setLabel(translate($tablecolumn['DESCRIPTION'])); //Translate is een eigen functie, welke vertaald DESCRIPTION is de database kolom descriptie (dit is de label bij de input) var_dump($element->getValue()); //Hier nog even een var_dump, waar netjes justwork uitkomt $form->addElement($element); //Element toevoegen aan form } } //Submit knop toevoegen $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel(translate('submit')); $form->addElement($submit); //Controle if($form->isValid($_POST)) { //Save all the info $this->view->postInfo = translate('savedData'); } echo $form->render(); //En tonen maar |
Iemand enig idee waar het aan ligt?
[ Voor 1% gewijzigd door ZpAz op 27-06-2009 00:14 . Reden: Overhoop halen systeem, antwoord niet meer benodigd. ]