Taxonomy tagok egyedi stílussal

tiburi képe

Sziasztok,
szeretném az egyik oldalon egy speciális taxonomy vocabulary tag-jeit külön stílusban megjeleníteni a felületen.
D7-re van egy csomó modul, ami a blokkok, nézetek, panelek egyedi css beállítását teszik lehetővé de taxonomy-ra nem találtam.

A feladat tehát, hogy kb. 6-10 egyedi taxonomy-hoz css class-t rendeljek.
Hogy a legegyszerűbb?
Köszönöm!

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
Phoere képe

Ez egy taxonomy menüben lévő kifejezésekre kellene?

ha igen akkor Menu CSS Name modul lehet jó neked, ez minden egyes menüelemnek egyedi CSS nevet ad, így a taxonómia menü elemeinek is.

1
0

Csökönyi Ferenc

tiburi képe

Szia,
telepítettem.
Azt írják, hogy "There are no admin settings for this module, it starts doing its work once the module is enabled."
A bajom, hogy semmi sem történik. Nekem a primary linkek már szerkeszthetők egy smink-beállítás miatt (TB Sirate megamenu). Most csak annyi kéne, hogy bizonyos tageknek adjak egyedi css classt. A taxnomy beállításaiban azonban nem jelenik meg új opció erre vonatkozóan.
Még tudnál egy jó tippel ebben segíteni? :)
Köszönöm!

0
0
Phoere képe

Annyi történik (lehet, hogy kell egy cache ürítés), hogy minden li kap egy egyedi id értéket, pl
li id = "menu-65-1"

Nézd meg az oldal forrását, abban láthatod.

1
0

Csökönyi Ferenc

tiburi képe

Hú, köszi.
Érdekes amúgy, mert nálam a tag-ek elemek között vannak (nyilván mindebn tagre ugyanazzal a class-el), így nem műxik a dolog. A views-ban pedig a "Customize field HTML" HTML element-jeiben , ,

, adható meg. Gondolom itt kéne a

  • felsoroló opció, ami nem szerepel lehetőségként.

    Talán a Views FORMAT-ban kéne megadnom hogy HTML elements (list), ami nem jöhet szóba, mert egy spéci fluid grid nézet van belőve és a stílus-megjelenítések arra vannak konfigurálva.

    A stackexchange.com oldalon láttam ugyanezt a kérdést és ott a context modult ajánlják, amit nem szívesen lőnék most be, mert ha tudom, akkor az egész szájtot context modullal konfigurálom már az elején.

    Itt van még egy leírás, ebben az esetben a template.php-ba javasolt az alábbi kód beillesztése:

    1. function mytheme_preprocess_html(&$variables) {
    2. if(arg(0)=='node' && is_numeric(arg(1))) {
    3. $node = node_load(arg(1));
    4. $results = _mytheme_taxonomy_node_get_terms($node);
    5. if(is_array($results)) {
    6. foreach ($results as $item) {
    7. $variables['classes_array'][] = "taxonomy-".strtolower(drupal_clean_css_identifier($item->name));
    8. }
    9. }
    10. }
    11. }
    12.  
    13. function _mytheme_taxonomy_node_get_terms($node, $key = 'tid') {
    14. static $terms;
    15. if (!isset($terms[$node->vid][$key])) {
    16. $query = db_select('taxonomy_index', 'r');
    17. $t_alias = $query->join('taxonomy_term_data', 't', 'r.tid = t.tid');
    18. $v_alias = $query->join('taxonomy_vocabulary', 'v', 't.vid = v.vid');
    19. $query->fields( $t_alias );
    20. $query->condition("r.nid", $node->nid);
    21. $result = $query->execute();
    22. $terms[$node->vid][$key] = array();
    23. foreach ($result as $term) {
    24. $terms[$node->vid][$key][$term->$key] = $term;
    25. }
    26. }
    27. return $terms[$node->vid][$key];
    28. }

    Ez pedig a CSS beállítás hozzá példának:

    1. .taxonomy-term-1 .main-container h2, .taxonomy-term-1 .navbar .nav li.expanded.active-trail a,
    2. .taxonomy-term-2 .main-container h2, .taxonomy-term-2 .navbar .nav li.expanded.active-trail a,
    3. .taxonomy-term-3 .main-container h2, .taxonomy-term-3 .navbar .nav li.expanded.active-trail a{
    4. color: #FFFFFF;
    5. }

    Itt csak az nem tiszta, hogy pontosan hova is kell tenni a kódot? A template.php-be téve elszáll (mytheme rész átírása mellett) az oldal.
    Próbáltam a preprocess_functions.inc fájllal is, de ugyanúgy elszáll..

  • 0
    0
    tiburi képe

    A fentebb nem látható részekben DIV, SPAN, P elementeket írtam. Azok tűntek el.

    0
    0
    Phoere képe

    A modul annyit tesz, hogy minden menü li tagja megkapja id-ként a saját azomosítóját, függetlenül attól, hogy hogyan jön létre a menü. Ilyen nincs az alap menu modulban.
    Tehát a Taxomomy menu modul használata esetén a taxonómia menüre is érvényes lesz. És itt nincs semmilyen nézet, nem nyúltam bele template-ba stb.

    A CSS-ben pedig egyszerűen pl. a li.menu-65-1 {} utasítással hivatkozhatsz.

    Erre jó ez a modul, nálam működik. Nézetet legfeljeb a taxonomy/term olalra készítettem.

    Ezért kérdeztem, hogy menüben akarod-e az egyedi CSS azonosítót.

    0
    0

    Csökönyi Ferenc

    tiburi képe

    Szia, köszi, nem nem menübe, hanem csak úgy.

    Egyes nézetekhez fontos, hogy pl a "Matek" tag fekete hátteres legyen fehér betűkkel, a "Kémia" tag pedig piros hátterű sárga betűkkel (ez csak példa).
    Ezek nincsenek menüben, hanem tag-cloudba, vagy valamelyik nézetben jelennek meg egy tax-field-ben.
    Tehát nekem nincs taxonomy menüm. Nekem global kéne valahogy kezelnem pár tag-et (menütől függetlenül).

    0
    0
    Phoere képe

    Értem.

    Nézetben még azt kellene megnézni, hogy rejtett mezőként hozzáadva a term ID-et, vezérjelként tudod-e valahogy használni, esetleg akár a kimenet átírása részt előszedve.

    Mondjuk így írod át az adott mező kimenetét a nézetben (persze a vezérjel neveket most csak meghasalom):
    <span class="term-[term_id]">[field_term]</span>

    És akkor belecsempésztél egy egyedi span osztályt.

    Egy próbát talán megér.

    1
    0

    Csökönyi Ferenc

    Phoere képe

    A smink template.php-jába, de mindenképpen egy alsminkkel érdemes megoldani, tehát annak a template.php-jába. Egy smink frissítés és elvesztettél minden módosítást, amit az eredeti sminkben csináltál.
    A CSS-t pedig az alsmink css-fájlába.

    Egyébként ez lenne a korrekt megoldás, tehát valamit elírtál szerintem. Ha jól csinálod, ennek működnie kellene.

    0
    0

    Csökönyi Ferenc

    Phoere képe

    Moderációra ment az előző írásom.

    Röveiden: a Menu CSS Name modult nézd meg, hátha pont az kell neked.

    0
    0

    Csökönyi Ferenc

    pp képe

    elfogadtam.

    Hasonló szöveggel küldtél be egy linket is tartalmazó hozzászólást egymás után kétszer, rövid időn belül(egy másik topic-ban is ajánlottad ezt a modult). Gyanús. :D

    pp

    1
    0
    Phoere képe

    Mivel elakadt a folyamat itt, valószínűleg nyomtam egy Vissza vagy Frissítés gombot, azért duplázódott.

    A másik topicban meg olyan kérdést tettek fel, amire ugyanazt tudtam ajánlani.

    (Sajnos, nem kapok jutalékot a modul ajánlásáért. :) )

    0
    0

    Csökönyi Ferenc

    szt képe

    A Field Formatter CSS Class modul a nodeban szereplő taxonomy értékét teszi be class-ként, esetleg ez is jó lehet.

    0
    0