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

[gelöst] Inline Bilder in HTML wrappen

Eingetragen von intervisual (88)
am 17.09.2010 - 16:20 Uhr in
  • Themes & Theming
  • Drupal 6.x

Hallo,

wie kann ich Bilder die sich im Node (Artikel) befinden mit zusätzlichen HTML anreichern? Ich stelle mir da ein zusätzliches Inline-Element (<span>|<b>|<i>) vor welches mir so zusätzliches Styling ermöglicht. Rauskommen sollte ewtas in der Art: <p><span><img src="pfad/zum/bild" alt="alttext"/></span></p>

Die Bilder werden ja von Drupal automatisch in das <p>-Tag gepackt. Das würde theoretisch reichen aber das Problem ist, dass die Position des <p>-Tags natürlich varieren kann. Je nachdem wo der User es eben einfügt... Klar könnte ich das auch mit Javascript machen aber das will ich vermeiden.

Was kann ich also tun?

‹ Inhalt nur bestimmten usern anzeigen lassen Ein vorhandenes Theme an Layout anpassen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie sind die Bilder in den

Eingetragen von idle (202)
am 18.09.2010 - 10:56 Uhr

Wie sind die Bilder in den Node gekommen? Via CCK, Anhang oder WYSIWYG?

  • Anmelden oder Registrieren um Kommentare zu schreiben

WYSIWYG. Ich habe mit dem

Eingetragen von intervisual (88)
am 18.09.2010 - 13:36 Uhr

WYSIWYG. Ich habe mit dem Modul wysiwyg_imageupload ein Modul gefunden was schon Html um die Bilder baut. Das habe ich mir so angepasst wie ich es benötige.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dann kannst Du einfach den

Eingetragen von idle (202)
am 18.09.2010 - 19:54 Uhr

Dann kannst Du den WYSIWYG-Editor deaktivieren, bzw. Dir den Quellcode anzeigen lassen (je nach Modul heißt die Option unterschiedlich), und dort direkt das gewünschte HTML um das entsprechende Element ergänzen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nun ja... theoretisch ist das

Eingetragen von intervisual (88)
am 18.09.2010 - 20:17 Uhr

Nun ja... theoretisch ist das natürlich möglich aber findest du das nicht ein wenig unpraktisch? ;)

Ich kann von einem Redakteur nicht erwarten das er jedes Bild was er einpflegt noch um bestimmte HTML-Elemente ergänzt. Das ist unpraktisch und die Gefahr das der da was falsch macht ist mir zu groß ;) Aber das spielt ja nun auch keine Rolle mehr da es ja wie gewünscht funktioniert. Aber vielen Dank für deine Mühe :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Oder suchst du eine

Eingetragen von idle (202)
am 18.09.2010 - 20:17 Uhr

Oder suchst du eine "programmatic solution?", also eine Möglichkeit, den Code pauschal einzufügen, ohne zusätzliche Bearbeitungsschritte im Backend?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Aha. Von einem Redakteur war

Eingetragen von idle (202)
am 18.09.2010 - 20:19 Uhr

Aha. Von einem Redakteur war bisher keine Rede …
Wenn du sagst, es funktioniert jetzt: was war die Lösung?

  • Anmelden oder Registrieren um Kommentare zu schreiben

idle schrieb Oder suchst du

Eingetragen von intervisual (88)
am 18.09.2010 - 20:36 Uhr

Stimmt... einen Redakteur habe ich bisher nicht erwähnt aber mir wäre das auch zu unpraktisch :)

Zur Lösung:

intervisual schrieb

…wysiwyg_imageupload ein Modul gefunden was schon Html um die Bilder baut. Das habe ich mir so angepasst wie ich es benötige.

Ich habe mir hier die Funktion die das HTML für das Bild generiert um meine Tags erweitert. Aber ich muss gestehen das ich mit der Lösung nicht zufrieden bin. Sie löst zwar mein Problem aber bei einem Update des Modules ist meine Änderung für die Katz. Besser wäre es natürlich eine, wie du oben angemerkt hast, programmatische Lösung zu finden. Hast du eine Idee?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast Du schon versucht, oder

Eingetragen von idle (202)
am 18.09.2010 - 20:57 Uhr

Hast Du schon versucht, oder daran gedacht, in der template.php einen Override zu machen?
Wenn ich raten müsste, würde ich sagen, dass Du deine Anpassungen in der Funktion theme_wysiwyg_imageupload_render_container vorgenommen hast?

Meine Idee ist, unabhängig davon: Du kopierst die Funktion mit Deinen gewünschten Änderungen in die template.php in deinem Theme-Verzeichnis, und änderst lediglich den Namen von theme_xy in name_von_deinem_theme_xy. Dann solltest Du die Modul-Dateien in ihren Originalzustand zurückversetzen können, und trotzdem einen geänderten Output haben.

PS: In der template.php kein ?> am Ende, also PHP-Tag nicht schließen ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich vestehe folgendes: du

Eingetragen von sepp68 (444)
am 18.09.2010 - 21:28 Uhr

Ich vestehe folgendes:

du möchtest die inline-Bilder mittels CSS stylen

Kannst du die Bilder denn nicht mit .content img per CSS ansprechen ?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das hast du falsch verstanden

Eingetragen von intervisual (88)
am 18.09.2010 - 22:18 Uhr

Das hast du falsch verstanden :) Bilder einfach mit CSS zu Style ist nicht das Problem. Ich benötige ein zusätzliches HTML Tag um diesem ein Hintergrund-Bild (gefadeter Schatten) zu geben. Mit CSS 2.1 ist es leider nicht möglich einem Element mehrere Hintergrundbilder zuzuweisen, das geht erst ab CSS3. Und das wird zur Zeit nur von aktuellen Browsern unterstützt... alternative könnte ich mit den Pseudo-Klassen :before und :after arbeiten aber auch hier ist die Unterstützung nicht so das ich es mit guten gewissen im Produktivsystem einsetzten könnte.

Daher benötige ich zusätzliches Markup.

@idle
Das habe ich schon versucht. Aber es hat nicht funktioniert. Kein Plan warum... Template-Cache habe ich gelöscht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

node-type-tpl.php

Eingetragen von sepp68 (444)
am 19.09.2010 - 08:30 Uhr

Du könntest eine node-type-tpl.php erstellen, wobei -type dein Inhaltstyp ist.
Hier hast ja normalerweise

<?php
print $content
?>

Du könntest davor deine img-Tags suchen und mit deinem wrapper-Tag anreichern

  • Anmelden oder Registrieren um Kommentare zu schreiben

intervisual schrieb @idle Das

Eingetragen von idle (202)
am 19.09.2010 - 09:59 Uhr
intervisual schrieb

@idle
Das habe ich schon versucht. Aber es hat nicht funktioniert. Kein Plan warum... Template-Cache habe ich gelöscht.

Ich habe das Szenario nachgebaut, und bei mir funktioniert es! Hier meine template.php:

<?php /**
* Renders the meta container of an image.
*/
function my_theme_wysiwyg_imageupload_render_container($image,$meta,$img_obj,$arguments) {
  return "<div class='wysiwyg_imageupload_wooohoo image {$img_obj->alignment} {$img_obj->style}'>$image <div class'image_meta'>$meta</div></div>";
}

Im Quellcode wird anschließend die Klasse wysiwyg_imageupload_wooohoo ausgegeben.
Das Problem dürften die Caches sein. Die Theme-Registry zu leeren bringt nichts, du musst die Cache-Tables leeren. Am einfachsten im Admin-Menü (wenn Du das Modul installiert hast).

  • Anmelden oder Registrieren um Kommentare zu schreiben

idle, danke für deine

Eingetragen von intervisual (88)
am 20.09.2010 - 09:53 Uhr

idle, danke für deine Hinweise!

Ich habe über das Admin-Menü alle Caches gelöscht aber es aus welchen Gründen auch immer funktionierte es nicht. Ich habe das Module nun deinstalliert, erneut installiert sowie konfiguriert und die Funktion in meinen template.php gepackt und die caches gelöscht. Warum auch immer... es geht nun o_O

Vielleicht hat sich Drupal verschluckt oder ich habe irgendwo irgendwas falsch gemacht... :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielleicht ist etwas beim

Eingetragen von idle (202)
am 20.09.2010 - 18:23 Uhr

Vielleicht ist etwas beim Manipulieren der Quelldatei schief gegangen ... Egal, schön, wenn es jetzt funktioniert. :)

  • 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 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 17 Stunden
  • 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 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

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