A nyelv kiválasztó mező leírása
Adott egy többnyelvű webhely, ahol az entity_translation modul segítségével a tartalmak mezőszinten fordíthatóak. Az adott tartalomtípus szerkesztésénél a "Multilingual support" részben be van állítva, hogy "Enabled, with field translation". Tehát, amikor új tartalom kerül beküldésre (node/add/típus), akkor megjelenik egy nyelvválasztó mező a cím alatt, de ennek nincs semmi leírása (#description a mezőhöz)







Jön egy olyan megoldási
Jön egy olyan megoldási javaslat, amit mások esetleg kritikára érdemesnek fognak tartani, és valszeg jogosan, mivel nem vagyok a drupal backend (sem) szakértője.
Kéne egy új régió ['ujtitkosregio'] a sminkbe, amit a page.tpl.php vége-felére raknék.
Bele menne egy blokk a következő tartalommal:
A css hozzá a következő lenne:
Ezt a blokkot amúgy értelemszerűen full html-ellel kéne menteni, vagy a legelegánsabb lehetne, ha egy saját mini-modulból lenne definiálva (akkor pl. a link href-et sem kéne hardkódolni) (meg ennyre szerteágazó funkcionalitást gondolom amúgyis átláthatóbb lenne egy kis modullá összecsomagolni).
Ezután kéne egy js, ami a #popup-close-ra kattintáskor felteszi a body-ra (vagy valami primary wrapper divre) az .azt-mondta-felnott classt, (mint ahogy a css-ben is látszik, hogy elrejti a popupot megint). Ha nem Drupal lenne, akkor mondanám, hogy ehhez a klikk-hez kell kötni a session-variable módosítását is, ami megjegyzi, hogy felnőtt (de nem ismerem, hogy a Drupalban hogy szokás bánni a sessionökkel).
Már csak két dolog kell:
Ha vágod hogy drupalban hogy kell a sessionökkel bánni, az szuper, ha nem, akkor az a következő kérdés :)
Egyébként, ha könnyebb a backenden a felnőtt-mező kipipáltságát és a session-var-t a template_preprocess_page()-ből látni, akkor az említett classokat a page.tpl.php-n belüli valamelyik fő wrapper div-re is lehet teszegetni.
Továbbá: ha ki akarod hagyni a js-t is belőle, akkor meg a #popup-close is lehetne sima link, ami meg ugyanerre a node-ra mutatna, csak már a session variable átállításával, így a backenden a node újranyitásakor már felkerülhetne a megerősítő class. Ehhez gondolom már mindenképpen saját modulból kéne definiálni a blokkot.[EDIT]: nem, ez sántít, mert közben megtudtam, hogy block-ba még modulból sem tudsz tenni linket a 'node being viewed'-ra, mivel a blokk annál statikusabb (főleg hogy lehet cache-elve is).Lehetne ezen sokat csiszolni, de a kiinduló-ötletem ez lenne. Nem próbáltam ki, szóval lehet, hogy vannak benne még leküzdendő logikai kihívások, de én ebbe az irányba küzdenék.
[Újabb EDIT]:
Kihagynám a régiót, és a blokkot is és esetleg a modult is (bár az attól függ, hogy a session kezeléséhez nem kell-e). Próbálkoznék azzal, hogy beletenném a fenti szerkezetet simán a page.tpl.php aljára.
Ez azt jelenti, hogy a body classok helyett az emlegetett helyzetjelző classokat is a page.tpl.php-ban definiált valamelyik divre tudnánk tenni. template_preprocess_html() ebben az esetben már semmire nem kell.
Úgy tűnik, hogy elérhető a felnőtt-tartalom-jelző field értéke a template_preprocess_page()-ben, ha a template_preprocess_node()-ból áttornázzuk ide.
A template_preprocess_page()-ben, ha nagyon szükséges, elérhető az éppen nézett oldal path-ja is, a request_path() vagy rokonai használatával (hogy a #modal-close-zal az aktuális 'node being viewed'-ra tudj linkelni, ha a js-t hanyagolnád).
Most már csak az a kérdés, hogy a session vart hogyan állítod, és hogy hogyan fogod látni a template_preprocess_page()-ben.