Taki mały pluginek pozwalający na zobrazowanie zamówień (ilościowo i procentowo) w danych dniach tygodnia.
W pliku /core/orders-admin.php dodać funkcję:
public function listOrdersStatDay(){ if(isset($this->aOrders)){ $iOrdersCount=0; foreach($this->aOrders as $iOrder=>$aData) if($aData['iStatus']!=9){ // Tutaj dać ID statusu anulowanego (standardowo: 4) $iWeekDay=date('N',$aData['iTime']); // ustalamy numer dnia tygodnia w zamówieniach if(!isset($aWeekDay[$iWeekDay])) // jeśli w arrayu dni nie ma jeszcze takiego indeksu dnia $aWeekDay[$iWeekDay]=0; // tworzymy taki indeks z wartością 0 $aWeekDay[$iWeekDay]++; // dodajemy 1 do wartości indeksu dnia $iOrdersCount++; // zliczamy zamówienia nieanulowane } if(isset($aWeekDay)){ ksort($aWeekDay); // sortujemy od poniedziałku do niedzieli $sWeekDay='<div class="extBox"><table>'; // tworzymy tabelę i przypisujemy nazwy dni do ich numerów foreach($aWeekDay as $iKey=>$iOrders){ // komu się chce bawić w $lang, może sobie dni tygodnia tam wpisać if($iKey==1) $sKey='Montag'; // Pon if($iKey==2) $sKey='Dienstag'; // Wto if($iKey==3) $sKey='Mittwoch'; // Śro if($iKey==4) $sKey='Donnerstag'; // Czw if($iKey==5) $sKey='Freitag'; // Pią if($iKey==6) $sKey='Samstag'; // Sob if($iKey==7) $sKey='Sonntag'; // Nie $sWeekDay.=' <tr> <td>'.$sKey.': </td> <td>'.$iOrders.'</td> <td class="chartTd"><div style="width:'.round($iOrders/$iOrdersCount*200).'px;">'.number_format($iOrders/$iOrdersCount*100,2).'%</div></td> </tr>'; // liczba 200 determinuje szerokość paska w <td>, który (<td>) jest ustawiony na 100px (chartTd w .css). // Formuła iOrders/iOrdersCount*100 określa procent i długość paska w pixelach // jednak przy tym ustawieniu różnice są słabo widoczne. Dlatego wydłużamy pasek 2-krotnie (200). } $sWeekDay.='<tr><td>Alle: </td><td>'.$iOrdersCount.'</td><td></td></tr></table></div>'; // Słowo "Alle:" = "Wszystkie:" // Komu się chce bawić w $lang, to może to tam wprowadzić. Podobnie przy dniach tygodnia. return $sWeekDay; } } }