Hallo,
ich bin recht neu hier, kenne aber Piwik schon länger. Meine Kenntnisse mit PHP und so, sind zwar bescheiden, aber sehr wohl verstehe ich so einige Codezeilen und Zusammenhänge. Piwik ist ja sehr mächtig und bietet auch die Möglichkeit eigene Daten auszuwerten.
Und da fängt leider auch die Krux an.
Denn diese Möglichkeit ist; meiner Meinung nach; sehr schlecht beschrieben.
Unter piwik\plugins\ExampleUI\ kann man sich ja etwas austoben.
In der dort vorhandenen API.php finden sich ja folgende Codezeilen:
public function getTemperaturesEvolution($date, $period)
{
$period = new Piwik_Period_Range($period, 'last30');
$dateStart = $period->getDateStart()->toString('Y-m-d'); // eg. "2009-04-01"
$dateEnd = $period->getDateEnd()->toString('Y-m-d'); // eg. "2009-04-30"
// here you could select from your custom table in the database, eg.
$query = "SELECT AVG(temperature)
FROM server_temperatures
WHERE date > ?
AND date < ?
GROUP BY date
ORDER BY date ASC";
//$result = Piwik_FetchAll($query, array($dateStart, $dateEnd));
// to keep things simple, we generate the data
Doch warum wird nicht darauf eingegangen, wie man auf fremde Datenbanken & Tabellen zugreifen und dann diese Werte für sich nutzen kann:
foreach($period->getSubperiods() as $subPeriod)
{
$server1 = rand(50,90);
$server2 = rand(40, 110);
$value = array('server1' => $server1, 'server2' => $server2);
$temperatures[$subPeriod->getLocalizedShortString()] = $value;
}
$xAxis = array(
'0h', '1h', '2h', '3h', '4h', '5h', '6h', '7h', '8h', '9h', '10h', '11h',
'12h', '13h', '14h', '15h', '16h', '17h', '18h', '19h', '20h', '21h', '22h', '23h',
);
$temperatureValues = array_slice(range(50,90), 0, count($xAxis));
shuffle($temperatureValues);
$temperatures = array();
foreach($xAxis as $i => $xAxisLabel) {
$temperatures[$xAxisLabel] = $temperatureValues[$i];
}
Hat hier vielleicht jemand das Wissen & vor allem Lust und Zeit mir zu helfen?
Alleine die Tatsache dass Piwik ja auch fremde Datenquellen zur Auswertung bringt, macht dieses Tool ja noch viel mächtiger bzw. interessanter, oder?
Danke schon mal im Voraus,
lg
DeepX