Wie füge ich einem Block in Drupal 7 ein Bild hinzu?

7

Ich möchte einem Block in der ersten Seitenleiste von Drupal 7 ein Bild hinzufügen. Weiß jemand, wie das geht? Vielen Dank.

fuu
quelle
Danke für all deine Hilfe. Ich schätze deine Zeit. Ich werde die vorgeschlagenen Lösungen ausprobieren und Sie auf dem Laufenden halten. :-)
Fuu

Antworten:

7

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:

  1. Laden Sie das Bild auf einen Knoten hoch, erstellen Sie eine Ansicht, in der Ihr Bild aufgelistet ist, und legen Sie es als Block offen
  2. Verwenden Sie Bedienfelder, um das Rendern Ihrer Seite zu steuern und das Bild auch von einem Knoten aus hinzuzufügen

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.

Letharion
quelle
Panels ist auch wirklich übertrieben für so etwas = \
Chapabu
Ja, wenn das alles ist , was Sie vorhaben, stimme ich zu. Aber ich würde argumentieren, dass Sie fast immer Panels für Ihre Site verwenden sollten, damit es meiner Ansicht nach nicht übertrieben ist.
Letharion
1
Ich denke, das liegt im Ermessen der Entwickler. Ich benutze SEHR selten Panels (ich glaube, ich habe es im letzten Jahr einmal benutzt). Ich finde die meisten Dinge, die Sie mit Panels machen können, die Sie anders und mit einer geringeren Stellfläche machen können.
Chapabu
2
Ja, natürlich ist es das :) Ich finde jedoch, dass WSCCI-Chef Larry Garfields Kommentare, zum Beispiel die einzige heute verfügbare Lösung ist, dass Panels für sich selbst sprechen.
Letharion
3

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.

Arjan
quelle
3

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.

Stan Ascher
quelle
1

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.

König Musa
quelle
1

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 :)

Raynimmo
quelle
Sie wollten eine positive Bewertung für den Hass auf WYSIWYG-Editoren erhalten, aber dann haben Sie vorgeschlagen, PHP in die Datenbank aufzunehmen, damit Sie mich verlieren. Nun, wenn Sie verwenden würden hook_block_view...
Felix Eve
1

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".

Andres Carpintero
quelle
0

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.

user2412917
quelle
1
Hallo. Wie beantwortet dies die Frage von OP?
Mołot
0

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:

  1. Aktivieren Sie das Modul bean und bean_admin_ui.
  2. Erstellen Sie einen Bean-Typ zum Hosten von Bildern.
  3. Fügen Sie ein Bildfeld hinzu. Konfigurieren Sie das Feld entsprechend Ihren Anforderungen.
  4. Erstellen Sie Blöcke des neuen Typs.
jonhattan
quelle
0

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:

  1. Aktivieren Sie das Image-Block-Modul.
  2. Navigieren Sie zu admin / build / block.
  3. Klicken Sie im Menü für lokale Aufgaben auf den Link "Bildblock hinzufügen".
  4. Konfigurieren Sie Ihren Bildblock und speichern Sie ihn.
Dekanat
quelle
0

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.

https://www.drupal.org/project/imageblock

Tano Trần
quelle
0

Es gibt viele Möglichkeiten, Bilder in Blöcken hinzuzufügen. Ein Weg ist:

  1. Erstellen Sie Inhaltstyp- und Bildfelder
  2. Erstellen Sie eine Ansicht für diesen Inhaltstyp und fügen Sie ein Bildfeld in die Ansicht ein
  3. Weisen Sie Ihrer Ansicht einen Block zu
  4. Fügen Sie ein Bild hinzu, das Sie im Block anzeigen möchten.
Birhanu
quelle