Sziasztok!
Van egy egyedi tartalomtípusom, aminek van egy Multifiled-je, több al-mezővel. Van egy Link, egy Megjegyzés al-mező, és egy Választólista, ahol aktívnak, illetve inaktívnak lehet jelölni ezt a multi-mezőt. Maga a Multifield több értéket vehet fel.
Field formatter css class modul használatával szerettem volna úgy megjeleníteni a node oldalon, hogy az inaktívként jelöltek halvány szürkén látszanak.
A probléma az, hogy nem az egyes egységekre (Link, Megjegyzés, Választó mező)érvényesül a css formázás, hanem magára a Multifield-re, és mindenre, ami az alá tartozik.
Van esetleg valakinek ötlete, miként lehet ilyen megjelenítést létrehozni, vagy valahogy áthidalni a fenti problémát valami más megoldással?
Köszi előre is.
eki
Ha nem akarsz diretktben css
Ha nem akarsz diretktben css fájlban definiálni megjelenítést (pl. a sminked custom.css-ében, ha van, vagy egy alsmink létrehozásával annak css fájlában), akkor a CSS injector modul segíthet.
https://www.drupal.org/project/css_injector
Nem tudom, pontosan milyen class azonosítók vannak a Multifieldben, de szinte biztos, hogy van egy magának csoportnak, (külön, ha aktív és külön, ha inaktív), illetve van minden egyes mezőnek (sőt azon belül a labelnek és az input/checkbox stb. elemeknek).
Tehát valami ilyesmi módon tudod szabályozni:
.multifield-inactiv .field1 {
background-color: lightgray;
}
Hogy pontosan milyen azonosítók vannak, azt az oldal forrásából kiderítheted. Íly módon a legmélyebb szintig tudsz egyedileg megjelenítést beállítani.
Csökönyi Ferenc
Én ezt a modult nem javaslom.
Én ezt a modult nem javaslom.
Nagy Gusztáv
Én sem, nem is használom,
Én sem, nem is használom, csak mint létező lehetőséget írtam le. Én biztos a css fájlban oldanám meg.
Csökönyi Ferenc
Köszönöm a választ, és az
Köszönöm a választ, és az óvatosságra intést is.
A Multifield, illetve a Field formatter css class használata után így épül fel a kód:
Ebben a példában egy aktívként megjelenő Multifield-et jelenít meg, az egyedi azonosítót (aktiv) viszont nem a megfelelő helyre teszi, pl. a field-items classhoz, hanem a legfelsőhöz, vagyis magához a Multifieldhez.
Teljesen jó helyen van az
Teljesen jó helyen van az "aktiv", hiszen a Multifield-et szabályozod. Gondolom az inaktív esetében "inaktiv" szerepel, így ezt alkalmaztam a mintában..
A CSS-ben így tudsz rá hivatkozni (fontos, hogy hol van szóköz a pont előtt és hol nincs!):
Ha minden mezőt szürkévé akarsz tenni:
Ha egy-egy önálló mezőt, akkor pl. link mezőre:
Ha csak a link mező beviteli részére (a cimkére nem - értelme nem sok van, de gyakorlásnak jó):
Csökönyi Ferenc
Köszönöm, és egyben elnézésed
Köszönöm, és egyben elnézésed is kérem, mert nem írtam le az előző részbe, amit a legelején, hogy ez mindaddig működik így, amíg egy ilyen Link-megjegyzés-státusz hármast viszek fel.
Ha felteszek egy inaktívat is, akkor azt összekapcsolja, és így jeleníti meg a kezdő classt:
Az lenne a jó, ha az egyes egységekre, és nem a teljes Multifield-re. érvényesülne a beállítás.
Hapl lehetne Multifield alá még egy Multifield-et tenni, akkor bár nyakatekerten, de megoldódna a probléma, csak akkor a legfelső szintet lehetne többszörös értékkel felvinni. De sajnos nem lehet.
És ez most egy aktív vagy
És ez most egy aktív vagy inaktiv multifield csoportban van?
Tegyél be egy teljes kódrészletet, ami tartalmaz egy aktív és egy inaktív multifield csoportot.
Csökönyi Ferenc
És ez most egy aktív vagy
És ez most egy aktív vagy inaktiv multifield csoportban van?
Tegyél be egy teljes kódrészletet, ami tartalmaz egy aktív és egy inaktív multifield csoportot.
Csökönyi Ferenc
Tegnap este e-mailban
Tegnap este e-mailban folytattuk az egyeztetést, így végül sikerült megértenem a problémát.
Nos, a Multifield mdult én nem tudtam a Field Formatter CSS class modullal összehozni, nem találtam olyan beállítást a megjelenítésben, ami az egyes mezőcsoportokra eredményezte volna az osztályazonosító beszúrását.
Viszont a Field collection modullal gyönyörűen működött, ott a megjelenítésnél a Field collection item -re kell beállítani és így minden egyes csoport div-je megkapja az adott csoportban beállított class értéket.
Vagy nem kompatibilis a Multifield és a Field formatter modul egymással, vagy tovább kell próbálkozni, míg a megfelelő beállítást megtaláljuk.
Csökönyi Ferenc
Igen, ez a megoldás valóban
Igen, ez a megoldás valóban működik, köszönöm még egyszer a segítséget.
Valamiért ugyan a szerkesztő felületen nem menti el kitöltött a mezőket, viszont a kész tartalom megjelenítésénél van van lehetőség hozzáadni, szerkeszteni ezt a mezőcsoportot, így el is menti, meg is jeleníti, css-el könnyen szétválaszthatók az aktív, inaktív részek.