Paginierung mit Zweig
Ich habe versucht, der Zweig, und es funktioniert gut für meine kleine Website.
War dieses tutorial verwendet:
http://devzone.zend.com/article/13633
Aber ich habe einen Blick online und Sie nicht finden, etwas zu tun Paginierung.
Dies ist mein code:
<html>
<head>
<style type="text/css">
table {
border-collapse: collapse;
}
tr.heading {
font-weight: bolder;
}
td {
border: 0.5px solid black;
padding: 0 0.5em;
}
</style>
</head>
<body>
<h2>Automobiles</h2>
<table>
<tr class="heading">
<td>Vehicle</td>
<td>Model</td>
<td>Price</td>
</tr>
{% for d in data %}
<tr>
<td>{{ d.manufacturer|escape }}</td>
<td>{{ d.model|escape }}</td>
<td>{{ d.price|raw }}</td>
</tr>
{% endfor %}
</table>
</body>
</html>
- und dies ist die PHP-Programmierung für:
<?php
//include and register Twig auto-loader
include 'Twig/Autoloader.php';
Twig_Autoloader::register();
//attempt a connection
try {
$dbh = new PDO('mysql:dbname=world;host=localhost', 'root', 'mypass');
} catch (PDOException $e) {
echo "Error: Could not connect. " . $e->getMessage();
}
//set error mode
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//attempt some queries
try {
//execute SELECT query
//store each row as an object
$sql = "SELECT manufacturer, model, price FROM automobiles";
$sth = $dbh->query($sql);
while ($row = $sth->fetchObject()) {
$data[] = $row;
}
//close connection, clean up
unset($dbh);
//define template directory location
$loader = new Twig_Loader_Filesystem('templates');
//initialize Twig environment
$twig = new Twig_Environment($loader);
//load template
$template = $twig->loadTemplate('automobiles.tpl');
//set template variables
//render template
echo $template->render(array (
'data' => $data
));
} catch (Exception $e) {
die ('ERROR: ' . $e->getMessage());
}
?>
Was müsste ich tun, um die Ergebnisse mit Seitenzahlen innerhalb Zweig?
Ansonsten meine Website funktioniert auch perfekt!
Dank, JC
InformationsquelleAutor XFS | 2011-08-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beispiele gibt es bereits im internet. Lesen Sie
https://gist.github.com/SimonSimCity/4594748
Der Zugriff auf die angegebene Seite gibt einen 403 von jetzt..
Soeben die Antwort.
InformationsquelleAutor Capitaine
Da der Zweig ist nur eine template-engine, es ist nichts enthalten (zumindest im Kern) um die Paginierung. Sie haben in teilen des Inhalts durch sich selbst und paginieren (z.B. mit JavaScript). Beachten Sie, dass Sie mit der aktuellen Umsetzung der komplette Inhalt ist eingefügt in die Vorlage, und Sie würden nur ein - /ausblenden einige Teile davon.
Der bevorzugte Weg, allerdings wäre das paging auch in Ihrem Modell (der Teil, wo Sie Ihre Abfrage) zu laden, nur diese Datensätze, die derzeit dem Benutzer angezeigt. Dies ist offensichtlich aus dem Rahmen der template engine.
InformationsquelleAutor apfelbox