Saving a multiple select as attribute
Permalink
Currently running into a issue where my multiple selects are being saved in the attribute.
Is there a certain want you have to format the array to save it correctly for C5 to pick it up?
Is there a certain want you have to format the array to save it correctly for C5 to pick it up?
<div class="form-group col-md-12"> <?= $form->label('pageTypeOfColors[]',t('Type of Colors'));?> <select multiple id='pageTypeOfColors' name='pageTypeOfColors[]' class="form-control"> <?php foreach($pageTypeOfColors as $i=>$j) { if(is_array($pageTypeOfColorsSaved) && in_array($i,$pageTypeOfColorsSaved)) echo "<option selected value=".$i.">".$j."</option>"; else echo "<option value=".$i.">".$j."</option>"; }?> </select> </div>
public function view() { // getting select options $ak = CollectionAttributeKey::getByHandle('type_of_Colors'); $akc = $ak->getController(); $values = $akc->getOptions(); $typeOfColors = array(); foreach($values as $v) { $typeOfColors[$v->getSelectAttributeOptionID()] = $v->getSelectAttributeOptionValue(); } $this->set('pageTypeOfColors', $typeOfColors) // saved color from database for later editing. $this->set('pageTypeOfColorsSaved',explode(',',$result['akPageTypeOfColors'])); }
Viewing 15 lines of 31 lines. View entire code block.
This tutorial discusses how to use the Select Multiple form widget:
https://documentation.concrete5.org/tutorials/how-to-use-the-form-wi...