Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

page.tpl.php über Seiteninhalt beeinflussen

Eingetragen von VincentPaige (34)
am 11.08.2008 - 16:38 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,

gibt es eine Möglichkeit, dass ich beim Erstellein eines neuen Inhaltes einen Wert an page.tpl.php übergebe, um hier Beispielsweise die Breite eines divs zu setzen?
z.B. über PHP-Variablen oder irgend wie anderweitig?

Details:
Ich habe ein Div-Element, das ich auf jeder Seite nutzen will, das aber eine unterschiedliche Größe haben soll, welche ich vom jeweiligen Inhalt aus steuern möchte.
Nun möchte ich das Div-Element gerne in der page.tpl.php setzen, damit ich dies nicht für jeden Inhalt machen muss.
Die Größe des Divs würde ich nun aber gern vom Inhalt aus setzen ...

Gibts da ne Lösung?

Danke!

Michael

‹ Unterschied Drupal 5.9 und Drupal 6.3 Mal wieder Taxonomie ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja da gibt es mehrere

Eingetragen von quiptime (4972)
am 11.08.2008 - 16:41 Uhr

Ja da gibt es mehrere Loesungswege.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

mehrere

Eingetragen von VincentPaige (34)
am 11.08.2008 - 16:50 Uhr
quiptime schrieb

Ja da gibt es mehrere Loesungswege.

Gleich mehrere?

Kannst du mir da Beispiele nennen?

Danke!
Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

page.tpl.php ist eine PHP Datei

Eingetragen von klapper@drupal.org (85)
am 11.08.2008 - 16:53 Uhr

und dort kannst Du einfach auf alle Funktionen und globalen Variablen zugreifen (global $xy verwenden).

Also entweder Du definierst irgendwo in Deinem Modul eine globale Variable oder Du verwendest phptemplate_preprocess_page in Deiner template.php, um eine Variable im Scope von page.tpl.php zu verwenden.

Edmund
-------

Drupal Migrationen, Modul- und Themeentwicklung, Drupal Hosting - http://www.katp.de

  • Anmelden oder Registrieren um Kommentare zu schreiben

eleganter als Code in die page.tpl.php zu injizieren

Eingetragen von quiptime (4972)
am 11.08.2008 - 17:20 Uhr

Wenn Deine Problembeschreibung vor dem Hintergrund einer existierenden Drupalinstallation erfolgt hast Du vermutlich bereits einen Losungsansatz vor Dir.

Du weisst es nur noch nicht.

Das haengt aber vom verwendeten Theme ab UND das Du Dich von Deiner strategischen Vorgehensweise zur Problemloesung entfernst. Letzteres soll heissen Du kannst anders vorgehen - viel eleganter als situationsbezogen Code in die page.tpl.php zu injizieren.

Um zu verstehen wovon ich rede ist ein gewisses Mass an CSS Verstaendnis weitere Vorraussetzung.

Wovon ich rede?

Von CSS Kaskaden.

Sehe Dir mal bitte von einzelnen Seiten des Drupalcenter den HTML Quellcode und dabei insbesondere den Body Tag an.

Das ist es wenn ich sage: Du hast den Loesungsansatz vermutlich bereits vor Dir.

Ausgangspunkt und Steuerung sind also verschiedene CSS Klassen im Body Tag. Ausgehend von diesen Klassen kann man kaskadierend beliebigen Div's nach dem Body Tag verschiedene Eigenschaften in der style.css zuweisen. Das ist es doch was Du erreichen willst. Oder?

Und Jetzt wird Dir hoffentlich auch klar was ich meine wenn ich sage: Aendere Deine strategische Vorgehensweise beim Layouten mit CSS.

 
PS
Fuer alle die hier nachlesen.

Das kann man eher selten so sagen: Voran Beschriebenes hat Gueltigkeit fuer Drupal 4, Drupal 5, Drupal 6 und Drupal 7.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier mal ein Beispiel: Bei

Eingetragen von dawehner (2639)
am 11.08.2008 - 20:09 Uhr

Hier mal ein Beispiel:

Bei der Startseite soll es eine extra cssklassen mit nahmen halbseitig geben, da hier noch Werbung angezeigt werden soll
Auf allen anderen Seiten soll ganzzeitig als CSS Klassen zur Verfügung stehen also

<?php
function themename_preprocess_page(&$vars) {
 
// ist man auf der startseite setzte halbseitig
 
if (drupal_is_front_page()) {
   
$vars['page_css'] = 'halbseitig';
  } 
  else {
   
$vars['page_css'] = 'ganzseitig';
  }
}
?>

Nun steht dir die Variable $page_css in allen Page.tpl.php zur Verfügung und du kannst damit machen was du willst, z.B. als body css klassen setzten
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING

  • Anmelden oder Registrieren um Kommentare zu schreiben

dereine schrieb Hier mal

Eingetragen von VincentPaige (34)
am 12.08.2008 - 07:04 Uhr
dereine schrieb

Hier mal ein Beispiel:

Bei der Startseite soll es eine extra cssklassen mit nahmen halbseitig geben, da hier noch Werbung angezeigt werden soll
Auf allen anderen Seiten soll ganzzeitig als CSS Klassen zur Verfügung stehen also

<?php
function themename_preprocess_page(&$vars) {
 
// ist man auf der startseite setzte halbseitig
 
if (drupal_is_front_page()) {
   
$vars['page_css'] = 'halbseitig';
  } 
  else {
   
$vars['page_css'] = 'ganzseitig';
  }
}
?>

Nun steht dir die Variable $page_css in allen Page.tpl.php zur Verfügung und du kannst damit machen was du willst, z.B. als body css klassen setzten
...

Vielen Dank für die schnellen Reaktionen.

Im letzten Beispiel ist es aber genau die Funktion drupal_is_front_page(), die mir sagt, dass es sich um die Startseite handelt.
Wenn ich aber auf jeder Seite etwas anderes will, kann ich nicht sehen, ob es nun Seite A, B oder C ist.

Gruß
Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 14 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 14 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 44 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association