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

[gelöst] Image Upload in der Node-Edit-Form manipulieren! Welche Funktion?

Eingetragen von Ionit (1798)
am 05.07.2014 - 15:18 Uhr in
  • Module
  • Drupal 7.x

Hallo Freunde,

da ich kein Coder bin, habe ich hier gerade Probleme.

In einem Node gibt es ein Image-Field ... bei diesem Image-Field ist der Alt-Text aktiviert sodass er in der Node-Add/Edit-Form angegeben werden kann. Ich möchte das Formelement des Alt-Textes aber nur anzeigen/ausgeben wenn der bearbeitende User der Admin ist (also ich), normale User die die Form bearbeiten, sollen dieses Alt-Text-Element nicht angezeigt bekommen (in der Edit-Form) und können es somit auch nicht ausfüllen/ändern. Per Permissions kann man dies leider nicht steuern.

Ich habe nun gerade mit hook_form_alter versucht das Alt-Text-Element mit unset auszublenden aber leider funktioniert das nicht. Das muss doch vorm rendern gemacht werden oder nicht? Ich weiß leider nicht wo ich da ansetzen muss.

Kann mir bitte jemand von euch auf die Sprünge helfen? Muss ich eventuell an der Function theme_image oder theme_image_widget rumhacken oder wo muss ich da ansetzen?

Danke schonmal im Voraus.

Gruß Matthias

‹ fotos löschen aber nicht editieren [gelöst] Image Upload in der Node-Edit-Form manipulieren! Welche Funktion? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Kannst du hier raus

Eingetragen von Jenna (1881)
am 05.07.2014 - 16:41 Uhr

Kannst du hier raus vielleicht etwas basteln ohne zu Coden?
http://nextentity.com.au/blog/2013/apr/adding-alt-tag-title-tag-support-...

Wenn ich das richtig überflogen habe kannst du die Felder gesondert anlegen und mit field_permissions Module könntest du das Feld dann auf "admin" setzen.

Grüße Jenna

ergänzt: sorry, sehe gerade das sich der Link speziell auf das Media Modul bezieht, habe ich überlesen, das hilft dir dann vermutlich auch nicht weiter.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Jenna, danke für den

Eingetragen von Ionit (1798)
am 05.07.2014 - 17:21 Uhr

Hallo Jenna,

danke für den Hinweis.

Ich habe die Funktionen jetzt aber schon gefunden. Zum einen ist das image_field_widget_process (diese Function ist für die Alt-, Titletexte etc. verantwortlich) und zusätzlich hook_field_widget_form_alter - damit kann man steuern wann/wo das Widget geändert werden soll.

Ich code dazu gerade ein Mini-Modul zusammen und poste später noch den Code (falls das in Zukunft jemand brauchen sollte).

Gruß Matthias

Drupal rockt!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

So - fertig! Falls das in

Eingetragen von Ionit (1798)
am 05.07.2014 - 18:31 Uhr

So - fertig! Falls das in Zukunft mal jemand braucht - hier ist der Code meines Minimodules. Damit wird das Formelement des Alttextes im Node-Edit-Form nur ausgegeben wenn der bearbeitende User der Admin (uid: 1) ist. Das funzt auch für den Titletext und alle anderen Atribute ....

<?php
function MY_MODULE_field_widget_form_alter(&$element, &$form_state, $context) {
 
// If this is an image field type
 
if ($context['field']['type'] == 'image') {
   
// Loop through the element children (there will always be at least one).
   
foreach (element_children($element) as $key => $child) {
     
// Add the new process function to the element
     
$element[$key]['#process'][] = 'MY_MODULE_image_field_widget_process';
    }
  }
}

function
MY_MODULE_image_field_widget_process($element, &$form_state, $form) {
 
// unset Alt-Text if user is not admin
global $user;
if (
$user->uid != 1) {
unset(
$element['alt']);
}
 
// Return the altered element
 
return $element;
}
?>

Soweit ich das gelesen habe ist aber hook_field_widget_form_alter erst ab Drupal 7.28 verfügbar.

Drupal rockt!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • [gelöst]The file "./composer.json" is not readable.
  • [gelöst] Fragen zum update D9.5.11 zu D10.0
  • Bio von Autor-in nach jedem Artikel anzeigen
  • Es werden keine Mails von Drupal versendet
  • Erinnerungsmail aus Date field in einem content-type und einem paragraphen
  • Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • [geloest] Link in Ckeditor 5 eingeben
  • CKEditor 5 - Placeholder für Link im CKEditor von Titel in Tooltip ändern
  • Contact-Modul / Kategorien und Empfänger in Drupal 9
  • Drupal Entwickler / 100% Homeoffice gesucht!
  • Drupal 8 Entwickler/in Vollzeit in Hamburg gesucht
  • [gelöst] Module über Datenbank deaktivieren
Weiter

Neue Kommentare

  • nach dem dritten Neustart der
    vor 2 Tagen 22 Stunden
  • { "name":
    vor 2 Tagen 22 Stunden
  • Hallo Werner,
    vor 2 Tagen 22 Stunden
  • Ist composer.json eine
    vor 2 Tagen 23 Stunden
  • Wenn Du composer update
    vor 3 Tagen 3 Stunden
  • Zitat: Ich hab die Anzahl der
    vor 3 Tagen 6 Stunden
  • 2 Sprachen de/en
    vor 3 Tagen 7 Stunden
  • Können User*innen mehrere
    vor 3 Tagen 8 Stunden
  • Das bringt schon mehr Licht in die Sache
    vor 3 Tagen 9 Stunden
  • nur über Auto oder mit Referenz
    vor 3 Tagen 9 Stunden

Statistik

Beiträge im Forum: 248994
Registrierte User: 19857

Neue User:

  • oknoll
  • Gregoryabob
  • Druppi1895

» Alle User anzeigen

User nach Punkten sortiert:
wla9350
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 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