I have a problem to output subarray values properly. I use Codestar Framework to create options.
Here is my options code:
array(
'id' => 'rows',
'type' => 'group',
'title' => 'Rows',
'accordion_title_auto' => false,
'accordion_title_prefix' => 'Row',
'accordion_title_number' => true,
'fields' => array(
array(
'id' => 'columns',
'type' => 'group',
'title' => 'Columns',
'accordion_title_auto' => false,
'accordion_title_prefix' => 'Column',
'accordion_title_number' => true,
'fields' => array(
array(
'id' => 'column-color',
'type' => 'select',
'title' => 'Color',
'options' => array(
'red' => 'Red',
'blue' => 'Blue',
'green' => 'Green',
),
),
array(
'id' => 'column-price',
'type' => 'select',
'title' => 'Price',
'options' => array(
'low' => 'Low',
'medium' => ' Medium',
'high' => ' High',
),
),
),
),
),
),
I have done it so far and it works. But how to output color and price? I can't figure it out how to do it correctly.
$rows = $options['rows'];
foreach ( $rows as $id => $name ) {
echo '<div class="row-'. $id .'">';
foreach ( $name['columns'] as $id_col => $name_col ) {
echo '<div class="column-'. $id_col .'">';
echo'...';
echo '</div>';
}
echo '</div>';
}
<div class="row-0">
<div class="column-0">...</div>
<div class="column-1">...</div>
</div>
<div class="row-1">
<div class="column-0">...</div>
</div>
I want to output look like this:
<div class="row-0">
<div class="column-0 color-red">
Price - Low
</div>
<div class="column-1 color-green">
Price - Medium
</div>
</div>
</div>
<div class="row-1">
<div class="column-0 color-blue">
Price - High
</div>
</div>
Can anyone help me with this? I will be very grateful, thanks
UPDATE
This code displays all values:
foreach ( $rows as $id => $name ) {
echo '<div class="row-'. $id .'">';
foreach ( $name['columns'] as $id_col => $name_col ) {
echo '<div class="column-'. $id_col .' color-'. $name_col['column-color'] .'">';
echo $name_col['column-content'];
echo '</div>';
}
echo '</div>';
}
I just don't know how to make 'column-content' output not an option key string but a key value/label