Imageattach Fieldset unsichtbar schalten - aber Klassenname fehlt
am 17.07.2010 - 12:53 Uhr in
Verwendet man das Modul "Image" und damit auch "Image attach" um Bilder an Nodes anzuhängen, wird im Node-Formular ein Fieldset ausgegeben:
<fieldset class=" collapsible collapsed"><legend class="collapse-processed"><a href="#">Angehängte Bilder</a></legend><div
...
</fieldset>Leider hat dieses fieldset keinen Klassennamen!!!
Ich muss es unsichtbar schalten, aber wie, wenn es nicht per CSS angesprochen werden kann? Ich kann auf keinen Fall alle collapsible fieldsets unsichtbar schalten, sondern nur den einen.
Gibt es eine Lösung dafür?
Merci.
- Anmelden oder Registrieren um Kommentare zu schreiben

Ohne den Hintergrund zu
am 19.07.2010 - 18:10 Uhr
Ohne den Hintergrund zu kennen waere meine erste Frage: Warum per CSS unsichtbar schalten, wenn du es einfach ausstellen kannst? Image-Attach ist ein eigenes Untermodul, dass nicht zwangslaeufig aktiviert sein muss. Zusaetzlich koenntest die Benutzereinstellungen so aendern, dass nur gewisse Leute Zugriff auf image-attach haben.
Es muss aktiviert bleiben,
am 02.08.2010 - 17:27 Uhr
Es muss aktiviert bleiben, weil hunderte alte Artikel existieren, die alle "Angehängte Bilder" haben (mit dem Image Attach Modul), jetzt aber unmgestellt wurde und neue Artikel mit dem CCK Imagefield die Bilder angehängt bekommen.
Daher: Unsichtbar schalten nur unter bestimmen Bedingungen. Die Bedingungen kann ich schon erzeugen, was noch fehlt ist das Unsichtbar schalten selbst. Am besten wär es per CSS. ABER WIE?
Gehe von der nächsten ID aus,
am 02.08.2010 - 20:31 Uhr
Gehe von der nächsten ID aus, die oberhalb des Fieldsets liegt (also ein div-block o.ä. der Dein Fieldset umschließt). Darin das Fieldset mit class collapsible und setze das auf "display:none;". Das sollte zu machen sein. Wenn es nicht genau genug ist, noch weitere Strukturinformation dazugeben etwa:
#idtag div.spezielleklasse fieldset.collapsible {display:none;
}
Beste Grüße
Werner
es gibt viele gleiche collapsible fieldsets
am 02.08.2010 - 21:02 Uhr
Das hätte ich schon längt gemacht, wenn das ginge.
Es gibt aber innerhalb dieses div mindestens 5 verschieden fieldsets mit folgendem Code:
<fieldset class=" collapsible collapsed">Dann würden all diese ausgeblendet werden. Das geht NICHT.
Das Modul, welches Dateianänge ermöglicht, macht das viel besser:
<div class="attachments"><fieldset class=" collapsible collapsed"> ...Damit kann man das problemlos unsichtbar schalten.
Stellt sich also die Frage, wie man diesen Formular-Code des Image Moduls so anpassen kann, dass man hier eine Klasse oder ein div hinzufügt!?
Wenn es eine Form ist, kannst
am 02.08.2010 - 21:39 Uhr
Wenn es eine Form ist, kannst Du mittels hook_form_alter das entsprechende Fieldset bearbeiten. Im Form-Array hat jedes Element einen eindeutigen Namen und Du kannst mittels #attributes eine Klasse zufügen:
Vorher in der original Form (fieldset heißt contact)
<?php$form['contact'] = array(
'#type' => 'fieldset',
'#title' => t('Contact settings'),
'#weight' => 5,
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
?>
In hook_form_alter dann dazu setzen
$form['contact']['#attributes'] = array('class' => 'weg-damit');Du mußt Dir dazu den Code im Image-Modul ansehen, damit Du richtig ändern kannst.
Beste Grüße
Werner