Seitenzahlen verändern
Eingetragen von Robbi (49)
am 13.12.2007 - 23:48 Uhr in
am 13.12.2007 - 23:48 Uhr in
Hallo,
ich habe, um die Angabe der Seitenanzahlen am Seitenfuß zu ändern, eine Datei pager.tpl.php angelegt:
<?php
//$Id: pager.tpl.php, v 1.0 2006/07/18 quiptime Exp $
global $pager_total;
$output = '';
if ($pager_total[$element] > 1) {
$output .= '<div id="pager">';
$output .= theme('pager_previous', ($tags[1] ? $tags[1] : t('<< ')), $limit, $element, 1, $parameters);
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 9) , ' ', $parameters);
$output .= theme('pager_next', ($tags[3] ? $tags[3] : t(' >>')), $limit, $element, 1, $parameters);
$output .= '</div>';
print $output;
}
?>
In die template.php habe ich folgenden Code eingefügt:
<?php
function phptemplate_pager($tags = array(), $limit = 10, $element = 0, $parameters = array()) {
return _phptemplate_callback('pager', array('tags' => $tags, 'limit' => $limit, 'element' => $element, 'parameters' => $parameters ));
}
?>
Nun hab ich aber zwei Probleme:
1. Ich möchte nicht, dass diese Seitenzahlen auch auf der Startseite stehen. Sie sollen nur in den Kategorien selber erscheinen (www.ojmel.de/?q=taxonomy/term/19)
2. Irgendwo ist der pager.tpl.php muss ich doch noch ein Leerzeichen einsetzen können, damit die Seitenzahlen nicht zusammengeschrieben werden. Aber wo?
Vielleicht weiß ja jemand einen Rat.
Tschüss
Robbi
- Anmelden oder Registrieren um Kommentare zu schreiben
Zu 1. Wenn Du die Inhalte
am 14.12.2007 - 01:44 Uhr
Zu 1.
Wenn Du die Inhalte der Startseite mit einem View generierst kannst Du im View einfach sagen: kein Pager.
Zu 2.
Eigentlich sollte hier das Leerzeichen bereits formuliert sein:
<?php
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 9) , ' ', $parameters);
?>
Sezte mal ein X rein um zu testen ob es die Stelle ist. Wenn nicht kannst Du noch ein Template "pager_list.tpl.php" verwenden. Glaube nicht das dies notwendig ist.
Hinweis:
Sogenannte harte Leerzeichen erzeugt man mit diesem HTML Code:
PS
Hast Du nicht einen Thread laufen in dem es um Inhalte der Startseite aus einer bestimmten Kategorie geht. Ergibt sich da nicht ein Zusammenhang mit meiner Antwort zu Pkt.1 ?
Wenn ein View fuer die Startseite nicht in Frage kommt kann man in der "pager.tpl.php" die Startseite abfragen. Ist sie es wird vor dem if mit
unset $pager_total[$element];
der Pager "auf 0" gesetzt und damit gibt das Template keinen Code raus.-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Zu 1. Nein, die Startseite
am 14.12.2007 - 02:32 Uhr
Zu 1.
Nein, die Startseite beinhaltet zwar ein View, ist selber aber keins. Das mit der Abfrage der Startseite kann ich leider nicht, da ich PHP noch lerne. Dann muss ich es wohl so lassen.
Zu 2.
Das mit des X war zwar eine gute Idee, aber es wurde vor den Seitenzahlen dargestellt.
Zum PS
Ja, da hatte ich Dir auch nochmal geantwortet.
Ich bin derzeit in der Lage, dass ich einerseits innerhalb weniger Wochen eine Community-Website erstellen muss, andererseits ein völliger Drupal-Newbie bin und entsprechend viele Fehler mache und Fragen habe. :-/
Aber danke für Deine Antwort(en)!
Tschüss
Robbi
Wo genau hast Du das X
am 14.12.2007 - 15:09 Uhr
Wo genau hast Du das X testhalber eingefuegt? Poste mal den Code.
Das mit der Abfrage der Startseite kann ich leider nicht
Man kann mit arg(0) und arg(1) die aktuelle URL abfragen.
Typischer Startseitenaufruf
http://www.example.de/
arg(1) == '' && arg(0) == ''
Auch ein Starseitenaufruf wenn Standard-Startseite auf node definiert ist
http://www.example.de/node
arg(1) == '' && arg(0) == 'node'
Das waeren die 2 moeglichen Varianten der Startseite (bei Standard auf node) in der Website URL.
Soll ich Dir den Code fuer diese Abfrage zum Einfuegen in die Templatedatei posten? Wenn ja, welches ist Deine Standard Startseite? Ist es node?
------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Ich hatte das X in der Seite
am 14.12.2007 - 19:00 Uhr
Ich hatte das X in der Seite pager.tpl.php eingefügt, in der Zeile
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 9) , ' ', $parameters);
fast hinten zwischen den beiden Hochkommas, wo jetzt der Leerschritt steht. Die Ausgabe war dann auf der Startseite: X12 >>
Das mit dem Standard-Startseite verstehe ich leider nicht. Der Seitenaufruf ist aber ohne /node, also nur www.ojmel.de bzw. www.ojmel.de/index.php
Es wäre klasse, wenn Du mir den Code für die template.php posten würdest.
Tschüss
Robbi
PS
Hast Du noch nen Tipp für dieses Problem?
Zitat: fast hinten zwischen
am 14.12.2007 - 20:59 Uhr
fast hinten zwischen den beiden Hochkommas, wo jetzt der Leerschritt steht. Die Ausgabe war dann auf der Startseite: X 12 >>
Ja und was ist dabei nicht nach Deinen Vorstellungen?
Das mit dem Standard-Startseite verstehe ich leider nicht. Der Seitenaufruf ist aber ohne /node
Na dann klick mal: http://www.ojmel.de/?q=node
Um den Pager auf der Startseite auszublenden. Teste mal diesen Code im Template:
<?php
//$Id: pager.tpl.php, v 1.0 2006/07/18 quiptime Exp $
global $pager_total;
$output = '';
if ( ( is_null(arg(1)) && is_null(arg(0)) ) || ( is_null(arg(1)) && arg(0) == 'node' ) ) {
$pager_total[$element] = 0;
}
if ($pager_total[$element] > 1) {
$output .= '<div id="pager">';
$output .= theme('pager_previous', ($tags[1] ? $tags[1] : t('<< ')), $limit, $element, 1, $parameters);
$output .= theme('pager_list', $limit, $element, ($tags[2] ? $tags[2] : 9) , ' ', $parameters);
$output .= theme('pager_next', ($tags[3] ? $tags[3] : t(' >>')), $limit, $element, 1, $parameters);
$output .= '</div>';
}
print $output;
?>
Die letzte Frage beantworte im anderen Thread.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Super, das klappt. Die
am 14.12.2007 - 21:27 Uhr
Super,
das klappt. Die Seitenzahlen sind auf der Startseite jetzt ausgeblendet, innerhalb einer Rubrik aber vorhanden:
http://www.ojmel.de/?q=taxonomy/term/19
fast hinten zwischen den beiden Hochkommas, wo jetzt der Leerschritt steht. Die Ausgabe war dann auf der Startseite: X 12 >>
Ja und was ist dabei nicht nach Deinen Vorstellungen?
Ich hatte versucht, zwischen den Seitenzahlen (in diesem Fall 1 und 2) einen Leerschritt zu bekommen, weil sonst alle Zahlen aneinanderhängen. Aber alles ausprobieren hat nicht geklappt, ich habe nicht herausgefunden, an welcher Stelle ein Leerschritt eingefügt werden muss.
Ich danke Dir sehr für Deine Hilfe (und bin auch sehr lernwillig)!
Robbi
Edit - Um Leerzeichen zwischen die
am 14.12.2007 - 21:42 Uhr
Um Leerzeichen zwischen die Zahlen zu bekommen ist CSS am besten.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Digits vom Pager auf Abstand
am 14.12.2007 - 22:24 Uhr
Digits vom Pager auf Abstand bringen. Fuege mal diesen Code in Deine /files/style.css ein
#pager pager-current, #pager a {
margin: 0 3px 0 3px;
}
Mit den 3px kannst Du spielen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Wie kan man den TEXT gegen bilder austauschen?
am 01.02.2008 - 12:38 Uhr
Hallo ich habe den obigen code übernommen und wollte statt den ">> <<" - Bilder verwednen.
leider gibt diese Funktion aber immer den ganzen HTML text uninterpretiert zurück.
Also, statt den Bilder erscheint dieser Text verlinkt:
<img src="themes/blickfang_theme/links_hover.gif" alt="vorherige Seite" height="23" width="24" class="vorherige" />
Hier mein Code:
<?php
//$Id: pager.tpl.php, v 1.0 2006/07/18 quiptime Exp $
global $pager_total;
$output = '';
if ($pager_total[$element] > 1) {
$output .= '<div id="pager">';
$output .= theme('pager_previous', ($tags[1] ? $tags[1] : t('<img src="themes/blickfang_theme/links_hover.gif" alt="vorherige Seite" height="23" width="24" class="vorherige" /> ')), $limit, $element, 1, $parameters);
$output .= theme('pager_next', ($tags[3] ? $tags[3] : t('<img src="themes/blickfang_theme/rechts_hover.gif" alt="nächste Seite" height="23" width="24" class="naechste" /> ')), $limit, $element, 1, $parameters);
$output .= '</div>';
print $output;
}
?>
Ich habe alle Varienaten mit ' und " und \ vor den " ausprobiert.
immer das gleiche Ergebnis.
Vielen Dank für die Hilfe
http://www.webnfoto.com - Webdesign & Fotografie
t Funktion
am 01.02.2008 - 13:23 Uhr
Dein img-Tag steckt in der t(translate) Funktion. Nimm die mal raus. Du kannst ja kein Bild 'übersetzen'.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
t Funktion umgehen
am 02.02.2008 - 09:22 Uhr
Wäre es für dich OK mir zu zeigen wie das konkret geht? php ist nicht meine stärke.
honestly - vielen herzlichen dank
http://www.webnfoto.com - Webdesign & Fotografie
t Funktion umgehen bringt keine Besserung
am 04.02.2008 - 09:52 Uhr
Hallo, ich habe jetzt die t() Funktion entfernt, und es bringt leider keine Besserung.
Die Bilder werden nicht angezeigt, und das img tag wird noch immer als code hingeprintet.
hier mein code ohne t():
<?php
//$Id: pager.tpl.php, v 1.0 2006/07/18 quiptime Exp $
global $pager_total;
$output = '';
if ($pager_total[$element] > 1) {
$output .= '<div id="pager">';
$output .= theme('pager_previous', ($tags[1] ? $tags[1] : "<img src=\"themes/blickfang_theme/links_hover.gif\" alt=\"vorherige Seite\" height=\"23\" width=\"24\" class=\"vorherige\" />" ), $limit, $element, 1, $parameters);
$output .= theme('pager_next', ($tags[3] ? $tags[3] : "<img src=\"themes/blickfang_theme/rechts_hover.gif\" alt=\"nächste Seite\" height=\"23\" width=\"24\" class=\"naechste\" />" ), $limit, $element, 1, $parameters);
$output .= '</div>';
print $output;
}
?>
hat jemand eine Idee?, danke für die HILFE !!!!!!!
http://www.webnfoto.com - Webdesign & Fotografie
Gelöst: Pager mit Bildern
am 06.02.2008 - 22:05 Uhr
Auf drupal.org habe ich Codeschnippsel gefunden die Platz für meine Imagetags hatten. Hier der Link zum Beitrag:
http://drupal.org/node/35464
Ich habe daraus eine einfache next/privous Navigation mit Bildern gemacht, bei der die Bilder am linken und rechten Rand floaten.
Hier der Code für die template.php (eine extra pager.tpl.php Seite muss nicht mehr erstellt werden):
function phptemplate_pager($tags = array(), $limit = 10, $element = 0, $parameters = array()) {
global $pager_page_array, $pager_total;
$page_prev = $pager_page_array[$element] - 1;
$page_curr = $pager_page_array[$element] + 1;
$page_next = $pager_page_array[$element] + 1;
# get querystrings (except q="" and page="")
$cgi = $_SERVER['REQUEST_METHOD'] == 'GET' ? $_GET : $_POST;
$query = '';
foreach ($cgi as $key => $val) {
if ($key != 'page' && $key != 'q') {
$query .= '&'. $key .'='. $val;
}
}
$query = substr($query, 1);
if ($pager_total[$element] > 1) {
$output = '<div id="pager-wrap">';
if ($pager_page_array[$element]!=0) $output.= '<a href="?page='.$page_prev.'?'.$query.'" class="previous"><img src="vorherige.jpg" alt="vorherige Seite" height="23" width="24" class="vorherige" /></a>';
if ($page_curr!=$pager_total[$element]) $output.= '<a href="?page='.$page_next.'?'.$query.'" class="next"><img src="naechste.jpg" alt="nächste Seite" height="23" width="24" class="naechste" /></a>';
$output.= '</div>';
return $output;
}
}
CSS Code:
#pager-wrap { background-color: #f6f5e3; padding: 1em; margin: 0; height:25px }
#pager-wrap a.previous { float:left; height:23px; width:24px; }
#pager-wrap a.next { float:right; height:23px; width:24px; }
Am Ende möchte ich mich noch für die Hilfe bedanken.
Vielen Dank!
http://www.webnfoto.com - Webdesign & Fotografie