Antworten:
Diese Antwort mag unnötig komplex erscheinen, um eine so einfache Frage zu beantworten, aber weil ich kein Interesse daran habe, Fische zu verschenken, möchte ich das Angeln unterrichten.
Andere Antworten schlagen vor, dass Sie das Bild mit einem <img>
Tag direkt in den Block einbetten . Persönlich lehne ich diese Lösung ab, weil sie "einmalig" ist und verhindert, dass der Rest der Funktionalität Ihrer Website mit dem Bild interagiert, z. B. die automatische Neuskalierung des Bildes.
Zwei Vorschläge:
Obwohl ich die Verwendung von Panels dringend empfehle, ist das Einrichten und Verstehen für Drupal-Anfänger normalerweise recht kompliziert, sodass Sie dies möglicherweise überspringen möchten.
Das im Block verwendete Textformat muss Bilder zulassen. Wenn Sie gefiltertes HTML verwenden, können Sie das <img>
Tag zu den zulässigen Tags hinzufügen oder Sie können vollständiges HTML verwenden (im Allgemeinen nicht empfohlen, mit Vorsicht verwenden!). Wenn Sie das Bild bereits über FTP hochgeladen haben, können Sie es mit etwas wie einbinden <img src="/sites/default/files/image.jpg"/>
.
Wenn Sie leicht in der Lage sein wollen , hochladen und einfügen Bilder über die Benutzeroberfläche, eine gute und häufig verwendete Kombination ist WYSIWYG - API mit der CKeditor Bibliothek (ckeditor.com) und dem Medienmodul. Wenn Sie dies verwenden, fügen Sie den Medienfilter Ihrem Textformat hinzu und konfigurieren Sie das WYSIWYG-Profil für die Verwendung von CKeditor. Sie können dann eine Schaltfläche "Medienbrowser" verwenden, um Bilder (und andere Medien) über den Editor hochzuladen und einzufügen.
Erste Frage: Was ist das für ein Block? Wenn es sich nur um einen neuen Block handelt, den Sie über den Link "Neuen Block hinzufügen" erstellt haben, können Sie entweder HTML-Code oder den WYSIWYG-Editor (Was Sie sehen, ist das, was Sie erhalten) verwenden, um einen dort einzufügen.
Zweite Frage - Haben Sie ein WYSIWYG-Modul installiert?
Ein guter ist der CK-Editor, der sich hier befindet
Sie benötigen auch ein Upload-Tool, um Ihre Bilder hochzuladen. Viele Leute verwenden IMCE, das sich hier befindet
Wenn Sie sich für CK Editor entscheiden, müssen Sie IMCE als Tool zum Hochladen von Dateien auswählen
Sobald Sie diese Module installiert haben, müssen Sie ein Eingabeformat erstellen, das die Anzeige der von Ihnen geposteten Bilder ermöglicht, da der CK-Editor und dergleichen im Wesentlichen Roh-HTML in Ihren Block einfügen
Lesen Sie diesen Artikel hier - http://drupal.org/documentation/modules/filter . Hier erfahren Sie mehr über Eingabeformate
Dies mag für diejenigen, die mit Drupal beginnen, wie ein entmutigender Prozess erscheinen, aber sobald Sie den Dreh raus haben, wird alles Sinn machen.
Laden Sie einfach ckeditor herunter und installieren Sie es auf Ihrem Drupal 7. Installieren Sie dann auch alle entsprechenden Module. U kann Bilder und sogar Videos an jeder Position in einem beliebigen Block-ckeditor platzieren. ckeditor kann ua ein Problem geben, das einige Fehler anzeigt, aber keine Sorge, deinstalliere es einfach und installiere es neu. Ich habe ckeditor_3.6.2-3_for_drupal_7 verwendet und für mich gearbeitet.
Persönlich war ich noch nie ein Fan von WYSIWYG-Editoren, stattdessen bevorzuge ich es, PHP direkt in den Körper zu codieren. Die Drupal-Puritaner unter Ihnen werden zweifellos entsetzt sein über die Verwendung von PHP in einem Block, aber wenn es nur dem Administrator zugänglich ist, ist es wirklich kein Problem.
Während dies alles gültige Antworten sind und alle in ihrem eigenen Anwendungsfall funktionieren, besteht die einfachste Methode lediglich darin, das Bild in Ihrem aktuell aktivierten Themenverzeichnis zu speichern und sicherzustellen, dass das Feld für den Blockinhaltskörper für PHP-Code aktiviert ist.
<?php
$theme_name = 'name-of-enabled-theme';
/* optional parameters */
$alt_text = 'image-alt-text';
$image_width = '100';
$image_height = '200';
$image_class = 'the-class-name';
$image_id = 'the-id';
/* pass it all into theme_image() */
print theme('image', array(
'path' => drupal_get_path('theme', $theme_name) . '/path/to/image.jpg',
'alt' => $alt_text,
'width' => $image_width,
'height' => $image_height,
'attributes' => array(
'class' => $image_class,
'id' => $image_id
)));
?>
Dadurch wird das HTML-Markup erstellt.
<img width="100" height="200" alt="image-alt-text" src="http://www.mydomain.com/sites/all/themes/mytheme/images/imagename.jpg" typeof="foaf:Image" id="the-id" class="the-class-name">
Die meisten Attribute / Parameter werden wirklich nicht benötigt, da sie denselben Job ausführen, wenn Sie nur den Themennamen sowie den Bildpfad und -namen an die Themenfunktion übergeben. Wenn Sie eine reaktionsfähige Site erstellen, schließen Sie die Attribute width und height nicht ein, sondern verwenden Sie den Klassennamen und setzen Sie ihn in Ihrem CSS auf 100%. Dies setzt voraus, dass das Bildcontainerelement auch prozentual entsprechend seinem Container ist.
Ich muss allerdings zugeben, dass theme_image()
mich die Tatsache, dass die Funktion kein selbstschließendes Bildelement ( <img />
) erzeugt, immer beunruhigt hat :)
hook_block_view
...
Ich denke, jetzt in Drupal 7 wäre eine andere gute Option die Verwendung des BEAN-Moduls ("Bean ist ein Akronym, das für Block Entities Aren't Nodes steht"). Dieses Modul ist nicht so einfach wie Imageblock, erweitert jedoch die Funktionalität von Blöcken weiter. Sie können "Inhaltstypen" für Knoten als "Blockentitäten" erstellen. Nicht nur zum Anzeigen von Bildern, sondern auch von mehreren Bildern oder anderen Feldtypen, die im Drupal-Feldsystem verfügbar sind. Ich komme zu BEAN und suche nach einem Imageblock-Modul mit einer Integration in das Media-Modul. Ich werde es in meinem aktuellen Projekt versuchen.
Das BEAN-Modul wurde auch hier behandelt:
Die letzte Version war am 8. August 16, aber der Wartungsstatus lautet "Suche nach neuem Betreuer" und der Entwicklungsstatus lautet "Nur Wartungskorrekturen".
Ich verwende eine wirklich schnelle und einfache Lösung für meinen Drupal 7.22 - Wysiwyg- Editor mit TinyMCE 3.5.8 und habe auch das IMCE-Modul und die IMCE Wysiwyg-Brücke aktiviert
Du hast geöffnet
Konfiguration -> Inhaltserstellung -> Wysiwyg-Profile -> Vollständiges HTML auswählen
oder welches benutzt du?
Bearbeiten
In der Einstellung müssen Sie Schaltflächen und Plugins öffnen , fast ganz unten befindet sich IMCE, das Ihnen ein Symbol für die Verwendung eines eigenen Upload-Managers hinzufügt.
Es kann überall auf der Website verwendet werden, wo der Wysiwyg-Editor verfügbar ist.
Geben Sie das Bean- Modul ein.
Was ist Bean? Stellen Sie sich eine Bean als eine Methode zum Bereitstellen neuer Typen vor (im Vergleich zu einem Knoten wäre dies ein Inhaltstyp), die dann eine Schnittstelle zum Hinzufügen von Inhalten bereitstellt, um so viele Blöcke zu erstellen, wie Sie benötigen. Der Bean-Inhalt kann dann wie jeder andere Block auf der Site platziert werden.
Kurzanleitung:
Bildblock- Modul
Der Bildblock ist ein Modul, in dem ein einfacher Block erstellt werden kann, der ein Bild enthält. Die 6.x-Version dieses Moduls lässt sich in Imagecache und 7.x in die Bildstile des Kern-Image-Moduls für die dynamische Bildgröße und -bearbeitung integrieren.
Wie benutzt man:
- Aktivieren Sie das Image-Block-Modul.
- Navigieren Sie zu admin / build / block.
- Klicken Sie im Menü für lokale Aufgaben auf den Link "Bildblock hinzufügen".
- Konfigurieren Sie Ihren Bildblock und speichern Sie ihn.
Der Bildblock ist ein Modul, in dem ein einfacher Block erstellt werden kann, der ein Bild enthält. Die 6.x-Version dieses Moduls lässt sich in Imagecache und 7.x in die Bildstile des Kern-Image-Moduls für die dynamische Bildgröße und -bearbeitung integrieren.
Es gibt viele Möglichkeiten, Bilder in Blöcken hinzuzufügen. Ein Weg ist:
- Erstellen Sie Inhaltstyp- und Bildfelder
- Erstellen Sie eine Ansicht für diesen Inhaltstyp und fügen Sie ein Bildfeld in die Ansicht ein
- Weisen Sie Ihrer Ansicht einen Block zu
- Fügen Sie ein Bild hinzu, das Sie im Block anzeigen möchten.