views + Internationalization

dj képe

Megakadtam. Van egy ilyen nézetem:

SELECT node.nid AS nid,
   node.title AS node_title,
   node_data_field_picture.field_picture_fid AS node_data_field_picture_field_picture_fid,
   node_data_field_picture.field_picture_list AS node_data_field_picture_field_picture_list,
   node_data_field_picture.field_picture_data AS node_data_field_picture_field_picture_data,
   node.type AS node_type,
   node.vid AS node_vid,
   node_revisions.body AS node_revisions_body,
   node_revisions.format AS node_revisions_format,
   node_revisions.teaser AS node_revisions_teaser,
   node.changed AS node_changed
 FROM drupal6_node node 
 LEFT JOIN drupal6_term_node term_node_value_0 ON node.vid = term_node_value_0.vid AND term_node_value_0.tid = 89
 LEFT JOIN drupal6_content_field_picture node_data_field_picture ON node.vid = node_data_field_picture.vid
 LEFT JOIN drupal6_node_revisions node_revisions ON node.vid = node_revisions.vid
 WHERE (node.status <> 0) AND (node.language in ('***CURRENT_LANGUAGE***')) AND (node.type in ('jegyzet', 'jegyzettagnak')) AND (term_node_value_0.tid = 89) AND (node.promote <> 0)
   ORDER BY node_changed DESC

és egy ilyen node-om:

 nid    vid     type            language title       uid  status created    changed     comment promote moderate sticky nid  translate
 193    193     jegyzettagnak   en       Teszt2 Eng  3    1      1247343587 1247343637 	0       1       0        0       193  0
 194    194     jegyzettagnak   hu       Teszt2 Hun  3    1      1247343608 1247343637 	0       1       0        0       193  0
 195    195     jegyzettagnak   de       Teszt2 Deu  3    1      1247343637 1247343637 	0       1       0        0       193  0

term_node:

 nid 	vid 	tid
193 	193 	89

content_field_picture:

 vid 	nid 	field_picture_fid 	field_picture_list 	field_picture_data
193 	193 	842 	1  	a:2:{s:3:"alt";s:4:"pics";s:5:"title";s:7:"Picture...

node_revision:

 nid 	vid 	uid 	title 	body 	teaser 	log 	timestamp 	format
193 	193 	3 	Teszt2 	fdasfdasf  dasf f ay af asd as as asd as as das da... 	fdasfdasf  dasf f ay af asd as as asd as as das da... 	  	1247343637 	1
194 	194 	3 	Teszt2 	HUN fdasfdasf  dasf f ay af asd as as asd as as da... 	HUN fdasfdasf  dasf f ay af asd as as asd as as da... 	  	1247343637 	1
195 	195 	3 	Teszt2 Deu 	GER fdasfdasf  dasf f ay af asd as as asd as as da... 	GER fdasfdasf  dasf f ay af asd as as asd as as da... 	  	1247343637 	1

A taxonómia translation mode: Localize terms. Terms are common for all languages, but their name and description may be localized.
Nyelv megállapítás: Útvonal előtagok nyelvi alapértelmzéssel.

Magyar: A nyelv domain neve: hu
Német: Útvonal előtag: de
Angol: Útvonal előtag: en

Magyarul megjelenik, de ha változtatom a nyelvet akkor üres eredményt ad vissza. Mi lehet a baj?

Előre is köszönet a fáradozásért!

Üdv!
Dudás József

Ui.: egy hétig nem vagyok, nem a neveltetésem hiányosságai miatt nem fogok válaszolni, ha kérdést intéznétek hozzám ;)

Drupal verzió: 
dj képe

hogy a term_node csak az első node-ot tartalmazza, ezért nem illeszkedik a fordításra a lekérdezés. Valahogy ezt

FROM drupal6_node node
LEFT JOIN drupal6_term_node term_node_value_0 ON node.vid = term_node_value_0.vid

kellene ilyesmire
FROM drupal6_node node
LEFT JOIN drupal6_term_node term_node_value_0 ON node.tnid = term_node_value_0.vid

fabrikálni. A node.tnid-t kellene a term_node vid mezőjével hasonlítani. Az eredeti a taxonomia term = 88 megadásával generálódik, de ez így rossznak tűnik. A node-nál fentebb véletlenül töröltem egy "t" betűt a második nid elől, az lenne a tnid.

Valakinek ötlete esetleg?

Köszönet!
Dudás József

0
0

Üdv!
Dudás József

dj képe

A nézethez még ezt hozzá kell adni:
Relationships -> Node translation: Source translation

Kap egy "Source translation" nevet a dolog, aztán a taxonomy term-nél ezt hozzá kell választani. Akkor lesz egy ilyen kedves kis SELECT belőle:

SELECT node.nid AS nid,
   node.title AS node_title,
   node_data_field_picture.field_picture_fid AS node_data_field_picture_field_picture_fid,
   node_data_field_picture.field_picture_list AS node_data_field_picture_field_picture_list,
   node_data_field_picture.field_picture_data AS node_data_field_picture_field_picture_data,
   node.type AS node_type,
   node.vid AS node_vid,
   node_revisions.body AS node_revisions_body,
   node_revisions.format AS node_revisions_format,
   node_revisions.teaser AS node_revisions_teaser,
   node.changed AS node_changed
 FROM drupal6_node node 
 LEFT JOIN drupal6_node node_node ON node.tnid = node_node.nid
 LEFT JOIN drupal6_term_node term_node_value_0 ON node_node.vid = term_node_value_0.vid AND term_node_value_0.tid = 89
 LEFT JOIN drupal6_content_field_picture node_data_field_picture ON node.vid = node_data_field_picture.vid
 LEFT JOIN drupal6_node_revisions node_revisions ON node.vid = node_revisions.vid
 WHERE (node.status <> 0) AND (node.type in ('jegyzet', 'jegyzettagnak')) AND (term_node_value_0.tid = 89) AND (node.promote <> 0) AND (node.language in ('***CURRENT_LANGUAGE***'))
   ORDER BY node_changed DESC

ami már a fordításokat is kezeli a tartalmaknál.

Üdv!
Dudás József

0
0

Üdv!
Dudás József

dj képe

Lassan komplett blogot írok ide :)

Hiába volt minden igyekezetem, hogy megfelelő lekérdezést készítsek, mert kiderült, hogy az eredeti tartalmat tnid=0 állapotban menti el a rendszer, majd a fordítások hozzáadásakor írja felül a tnid-t a saját nid-jével. Tehát fordítás nélkül nem jeleníti meg a fenti lekérdezés a tartalmakat. Elég sokat keresgéltem, de nem találtam semmi konkrétumot a miértre ezért csináltam egy setTnid nevű modult ami kezeli ezt a problémámat. Itt elérhető, ha valakinek ugyanilyen gondja támadna: http://www.buk-furdo.hu/settnid-6_x-v1_0.tar.gz

Ezzel most működik a fenti lekérdezéssel fordítás nélkül is.

Üdv!
Dudás József

0
0

Üdv!
Dudás József