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

Html/Css ändern, aber wo?

Eingetragen von schluck (27)
am 22.04.2008 - 20:28 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hallo, ich bin Anfänger und glaube nicht, dass ich das mit den Themes richtig verstanden habe. Mein allgemeines Problem versuche ich mit einem speziellem Problem zu erklären und hoffe das mir jemand hilft:

Ich möchte eine CSS Eigenschaft neu zuweisen. Über das Devel module/die API Website habe ich auch nach langer Suche die Stelle gefunden (in der menu.inc). Dort möchte ich die Klasse "menu" austauschen.

<?php
function theme_menu_tree($tree) {
  return
'<ul class="menu">'. $tree .'</ul>';
}
?>

Das funktioniert dann auch, jedoch möchte ich das nur für mein eigenes Theme verändern, nicht für alle andern, weil ich für die Verwaltungsseiten ein anderes Theme benutze.
Ich habe schon versucht den menu.inc in meinen Theme Ordner zu kopieren und nur dort zu ändern, aber da ist er nicht richtig verlinkt und ich weis nicht, wie ich ihm mein Theme zuweise.

Meine Frage: wo findet man das CSS und das HTML-Markup und wo ändert man es?

Ich entwickle das ganze lokal und mein Theme Ordner ist nichts anderes als der Garland_Theme Ordner den ich kopiert habe und nach und nach anpasse.

Vielen Dank uns Gruß

‹ Hintergrundfarbe der Sidebars bis zum Footer durchzeichnen? Theme anpassen und andere grundlegende Fragen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

eigentlich ist es wirklich

Eingetragen von dawehner (2639)
am 22.04.2008 - 20:51 Uhr

eigentlich ist es wirklich sehr einfach

<?php
function garland_menu_tree($tree) {
  return
'<ul class="menu extra">'. $tree .'</ul>';
}
?>

in die template.php deines Themes schreiben
garland entsprechend anpassen
fertig das ganze
vom Prinzip funktioniert das folgendermaßen:
Drupal schaut nach
1. themename_$themefunction()
2. phptemplate_$themefunction()
3. theme_$themefunction()

--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb

  • Anmelden oder Registrieren um Kommentare zu schreiben

hmm...momentan funktioniert

Eingetragen von schluck (27)
am 22.04.2008 - 22:11 Uhr

hmm...momentan funktioniert es bei mir irgendwie nicht

function feindlertheme_menu_tree($tree) {
  return '<ul class="column">'. $tree .'</ul>';
}

in template.php

"feindlertheme" ist mein theme. Wenn ich es in der menu.inc ändere funzt es, was mache ich falsch?

  • Anmelden oder Registrieren um Kommentare zu schreiben

DONT HACK

Eingetragen von dawehner (2639)
am 22.04.2008 - 22:42 Uhr

DONT HACK DRUPAL!!!!!!

<?php
function feindler_menu_tree($tree) {
  return
'<ul class="column">'. $tree .'</ul>';
}
?>

Das sollte funktionieren
--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank, da es immer

Eingetragen von schluck (27)
am 23.04.2008 - 12:14 Uhr

Vielen Dank,
da es immer noch nicht funktioniert, und mein hauptproblem eigentlich ein anderes ist, mal anders gefragt:

Wo finde ich den HTML Code und die CSS Klassen?

Nur ein Teil von dem ausgegebenen Code befindet sich in meinem Theme Ordner.
in node.tpl.php, page.tpl.php, block.tpl.php,....mein HTML und in der Style.css mein CSS.

Der zusätzliche Code/Klassen sieht in etwa so aus:
....<span id="thmr_65" class="thmr_call">...

und befindet sich nicht in meinen .tpl.php files und in keiner der im Quelltext angegeben Styles die ich im Browser abgerufen habe.

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es steht dir frei diese in

Eingetragen von Alexander Langer (3416)
am 23.04.2008 - 12:31 Uhr

Es steht dir frei diese in deinem eigenen Stylesheet zu definieren. Damit überschreibst du auch ggf. durch das jeweilige Modul selbst eingefügte Sytles.

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich kann für das

Eingetragen von Genesis (597)
am 23.04.2008 - 12:50 Uhr

Also ich kann für das Themen von Drupal, und diversen Modulen und damit auch meist ihrer eigenen CSS-Definitionen nur den Web-Developer empfehlen, den es als PlugIn z.B. für den Firefox gibt. Damit ist es möglich sich CSS-Angaben der derzeitigen Seite im Detail anzeigen zu lassen. (zB. über rechts klick - > web developer -> css -> css style information)

Damit entgeht dir keine CSS-Angabe, und du musst dich nicht tod suchen. Das Ganze bekommst du hier: Link (läuft auch mit dem FF3)

Vllt hilft es dir ja. :)

Grüße vom,

Genesis

  • Anmelden oder Registrieren um Kommentare zu schreiben

Speziell für diesen Zweck

Eingetragen von Alexander Langer (3416)
am 23.04.2008 - 13:10 Uhr

Speziell für diesen Zweck finde ich Firebug wesentlich einfach zu bedienen. Ist ne Sache von 3 schnellen Klicks, ohne mich durch Mneüs zu pfriemeln oder noch eine Tastenkombi zu lernen. WebDeveloper habe ich installiert, benutze ich aber praktisch gar nicht.

--
"Look, Ma, I'm dead!"
Cell, Stephen King

  • Anmelden oder Registrieren um Kommentare zu schreiben

Okay, ich denke das ist

Eingetragen von Genesis (597)
am 23.04.2008 - 13:30 Uhr

Okay, ich denke das ist wieder so ne Glaubenssache. ;) Der eine kommt damit besser klar, der andere damit, wichtig ist aber das beide genau bei so etwas gut helfen können, was nun besser geht muss wahrscheinlich am ende jeder selbst raus finden. :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

template

Eingetragen von stBorchert (6003)
am 23.04.2008 - 15:26 Uhr

Um noch mal auf das Problem zurückzukommen:
Nehmen wir mal folgende Ordnerstruktur an:

+ drupal
  + sites
    + all
      + themes
        + feidler
          - template.php
          - node.tpl.php
          - page.tpl.php
          - ...

Dann musst Du in dieser template.php den Code
<?php
function feidler_menu_item($mid, $children = '', $leaf = TRUE) {
  return
'<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'"><span id="thmr_65" class="thmr_call">'. menu_item_link($mid) . $children ."</span></li>\n";
}
?>

einfügen. Alternativ funktioniert auch
<?php
function phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
  return
'<li class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'"><span id="thmr_65" class="thmr_call">'. menu_item_link($mid) . $children ."</span></li>\n";
}
?>

Damit änderst Du den generierten Code für jedes (!) Menüelement. Über $mid kannst Du herausbekommen, in welchem Menü das Element angezeigt wird und das evtl. noch über ein if/then/else steuern.
Falls schon eine Funktion namens 'feindler_menu_tree' vorhanden ist, entferne diese vorher.

hth,

Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich muss hier noch mal

Eingetragen von schluck (27)
am 26.05.2008 - 10:18 Uhr

ich muss hier noch mal nachhaken

das mit theme_functions überschreiben funktioniert bei mir noch nicht. Nur wenn ich es direkt im Kern ändere, was ich ja nicht, soll klappt es.

das steht in der Datei form.inc:

<?php
function theme_form($element) {
 
// Anonymous div to satisfy XHTML compliance.
 
$action = $element['#action'] ? 'action="'. check_url($element['#action']) .'" ' : '';
  return
'<form '. $action .' accept-charset="UTF-8" method="'. $element['#method'] .'" id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n<div>". $element['#children'] ."\n</div></form>\n";
}
?>

das habe ich in die template.php geschrieben also einfach nur dem ganzen eine CSS Klasse hinzugefügt:

<?php
function garland_form($element) {
 
// Anonymous div to satisfy XHTML compliance.
 
$action = $element['#action'] ? 'action="'. check_url($element['#action']) .'" ' : '';
  return
'<form '. $action .' class="form" accept-charset="UTF-8" method="'. $element['#method'] .'" id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n<div>". $element['#children'] ."\n</div></form>\n";
}
?>

Warum wird es nicht überschrieben?

  • Anmelden oder Registrieren um Kommentare zu schreiben

packst du die <php> tags mit

Eingetragen von aschiwi (1113)
am 26.05.2008 - 12:41 Uhr

packst du die <php> tags mit rein? könnte sein die brauchst du nicht wenn du schon eine bestehende template.php hast, in die du den code einfügst. denn da sind die am anfang und ende des dokuments schon drin...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ne, die habe ich nur wegen

Eingetragen von schluck (27)
am 26.05.2008 - 12:55 Uhr

Ne, die habe ich nur wegen der Code-Ansicht reingemacht

  • Anmelden oder Registrieren um Kommentare zu schreiben

könnte es sein, dass es

Eingetragen von aschiwi (1113)
am 26.05.2008 - 14:03 Uhr

könnte es sein, dass es phptemplate_form sein muss, statt garland_form?

  • Anmelden oder Registrieren um Kommentare zu schreiben

form

Eingetragen von stBorchert (6003)
am 27.05.2008 - 10:46 Uhr

Lass Dir mal

<?php
$element
['#attributes']
?>
ausgeben. Mir war so, als wenn da eventuelle CSS-Klassen definiert werden. Damit kannst Du Deine Klasse einfach an das Array anhängen.
garland_form sollte sonst so funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

der Thread ist zwar nun ein

Eingetragen von drupalino (1064)
am 01.06.2008 - 14:06 Uhr

der Thread ist zwar nun ein paar tage alt, aber mich würde schon interessieren, wie Du das mit der if-Abfrage machen würdest ????

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

... gerade wegen dieser

Eingetragen von ratdog (17)
am 01.06.2008 - 18:14 Uhr

... gerade wegen dieser unübersichtlichen Hackerei würde ich niemals ein eigenes Drupal Theme erstellen wollen, egal welche Vorteile mir Drupal bietet. Am schlimmsten ist Typo3, das in Teilen noch von DokuWiki getoppt wird. Dort wird html und css tatsächlich in php eingebunden. Das ist für mich Absurdistan. Wenn ich bei Drupal 10 Minuten für irgend etwas benötige, liegt der Arbeitsaufwand bei textpattern unter 2 Minuten. Bei Movable Type sind es ein paar Sekunden mehr.

  • 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 2 Tagen
  • Hey danke
    vor 1 Woche 2 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 23 Stunden
  • Da scheint die Terminologie
    vor 2 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 2 Wochen 5 Tagen
  • In der entsprechenden View
    vor 2 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 5 Tagen
  • gelöst
    vor 5 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 22 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