2016-04-17 16 views
1

Ich versuche, ein System von Posts und benutzerdefinierten Feldern zu erstellen. Bsp .: Ich erstelle den Beitragstyp "Produkt" und verbinde dann einige Felder: "Name", "Bild", "Preis" ... Wenn ich eines dieser Felder erstelle, speichere ich in meinem db ein Eingabefeld, z Beispiel für Namen werde ich so etwas wie dies ein:Codeigniter: form_input in SQL-Tabelle einfügen

$data = array(
     'name' => $field_key, 
     'id' => $field_key, 
     'class' => 'form-control '.$type->type_key, 
     'type' => $type->type_key, 
     'data-input-type' => $type->type_key 
    ); 
    return form_input($data); 

Dann, als ich mein erstes Beitrag „Produkt“ ich will gehen erstellen ein Formular mit meinen benutzerdefinierten Feldern füllen.

<form method="post" action="<?php echo site_url('admin/posts/manage').'/'.$post_id; ?>"> 
     <?php 
     foreach ($post_fields as $field) { 
     ?> 
     <div class="form-group"> 
      <label> 
       <?php 
       echo $field->name; 
       ?> 
      </label> 
      <?php 
      // Here the field input 
      echo $field->meta_value; 
      ?> 
     </div> 
     <?php 
     } 
     ?> 
     <?php if(isset($post)){ echo $post->name;}else{echo set_value('name');} ?> 
     <div class="form-group"> 
      <input type="submit" value="Save" name="save"> 
     </div> 
    </form> 

Es gibt kein Problem, da ich ein neues erstellen muss. Aber wenn ich meinen Beitrag zu bearbeiten, ich weiß nicht, wie für den einzelnen Postfeldwert zu laden, weil in meinen form_input $ Daten kann ich nicht etwas setzen wie

$value = (isset($post)) ? $post->name : set_value($field_key); 

und in dem $ data Array

'value' => $value 

Jemand hat eine Idee, was ich tun kann? Danke und Entschuldigung für mein elementares Englisch.

Antwort

0

Gelöst. Ich erstelle ein Modell, das den richtigen Eingabetyp lädt. Ich gebe die Werte vom Controller an dieses Modell weiter, um die Eingabewerte korrekt zu füllen, wenn die erforderliche Aktion "Bearbeiten" ist.

Verwandte Themen