Array
(
[201406] => Array
(
[name] => June
[entries] => Array
(
[0] => stdClass Object
(
[MIGX_id] => 1
[title] => Spring Term begins
[description] => Wrap up warm and please remember to bring £3 for your tickets. Let's go pet some Gnomes!
[Date] => 2014-06-04 16:10:00
)
[1] => stdClass Object
(
[MIGX_id] => 3
[title] => test tstrsr
[description] => srsfsddsds
[Date] => 2014-06-06 15:55:27
)
)
)
[201405] => Array
(
[name] => May
[entries] => Array
(
[0] => stdClass Object
(
[MIGX_id] => 2
[title] => Something else
[description] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut molestie velit quam, non volutpat massa luctus sit amet. Integer ornare malesuada magna, cursus ultricies erat.
[Date] => 2014-05-07 16:11:00
)
)
)
)
<div class="month"> <div class="left"> <div><span>J</span></div> <p>January</p> </div> <div class="right"> <div class="accordion"> <div class="event"> <div class="eventTitle"> <strong>6th</strong> Spring Term Begins </div> <div class="eventDescription"> <p>Wrap up warm and please remember to bring £3 for your tickets. Let's go pet some Gnomes!</p> </div> </div> <div class="event"> <div class="eventTitle"> <strong>6th</strong> Spring Term Begins </div> <div class="eventDescription"> <p>Wrap up warm and please remember to bring £3 for your tickets. Let's go pet some Gnomes!</p> </div> </div> </div> </div> <div class="clear"> </div> </div>
This question has been answered by Bruno17. See the first response.
$eventsoutput .= $modx->getChunk($itemTpl,$eventArray);
$monthArray['events'] = $eventsoutput; $monthoutput .= $modx->getChunk($monthTpl,$monthArray);
$events = $modx->resource->get('Events');
if($events[1]){
$entries = json_decode($events[1]);
$monthToEntries = array();
foreach ( $entries as $item ){
$date = \DateTime::createFromFormat('Y-m-d H:i:s', $item->Date);
$monthKey = $date->format('Ym');
if ( ! array_key_exists($monthKey, $monthToEntries) ) {
$monthToEntries[$monthKey] = array(
'name' => $date->format('F'),
'entries' => array()
);
}
$monthToEntries[$monthKey]['entries'][] = $item;
}
foreach($monthToEntries as $month){
$properties = array('month' => $month['name']);
$output = $modx->getChunk('Months',$properties);
print $output;
}
}
<?php
$events = $modx->resource->getTVValue('Events');
$entries = $modx->fromJson($events);
$output = '';
$monthToEntries = array();
if (is_array($entries)) {
foreach ($entries as $item) {
$date = $strtotime($item['Date']);
$monthKey = strftime('%Y%m',$date);
if (!array_key_exists($monthKey, $monthToEntries)) {
$monthToEntries[$monthKey] = array('name' => strftime('%B',$date), 'entries' => array());
}
$monthToEntries[$monthKey]['entries'][] = $item;
}
foreach ($monthToEntries as $month) {
$entriesoutput = '';
if (is_array($month['entries'])) {
foreach ($month['entries'] as $entry) {
$entriesoutput .= $modx->getChunk('tplEntry', $entry);
}
}
$properties = array();
$properties['entries'] = $entriesoutput;
$properties['month'] = $month['name'];
$output .= $modx->getChunk('tplMonths', $properties);
}
}
return $output;