Hey,
ich hab mich mal hingesetzt und versucht eine kleine Meldung für die Welcome-Seite im Backend einzurichten, in dem die Anzahl der Bestellungen im Isotope-Shop innerhalb der letzten X Tage angezeigt werden.
Dazu habe ich das Template "be_welcome.tpl" angepasst:
PHP-Code:
<h1 id="tl_welcome"><?php echo $this->welcome; ?></h1>
<div id="tl_soverview">
<div id="tl_messages">
<h2><?php echo $this->systemMessages; ?></h2>
<?php if ($this->tasksDue): ?>
<p class="tl_task_due"><a href="contao/main.php?do=tasks"><?php echo $this->tasksDue; ?></a></p>
<?php endif; ?>
<?php if ($this->tasksNew): ?>
<p class="tl_task_new"><a href="contao/main.php?do=tasks"><?php echo $this->tasksNew; ?></a></p>
<?php endif; ?>
<?php if ($this->tasksCur): ?>
<p class="tl_task_reg"><a href="contao/main.php?do=tasks"><?php echo $this->tasksCur; ?></a></p>
<?php endif; ?>
<?php if ($this->update): ?>
<p class="tl_update"><a href="contao/main.php?do=maintenance"><?php echo $this->update; ?></a></p>
<?php endif; ?>
<?php
// Beginn Anzeige "Anzahl Bestellungen"
/**
*
* [ !! Verwendung auf eigene Gefahr !! ]
*
* Meldung über neue Bestellungen
* Version 0.1
*
*/
$this->import('BackendUser', 'User');
if ($this->User->isAdmin) {
$this->import('Database');
$result = $this->Database->execute("SELECT * FROM tl_iso_orders ORDER BY date DESC");
$tage = 150;
$zeitjetzt = time();
$anz_bestellungen =0;
while ($result->next() && ($result->date + $tage*24*60*60> $zeitjetzt)) {
$anz_bestellungen = $anz_bestellungen+1;
}
if ($anz_bestellungen > 0) {
echo "<p><a href=\"contao/main.php?do=iso_orders\" style=\"background:url('system/modules/isotope/html/icon-orders.gif') no-repeat;padding-left:20px;margin:2px 2px 2px 6px;\"><b>".$anz_bestellungen." Bestellungen</b> in den letzten ".$tage." Tagen</a></p>";
}
}
// Ende Anzeige "Anzahl Bestellungen"
?>
<?php if ($this->lastLogin): ?>
<p class="tl_update"><?php echo $this->lastLogin; ?></p>
<?php endif; ?>
</div>
[schnippschnapp .... hier geht das Template noch weiter]
Die Anzeige wird nur für Admins und wenn mindestens 1 Bestellung in den letzten $tage Tagen vorliegt angezeigt.
Was meint ihr? Gute Idee?
Es ist das erste mal, dass ich mit der Contao-API arbeite. Über Hinweise für Verbesserungen bin ich jederzeit dankbar.