Sziasztok!
Drupal 5.x alatt volt nekem ez a kód:
<?php $vocabs = array(); foreach( (array)taxonomy_node_get_terms_by_vocabulary($nid, 3, $key = 'tid') as $term ) { $vocab = taxonomy_get_vocabulary($term->vid); if ( !isset($vocabs[$vocab->name]) ) { $vocabs[$vocab->name] = array(); } $vocabs[$vocab->name][] = l($term->name, "taxonomy/term/$term->tid"); } foreach ( $vocabs as $name => $links ) { print '<div><em>' . $name . ':</em> '; print implode(', ', $links); print '</div>'; } ?>
A szerepe az volt, hogy a 3. kifejezést kiírja a node.tpl.php - ba úgy hogy a kategória neve is ott volt pl.: Egyéb Kiegészítők: Nedves hatású
most, frissítettem a Drupal 6.x-ra mindent és ez nem működik. Kerestem a megoldást erre a dologra, de igazából 6.x alá nem találtam. google://drupal+terms+by+vocabulary
Csak olyanokat találtam ahol az összes kategória nevet és kategóriát kilistázza és nem találtam, olyat ami csak azt írná ki a node.tpl.php amit szeretnék.
A fenti kód ami a 5.x- re jó volt, szerintem nem éppen a legjobb megoldás de működött :):)
Előre is köszönöm a segítséged, üdv: viki
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
Megváltozott az API
A taxonomy_node_get_terms_by_vocabulary függvénynek megváltozott a paraméter listája.
Amíg Drupal 5-ben az első paraméternek az adott node azonosítóját várta, addig Drupal 6-ban már magát a node objektumot várja.
Tehát első lépésben:
helyett, ezt kell írni:
Egy másik változás, hogy a Drupal 6-ban már nincs taxonomy_get_vocabulary, ami viszont változatlanul maradt az a taxonomy_get_vocabularies.
Tovább nem boncolgatnám a dolgot, inkább írd le, hogy mit szeretnél megjeleníteni.
Páldi Zoltán
Van 2db szótáram és azokban
Van 2db szótáram és azokban vannak a kifejezések:
/taxonomy/edit/vocabulary/3 - Egyéb Kiegészítők: - Nedves hatású, - Száraz hatású
/taxonomy/edit/vocabulary/4 - Hajápoló: - Női, - Férfi
stb.. stb..
A fenti említett drupal 5.X kóddal ki tudtam írni vele a node.tpl.php az hogy ha kiválasztottam és bekültem egy tartalmat, de viszont a (vocabulary/4) -hez tartozó dolgokat nem írta ki ha ki is választottam ott 1-2 kifejezést.
Ezzel lehetett variálni a sorendeken is, vagy bárhova elrendezni a node.tpl.php-ban.
Egyfajta egyedi sminkelésnek is felfogható.
Megpróbálom értelmezni :)
Szóval azt szeretnéd, hogy ha beküldesz egy adott tartalom típusba tartozó tartalmat - amit akár több szótárba is besoroltál/besorolhatsz - akkor csak az általad meghatározott szótárból választott kifejezeséket/term jelenítse meg és azokat a term-eket, amelyeket nem ebből a szótárból választottál azokat pedig ne?
Tudnál egy konkrét példát mutatni?
Páldi Zoltán
Igen. drupal 5.x-re van sok
Igen.
drupal 5.x-re van sok ilyen példa pl.: itt is http://drupal.org/node/188237#comment-634460
Lehet hogy a megfogalmazásom rossz volt van nem érthető de annyit gondolkozok és agyalok ezeken a dolgokon, hogy már beteges. + éjszaka mikor lefekszek, akkor meg a drupal-al álmodok ahhhhhh....... még álmomban is a menüket nyomkodom ...........
Az acquia_marina smink tud ilyet
Csak kicsit összetettebb a dolog mert ott admin felületről lehet szabályozni a megjelenést
template.php
A példa itt van
Szia!
Itt ki tudod próbálni:
http://vikicica22.extra.hu/
Felhasználói név: demo
Jelszó: demo
Variáld a kifejezéseket. Ez az oldal drupal 5.x-es, és ugye ezt szeretném 6.x-re tenni.
Itt egy 6.x-es kód de ebben nincsen konkréten megadva az, hogy pl. csak a vocabulary/3 legyen ki írva.
esetleg
template.php
egy "eredeti" node.tpl.php -ba csak ennyit pluszt kell írni
if ($taxonomy_spec) echo '<div>', $taxonomy_spec, '</div>';
mezősítsed a szótáraidat
content_taxonomy modullal "mezősítsed" a szótáraidat, ezek után ugyan úgy állíthatod a sorrendet/megjelenésüket, mintha sima cck mezők lennének.
7.x -ben meg úgyis mező lesz a taxonomy is, úgyhogy legalább szokod ;)
-
clear: both;
Kipróbáltam és tényleg jó ez
Kipróbáltam és tényleg jó ez a content_taxonomy modul, de csak drupal 5.x alatt mert drupal 6.x alatt már nekem nem működik :(
5.x alatt tökéletesem működik az adatok megjelentenek a mezőkben de már ezek az adatok a 6.x alatt nem jelenik meg a frissítés után csak akkor ha újra bejelölöm azokat és beküldöm, de hiszen éppen az a lényege ennek, hogy ne keljen újra minden egyes node-on végig menni. Kipróbáltam frissítés nélkül a 6.x alatt de úgy is ugyanazt a jelenséget produkálta, majd ezek után mindenféle variációt és kombinációt is kipróbáltam már ezzel kapcsolatban de semmi.
Esetleg tudnál ebben segíteni, hogy te hogyan csináltad és melyik modullal (6.x-1.0-rc2)?? egy régebbi 6.x modult is feltettem de szintén ugyan ez történt vele.
"Többes értékek" pipa lehetőség van a 5.x alatt de pl. ez már nincsen a 6.x -ben.
Esetleg valami kiegészítő modult fel kell tenni, hozzá, hogy tökéletesen működjön?
Várom a válaszod és előre is köszönöm a segítséged.
CCK-val hozzá kell adni
A content taxonomy egy új field típust biztosít. Hozzá kell adni külön a node-hoz.
Ez azt csinálja, hogy egy új adatbázis mezőt hoz létre. Ennek az a hátránya, hogy nem veszi át a term táblából automatikusan az eddigi term bejegyzéseket.
Illetve, a mezőnél be kell állítani (már ha kell, persze), hogy a term táblába is jegyezze be a termeket, ne csak ebbe az újonnan létrejött mezőbe.
Röviden: egy jól irányzott sql-el helyre tudod tenni a dolgokat és utána már működni fog a dolog. Pont most kellett egy ilyet csinálnom.
A tábla szerkezetet ismerve nem túl bonyolult egy ilyet megírni.
Elméletileg, a content taxonomy modul is megcsilhatná ezt automatikusan... Lesz egy kis időm, akkor belenézek a modulba. De addig is, tábla szerkezetét mutasd meg.
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
Mindent úgy csináltam,
Mindent úgy csináltam, ahogyan Te és aboros is leírta, csak éppen nem tudtam megfogalmazni jól a dolgokat sajnos.
Akkor kiderült, hogy a 6.x változatban nem viszi át automatikusan a dolgokat, hanem csak, úgy ha a mysql - be is belenyúlok.
"De addig is, tábla szerkezetét mutasd meg" itt az egész msql-re gondolsz vagy azon belül melyik részt kell, hogy ide kimásoljam neked?
+ még egy kérdés a drupal 5.x -ben van olyan hogy "Többes értékek" ez a lehetőség nincsen meg a 6.x ben vagy csak én nem vettem észre?
Elég az a tábla
"De addig is, tábla szerkezetét mutasd meg" itt az egész msql-re gondolsz vagy azon belül melyik részt kell, hogy ide kimásoljam neked?
Elég az adott tartalom táblája. A term tábla mindenütt ugyanaz.
A +-ra nem tudom a választ, 5-ös drupalt nem is láttam. :)
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok
micsoda hanyas verzió?
én használom ezt és hibátlanul megy.
parába is lennék, ha nem lenne ez a modul.
viszi a term táblába is.
persze ha úgy kapcsolod be és raksz be mezőt egy típusba, hogy már van olyan nodeod ezer meg azok termekhez is vannak rendelve, akkor a már létező term értékeket lehet nem veszi fel az új meződ.. sose próbáltam ezt. ez a hiba?
-
clear: both;
Igen ez a hiba:)Furcsállom,
Igen ez a hiba:)
Furcsállom, hogy a drupal 5.x (content_taxonomy-5.x-1.x-dev.tar.gz) alatt tökéltessen, átviszi, a meglévő dolgokat = megjegyzi a „term”eket, míg a drupal 6.x (content_taxonomy-6.x-1.0-rc2.tar.gz) alatt nem.