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

[gelöst] Aussehen und Format der Primary Links ändern - Wie?

Eingetragen von BeTZe (105)
am 15.07.2010 - 12:29 Uhr in
  • Themes & Theming

Hallo Zusammen,
ich habe noch mal eine Frage. Ich möchte die Primary Links oben rechts neben meinem Logo ausgeben. Die Links sollen nicht untereinander sondern nebeneinander stehen. Außerdem möchte ich das aussehen noch ändern. Wie mache ich das? Wie kann ich auf das aussehen der Primarylinks einfluß nehmen? Aktuell stehen sie untereinander mit einem kleinen Punkt davor.

Schon mal vielen Dank im voraus.

‹ [gelöst] CSS in Head einfügen Content Profile anzeigen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Per CSS

Eingetragen von cosmo (9)
am 15.07.2010 - 12:53 Uhr
BeTZe schrieb

Außerdem möchte ich das aussehen noch ändern. Wie mache ich das? Wie kann ich auf das aussehen der Primarylinks einfluß nehmen? Aktuell stehen sie untereinander mit einem kleinen Punkt davor.

Die einzelnen Menupunkte sind alle per CSS ansprechbar und so dann auch zu designen. Bei Lullabot gibt es ein nettes Screencast, welches zeigt wie man die Secondary-Links bearbeitet. Da wird natürlich nicht in CSS eingefuehrt, aber gut gezeigt, wie man die einfachsten Aenderungen vornimmt, was natürlich auch fuer die primary-Links/Menus zutrifft:

http://www.lullabot.com/videos/using-secondary-menus

Vergessen: Allgemeine Infos zum Theming findest du hier: http://drupal.org/theme-guide/6

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok. Das aussehen kann ich

Eingetragen von BeTZe (105)
am 15.07.2010 - 15:57 Uhr

Ok. Das aussehen kann ich über die CSS-Dateinen ändern. Ich möchte aber das Format noch ändern.

Ich gehe mal davon aus, dass ich dafür die Funktion überschreiben muss. Die Funktion wäre dann doch "theme_links". Oder liege ich da falsch?

Zum rumtesten habe ich jetzt eine template.php Datei angelegt und folgenden Code eingefügt:

<?php
function epms_links($links, $attributes = array('class' => 'links')) {
  global
$language;
 
$output = '';

  if (
count($links) > 0) {
   
$output = '<ul'. drupal_attributes($attributes) .'>';

   
$num_links = count($links);
   
$i = 1;

    foreach (
$links as $key => $link) {
     
$class = $key;

     
// Add first, last and active classes to the list of links to help out themers.
     
if ($i == 1) {
       
$class .= ' first';
      }
      if (
$i == $num_links) {
       
$class .= ' last';
      }
      if (isset(
$link['href']) && ($link['href'] == $_GET['q'] || ($link['href'] == '<front>' && drupal_is_front_page()))
          && (empty(
$link['language']) || $link['language']->language == $language->language)) {
       
$class .= ' active';
      }
     
$output .= '<li'. drupal_attributes(array('class' => $class)) .'>Hallo';

      if (isset(
$link['href'])) {
       
// Pass in $link as $options, they share the same keys.
       
$output .= l($link['title'], $link['href'], $link);
      }
      else if (!empty(
$link['title'])) {
       
// Some links are actually not links, but we wrap these in <span> for adding title and class attributes
       
if (empty($link['html'])) {
         
$link['title'] = check_plain($link['title']);
        }
       
$span_attributes = '';
        if (isset(
$link['attributes'])) {
         
$span_attributes = drupal_attributes($link['attributes']);
        }
       
$output .= '<span'. $span_attributes .'>'. $link['title'] .'</span>';
      }

     
$i++;
     
$output .= "</li>\n";
    }

   
$output .= '</ul>';
  }

  return
$output;
}
?>

Durch diese Zeile
$output .= '<li'. drupal_attributes(array('class' => $class)) .'>Hallo';
müsste doch eigentlich ein Hallo vor jedem Menüpunkt mit ausgegeben werden. Leider klappt das nicht. Den Cache habe ich geleert. Wo liegt mein Fehler?

  • Anmelden oder Registrieren um Kommentare zu schreiben

BeTZe schriebOk. Das

Eingetragen von cosmo (9)
am 15.07.2010 - 16:19 Uhr
BeTZe schrieb

Ok. Das aussehen kann ich über die CSS-Dateinen ändern. Ich möchte aber das Format noch ändern.

Kannst du kurz sagen, was du mit Format meinst? Ein "Hallo" vor jeden Link hinzuzufuegen kannst du doch auch ohne Ueberschreiben von theme_links erreichen, oder?

Der Sinn und Zweck von theme_links (und all den anderen theme-Funktionen) ist, den Inhalt zu uebergeben und einen Output zu erhalten, der themable ist. Das bedeutet, die uebergibst der theme_links() Funktion deine Links und ausgespuckt wird entsprechender HTML/CSS-Code, den du dann voll und ganz modifizieren kannst, weil jedes Element eine genaue Bezeichnung erhaelt.

BeTZe schrieb

Ich gehe mal davon aus, dass ich dafür die Funktion überschreiben muss. Die Funktion wäre dann doch "theme_links". Oder liege ich da falsch?

Wenn du die uebeschriebene Funktion entsprechend aufrufst, muesste das tatsaechlich eigentlich funktionieren (aus dem Bauch heraus), aber ich habe die theme-Sachen noch nicht wirklich ueberschrieben ;-) Ergaenzung: Und versuch auch mal beim Testen einen neuen Menupunkt hinzuzufügen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also. Aktuell werden die

Eingetragen von BeTZe (105)
am 15.07.2010 - 16:31 Uhr

Also. Aktuell werden die Menüpunkte untereinander ausgegeben. Ich möchte sie aber nebeneinander haben. Kann ich das auch über CSS steuern?

Das Hallo gebe ich nur aus um zu sehen ob die Funktion überschrieben wird oder nicht.

Achso. EPMS im Namen der Funktion steht für den Namen meines themes.

  • Anmelden oder Registrieren um Kommentare zu schreiben

BeTZe schrieb ... Ich möchte

Eingetragen von Thoor (3678)
am 15.07.2010 - 18:04 Uhr
BeTZe schrieb

... Ich möchte sie aber nebeneinander haben. Kann ich das auch über CSS steuern?

Ja! Im Normalfall über die Anweisungen block und float

Kleiner Tip, sieh Dir mal diverse Navigationen in Themes mit Firefox und Firebug an. Dann hast Du Beispiele und kannst diese leicht nachbauen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

So, ich habe mir jetzt mal

Eingetragen von BeTZe (105)
am 16.07.2010 - 08:59 Uhr

So, ich habe mir jetzt mal den Quellcode angeschaut. Das Problem ist, wenn ich es über CSS änder, dann ändere ich das aussehen der Primary Links die oben stehen sollen und auch das aussehen der Links im Menü in der linken Seitenleiste.

  • Anmelden oder Registrieren um Kommentare zu schreiben

BeTZe schrieb So, ich habe

Eingetragen von cosmo (9)
am 16.07.2010 - 09:28 Uhr
BeTZe schrieb

So, ich habe mir jetzt mal den Quellcode angeschaut. Das Problem ist, wenn ich es über CSS änder, dann ändere ich das aussehen der Primary Links die oben stehen sollen und auch das aussehen der Links im Menü in der linken Seitenleiste.

Schau dir doch nochmal das obige Screencast an, dort wird genau dieses "Problem" besprochen.

In deinen Template-Dateien wird jeweils mit theme_links() oder theme('links',...) das Menu ausgegeben. Diese Funktionen haben die Möglichkeit, dass man ihnen per Parameter eine CSS-Klasse zuweist. Das ist normalerweise "links primary-links". Wenn du diesen Parameter veraenderst, kannst du deinem Menu in der sidebar eine andere Klasse zuweisen als oben und so unterschiedlich gestalten oder du sprichst sie ueber sidebar-left an (das ist die übergeordnete Instanz links) und gestaltest sie dann darueber.

  • Anmelden oder Registrieren um Kommentare zu schreiben

BeTZe schrieb So, ich habe

Eingetragen von Thoor (3678)
am 16.07.2010 - 10:13 Uhr
BeTZe schrieb

So, ich habe mir jetzt mal den Quellcode angeschaut. Das Problem ist, wenn ich es über CSS änder, dann ändere ich das aussehen der Primary Links die oben stehen sollen und auch das aussehen der Links im Menü in der linken Seitenleiste.

Garantiert nicht! Du hast bei DRUPAL sooooo viele ID´s und Klassen zum themen.

Deine Primary Links stehen bestimmt in irgendeinem DIV mit ner ID ... z.B.:
<div ID="nav"> ...</div>

Wenn Du jetzt nur die Links in diesem DIV ansprechen willst, dann schreibst Du eben als CSS Anweisung:
#nav a { color: red; }

Alles klar? Schnapp Dir den FIREBUG und erkunde mal die vorhandenen CSS Klassen und IDs Deiner Seite!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe es jetzt über CSS

Eingetragen von BeTZe (105)
am 16.07.2010 - 10:41 Uhr

Habe es jetzt über CSS hinbekommen. Habe eine CSS Angabe bzgl. des Menüs übersehen. Vielen Dank für die Hilfe.

  • 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 10 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 7 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 21 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