Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

primary_links (PHPTemplate) verschiedene IDs verteilen

Eingetragen von Anonymous (0)
am 29.11.2005 - 21:44 Uhr in
  • Themes & Theming

Hallo erstmal :)

Ich bin neulich auch auf den Drupal-Zug aufgesprungen und möchte nun ein eigenes Theme (PHPTemplate) erstellen (die Drupal-Seite gibt es auf http://komani.hobby-dreh.de und das gewünschte Layout des Themes auf http://web190.server2.dce4u.de/site-7/komani/)

Ich möchte nun jedem einzelnen primaren Link eine eigene ID verpassen (zwecks Styling per CSS). Kann man aus der Variablen $primary_links nun irgendwie den Linktext herausextrahieren und als eigene Variable benutzen bzw. per $primary_links[name] oä. ansprechen?
Oder gibt es eine ganz andere Lösung?

Vielen Dank an alle Helfer,

Julius

‹ Mein Lieblingstheme IE Probleme ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: primary_links (PHPTemplate) verschiedene IDs verteilen

Eingetragen von Hinrich (136)
am 29.11.2005 - 23:44 Uhr
kwurzel schrieb

Ich möchte nun jedem einzelnen primaren Link eine eigene ID verpassen (zwecks Styling per CSS). Kann man aus der Variablen $primary_links nun irgendwie den Linktext herausextrahieren und als eigene Variable benutzen bzw. per $primary_links[name] oä. ansprechen?
Oder gibt es eine ganz andere Lösung?

Soweit ich es bisher beurteilen kann, wird es in der 4.7.x keine $primary_* und $secondary_links mehr geben. Mag aber auch ein Bug der CVS-Version sein. Anyway:

foreach ($primary_links as $key => $link) {
  // Link holen
  if (!preg_match("/<a*>([^<]+)<\/a>/i", $link, $parts))
    die("Invalid entry");
  else
    $title = $parts[1];
  // Analysiere $title um passende CSS festlegen zu können
  $css = foo();
  $primary_links[$key] = str_replace("href=\"", "class=\"$css\" href=\"", $link);
}

So, oder so ähnlich, wenn ich Dich richtig verstanden habe.

  • Anmelden oder Registrieren um Kommentare zu schreiben

PHPTemplate.engine hacken

Eingetragen von gerd riesselmann (nicht überprüft) (0)
am 30.11.2005 - 14:23 Uhr

Die primären und sekundären links kommen aus der Template Engine selber. Der entsprechende Code findet sich in der Datei phptemplate.engine, in der Funktion phptemplate_page().

Interessant wird es so um Zeile 175, dort wird das Array der primary und secundary links geschrieben. Hier könnte auch eine ID hinzugefügt werden, etwa so:

   if (theme_get_setting('toggle_' . $type . '_links')) {
      for ($i =0; $i < $count; $i++) {
        unset($attributes);
        if (!empty($value['text'][$i])) {
          // HACK: FÜGE ID HINZU
          $attributes['id'] = 'id_' . $type . '_' . $i;
          // ENDE DES HACKS
          // Ab hier normaler Code
          if (!empty($value['description'][$i])) {
            $attributes['title'] = $value['description'][$i];
          }
          $text = ...

Das sollte den primary links IDs der Form "id_primary_1" und den secondary links IDs der Form "id_secondary_1" geben.

-------------------
Gerd Riesselmann
http://www.gerd-riesselmann.net

  • Anmelden oder Registrieren um Kommentare zu schreiben

Jo!

Eingetragen von kwurzel (nicht überprüft) (0)
am 30.11.2005 - 17:17 Uhr

@ gerd riesselmann

Das hat funktioniert! Vielen Dank!

Allerdings ist es jetzt so, dass die id nur angezeigt wird, wenn auch eine Beschreibung (also title="") eingegeben wird. Verschiebt man den Hack in die Zeile 128, d.h. nach der Abfrage von

if !empty($value['description'][$i])) {

dann funktioniert es wie gewünscht. Vielen Dank dafür!

  • 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 2 Wochen 5 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 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 6 Wochen 2 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

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 28 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