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

Conditional Comments

Eingetragen von karlotta (93)
am 08.05.2008 - 18:50 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x oder neuer

ich moechte gerne fuer den ie ein alternatives css anbieten, kenne mich aber zuwenig aus um in das bestehende php:

if ($_COOKIE["style"] == "bigger") {
drupal_add_css(path_to_theme() .'/common_bigger.css', 'theme');
}
else if ($_COOKIE["style"] == "big") {
drupal_add_css(path_to_theme() .'/common_big.css', 'theme');
}
else {
drupal_add_css(path_to_theme() .'/common.css', 'theme');
}

Conditional Comments zu integrieren.

die drei bestehenden werden fuer eine schriftgroessenumstellung gebraucht, entsprechend muessten auch drei andere fuer den ie da irgendwie hinein.

leider hab ich keine ahnung wie das gehen kann.

‹ Template-Variablen überschreiben Automatisch erstellten <p> entfernen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

kennt sich jemand mit php/html aus??

Eingetragen von karlotta (93)
am 08.05.2008 - 19:32 Uhr

ich weiss nicht genau wie ich das in diesem fall verknuepfen kann

  • Anmelden oder Registrieren um Kommentare zu schreiben

könntest du vielleicht noch

Eingetragen von netzkoop (1820)
am 08.05.2008 - 21:31 Uhr

könntest du vielleicht noch was sagen zum theme und der datei?
so verstehe ich leider auch nur bhf...

  • Anmelden oder Registrieren um Kommentare zu schreiben

php/html

Eingetragen von karlotta (93)
am 09.05.2008 - 08:00 Uhr

es ist das marvin theme

dort steht original im theme:

drupal_add_css(path_to_theme() .'/common.css', 'theme');

und ich habe es ersetzt durch obige if abfrage.

oder was musst du noch wissen?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich kenne Conditional

Eingetragen von netzkoop (1820)
am 09.05.2008 - 08:44 Uhr

Ich kenne Conditional Comments nur im HTML.
So was ähnliches wie unten müsste dann in deine page.tpl.php
Benutzt du dieses Modul?
http://drupal.org/project/jquery_fontsizer

<!--[if IE 5]>
<style type="text/css">
  Stylesheets für den IE 5
</style>
<![endif]-->

<!--[if gte IE 6]>
<style type="text/css">
  Stylesheets für den IE ab Version 6 (größer oder gleich 6)
</style>
<![endif]-->

<!--[if lt IE 6]>
<link rel="Stylesheet" href="ie5.css" type="text/css" />
<![endif]-->

  • Anmelden oder Registrieren um Kommentare zu schreiben

nein, das modul benutze ich

Eingetragen von karlotta (93)
am 09.05.2008 - 15:49 Uhr

nein, das modul benutze ich nicht, es ist eine selbstgestrickte loesung, weil die vorhandenen module nicht browserkompatibel gearbeitet haben.

danke fuer die comments, aber mein problem ist ja eben wie ich das in mein php rein bekomme.

???????

  • Anmelden oder Registrieren um Kommentare zu schreiben

Von PHP verstehe ich leider

Eingetragen von Tastensperre (6)
am 13.05.2008 - 00:50 Uhr

Von PHP verstehe ich leider nix, daher würde ich im Nebel stochern und ungefähr so vorgehen: Die Conditional Comments je nach IE-Typ vielleicht so in Deine jeweiligen if-Abfragen einfügen:

if ($_COOKIE["style"] "bigger") {
drupal_add_css(path_to_theme() .'/common_bigger.css', 'theme');

<!--[if lt IE 7]>
    <style type="text/css" media="all">@import "<?php drupal_add_css(path_to_theme() .'/ie6bigger.css', 'theme' ?>";
    </style>
<![endif]-->
<!--[evt. weitere CC-Bedingung]>
    <style ...>
    </style>
<![endif]--> ...

}

else if ...

Ob der Parser das dann auch versteht, kann ich nicht einschätzen, ich will erst anfangen mit PHP und kriege vorerst immer noch einen Knoten im Kopf, wenn ich mir so die Dateien anschaue und überlege, wo HTML aufhört und PHP anfängt bzw. vice versa. *g*

Die Frage ist für mich: Warum sollte man das tun wollen? Wie die meisten anderen Browser versteht auch der IE m.E. die Tastenkombination "Strg und +" als "Ansicht vergrößern", bzw. "Strg und -" als "Ansicht verkleinern". Ist das Marvin-CSS so starr, dass das nicht geht? Dann stehen Nutzer (egal welchen Browsers), die keine Cookies zulassen, trotzdem dumm da. Wäre es dann nicht besser, das common.css flexibler zu gestalten?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist zwar nicht sehr schön,

Eingetragen von rcj (66)
am 14.05.2008 - 06:17 Uhr

Ist zwar nicht sehr schön, aber folgendes sollte in Drupal 5 funktionieren.

In der template.php folgende Funktion einfügen oder entsprechend ergänzen:

function _phptemplate_variables($hook, $vars) {
  if (!is_array($vars)) {
    $vars = array();
  }

  // alle css dateien holen
  $css = drupal_add_css();
 
  $ie7_css_all = $css['all']['ie7'];
  $ie7_css_print = $css['print']['ie7'];
  $ie6_css_all = $css['all']['ie6'];
  $ie6_css_print = $css['print']['ie6'];

  $ie6_css = $ie7_css = '';

  if (is_array($ie7_css_all)) {
    foreach ($ie7_css_all AS $path => $value) {
      $ie7_css .= "<style type=\"text/css\" media=\"all\">@import \"" . $path . "\";</style>\n";
    }
  }

  if (is_array($ie7_css_print)) {
    foreach ($ie7_css_print AS $path => $value) {
      $ie7_css .= "<style type=\"text/css\" media=\"print\">@import \"" . $path . "\";</style>\n";
    }
  }
 
  if (is_array($ie6_css_all)) {
    foreach ($ie6_css_all AS $path => $value) {
      $ie6_css .= "<style type=\"text/css\" media=\"all\">@import \"" . $path . "\";</style>\n";
    }
  }
 
  if (is_array($ie6_css_print)) {
    foreach ($ie6_css_print AS $path => $value) {
      $ie6_css .= "<style type=\"text/css\" media=\"print\">@import \"" . $path . "\";</style>\n";
    }
  }
 
  // Variablen fuer Templatedatei anlegen
  $vars['ie7css'] = $ie7_css;
  $vars['ie6css'] = $ie6_css;
 
  // Conditional Dateien entfernen
  unset($css['all']['ie7']);
  unset($css['print']['ie7']);
  unset($css['all']['ie6']);
  unset($css['print']['ie6']);
  // Alle Stylesheets ausser den Conditional Sheets rendern
  $vars['styles'] = drupal_get_css($css);

  return $vars;
}

Entsprechende Stylesheets dann per drupal_add_css('pfad/zum/stylesheet', 'ie7 oder ie6', 'all oder print'); hinzufügen.

In page.tpl.php die entsprechende Variable in den gewünschten conditionals ausgeben. z.b.

<!--[if lt IE 7]>
<?php print $ie6; ?>
<![endif]-->

Grüße,
Robin

  • Anmelden oder Registrieren um Kommentare zu schreiben

@rcj

Eingetragen von netzkoop (1820)
am 14.05.2008 - 12:12 Uhr

Sorry, aber könntest du vielleicht den Unterschied erklären
zwischen diesem:

- eine riesige function in der template.php deklarieren
- diese in page.tpl.php ausgeben so:

<!--[if lt IE 7]>
<?php print $ie6; ?>
<![endif]-->

und jenem:
- in page.tpl.php eintragen

<!--[if lt IE 7]>
<link rel="Stylesheet" href="ie6.css" type="text/css" />
<![endif]-->

Oder überhaupt den Sinn und Vorteil des Ganzen?
Merci

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klar, gerne. Der TS hat die

Eingetragen von rcj (66)
am 14.05.2008 - 13:22 Uhr

Klar, gerne.

Der TS hat die CSS Dateien mit drupal_add_css hinzugefügt. Falls also mehrere Dateien entsprechend in verschiedenen Modulen so hinzugefügt werden sollen und dies evtl auch nur dann wenn entsprechendes Modul aktiv ist, dann ist es notwendig dies so dynamisch zu machen anstatt es hardcoded in die Templatedatei zu schreiben.
Abgesehen davon habe ich in meinen Templatedateien ungern Logik, wenn also je nach Parametern verschiedene Stylesheets geladen werden sollen, kann man diese nicht vorher fest im Template eintragen, sondern muss sie eben dynamisch hinzufügen.

Grüße,
Robin

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Sorry ich sehe gerade ich
    vor 18 Stunden 59 Minuten
  • Hallo, mittlerweile habe ich
    vor 19 Stunden 1 Minute
  • fehlende Module
    vor 21 Stunden 39 Minuten
  • Keiner der mir weiterhelfen
    vor 2 Tagen 18 Stunden
  • Rollen
    vor 1 Woche 1 Tag
  • Inzwischen sind wir bei
    vor 2 Wochen 5 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 6 Tagen
  • melde mich mal wieder, da ich
    vor 10 Wochen 3 Tagen
  • Hey danke
    vor 10 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 10 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250242
Registrierte User: 20469

Neue User:

  • Germanrom
  • StevenEness
  • ocvk2810

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