Je veux ajouter une image à un bloc situé dans la première barre latérale dans Drupal 7. Est-ce que quelqu'un sait comment faire cela? Merci.
Cette réponse peut sembler inutilement complexe pour répondre à une question aussi simple, mais c'est parce que je n'ai aucun intérêt à donner des poissons, je veux enseigner la pêche.
D'autres réponses vous suggèrent d'incorporer l'image directement dans le bloc avec un <img>
tag. Personnellement, je m'oppose à cette solution car elle est "unique" et empêche le reste des fonctionnalités de votre site d'interagir avec l'image, comme le redimensionnement automatique de l'image.
Deux suggestions:
Bien que je recommande fortement d'utiliser les panneaux, c'est généralement assez compliqué à configurer et à comprendre pour les débutants Drupal, donc vous pouvez ignorer cela.
Première question - De quel type de bloc s'agit-il? Si c'est juste un nouveau bloc que vous avez créé à partir du lien "ajouter un nouveau bloc", alors vous pouvez soit utiliser du code HTML, soit en tant qu'éditeur WYSIWYG (ce que vous voyez est ce que vous obtenez) pour en mettre un dedans.
Deuxième question - Avez-vous un module WYSIWYG installé?
Un bon est l'éditeur CK situé ici
Vous aurez également besoin d'un outil de téléchargement pour télécharger vos images. Beaucoup de gens utilisent IMCE, qui se trouve ici
Si vous décidez d'utiliser CK Editor, vous devrez choisir IMCE comme outil de téléchargement de fichiers
De plus, une fois ces modules installés, vous devrez créer un format d'entrée qui permettra l'affichage des images que vous avez publiées, car l'éditeur CK et autres mettent essentiellement du HTML brut dans votre bloc
Consultez cet article ici - http://drupal.org/documentation/modules/filter . Il vous donnera le bas sur les formats d'entrée
Cela peut sembler un processus intimidant pour ceux qui commencent par Drupal, mais une fois que vous aurez compris, cela aura du sens.
Le format de texte utilisé dans le bloc devra autoriser les images. Si vous utilisez HTML filtré, vous pouvez ajouter le <img>
tag aux balises autorisées, ou vous pouvez utiliser Full HTML (généralement déconseillé, à utiliser avec prudence!). Si vous avez déjà téléchargé l'image via FTP, vous pouvez l'inclure en utilisant quelque chose comme <img src="/sites/default/files/image.jpg"/>
.
Si vous voulez pouvoir télécharger et insérer facilement des images via l'interface utilisateur, une bonne combinaison souvent utilisée est API WYSIWYG avec la bibliothèque CKeditor (ckeditor.com) et Media module. Si vous l'utilisez, ajoutez le filtre Média à votre format texte et configurez son profil WYSIWYG pour utiliser CKeditor. Vous pouvez ensuite utiliser un bouton "Navigateur multimédia" pour télécharger et insérer des images (et d'autres médias) via l'éditeur.
Je pense que maintenant dans drupal 7 une autre bonne option serait d'utiliser le module BEAN ("Bean est un acronyme qui signifie Block Entities Arn't Nodes"). Ce module n'est pas aussi simple que Imageblock mais il étend encore plus la fonctionnalité des blocs. Vous pouvez créer des "types de contenu" pour les nœuds en tant qu '"entités de bloc". Non seulement pour afficher des images, mais aussi plusieurs images ou tout autre type de champ disponible dans le système de champ drupal. J'arrive à BEAN à la recherche d'un module de type bloc d'image avec une intégration au module Média. Je vais essayer dans mon projet actuel.
Le module BEAN a également été abordé ici:
La dernière version était le 8-août-16 mais le statut de maintenance est à la recherche d'un nouveau responsable et le statut de développement est uniquement des correctifs de maintenance.
Téléchargez simplement ckeditor et installez-le sur votre drupal 7 puis installez également tous les modules correspondants U sera capable de mettre des images, même des vidéos, à n'importe quelle position dans n'importe quel bloc ckeditor. quelques erreurs, mais ne vous inquiétez pas, installez-le et réinstallez-le. J'ai utilisé ckeditor_3.6.2-3_for_drupal_7 et j'ai travaillé pour moi.
Personnellement, je n'ai jamais été fan des éditeurs WYSIWYG, je préfère plutôt coder PHP directement dans le corps. Les Drupal puritains parmi vous seront sans doute consternés par l'utilisation de PHP dans un bloc mais si ce n'est accessible qu'à l'utilisateur administrateur, ce n'est vraiment pas un problème.
Bien que toutes ces réponses soient valides et fonctionnent toutes dans leur propre cas d'utilisation, la méthode la plus simple consiste simplement à faire résider l'image dans votre répertoire de thèmes actuellement activé et à vous assurer que le champ de corps de contenu de bloc est activé pour le code [PHP .
<?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
)));
?>
Cela produira le balisage HTML;
<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">
La plupart des attributs/paramètres ne sont vraiment pas nécessaires car il fait le même travail lorsque tout ce que vous passez dans la fonction de thème est le nom du thème et le chemin et le nom de l'image. Si vous créez un site réactif, n'incluez pas les attributs largeur et hauteur, utilisez plutôt le nom de classe et définissez-le à 100% dans votre CSS, c'est en supposant que l'élément de conteneur d'image est également basé sur un pourcentage en fonction de son conteneur.
Je dois admettre cependant que le fait que la fonction theme_image()
ne produit pas d'élément d'image à fermeture automatique (<img />
) M'a toujours troublé :)
Le bloc d'image est un module où l'on peut créer un bloc simple qui comprend une image. La version 6.x de ce module s'intègre à Imagecache et 7.x aux styles d'image du module Image de base pour le dimensionnement et la manipulation dynamiques des images.
Il existe de nombreuses façons d'ajouter des images en blocs. Une façon est:
- créer le type de contenu et les champs d'image
- Créer une vue pour ce type de contenu et ajouter un champ d'image en vue
- Attribuer un bloc à votre vue
- Ajoutez une image que vous souhaitez afficher dans le bloc.
Bloc d'image module
Le bloc d'image est un module où l'on peut créer un bloc simple qui comprend une image. La version 6.x de ce module s'intègre à Imagecache et 7.x aux styles d'image du module Image de base pour le dimensionnement et la manipulation dynamiques des images.
Comment utiliser:
- Activez le module de bloc d'image.
- Accédez à admin/build/block.
- Cliquez sur le lien "Ajouter un bloc d'image" dans le menu des tâches locales.
- Configurez votre bloc d'image et enregistrez.
J'utilise une solution très rapide et facile sur mon Drupal 7.22 - Wysiwyg éditeur avec TinyMCE 3.5.8 et i ont également activé le module IMCE et IMCE Wysiwyg bridge
Vous avez ouvert
Configuration -> Création de contenu -> Profils Wysiwyg -> Sélectionner HTML complet
ou lequel utilisez-vous?
Modifier
Dans le réglage, vous devez ouvrir Boutons et plugins, que presque en bas se trouve IMCE, qui vous ajoute une icône pour utiliser son propre gestionnaire de téléchargement.
Son utilisable partout sur le site, où est disponible l'éditeur Wysiwyg.
Entrez le module bean .
Qu'est-ce que Bean? Considérez un Bean comme une méthode pour fournir de nouveaux types (par rapport au nœud, ce serait un type de contenu) qui fournit ensuite une interface d'ajout de contenu pour créer autant de blocs que vous le souhaitez. Le contenu du bean peut ensuite être placé autour du site comme n'importe quel autre bloc.
Instructions rapides: