view für i18n Internationalization
Eingetragen von headkit (514)
am 03.09.2009 - 11:02 Uhr in
am 03.09.2009 - 11:02 Uhr in
hi leute!
ich arbeite an einer mehrsprachigen seite (i18n Internationalization 6.x-1.1) und möchte mir eine view bauen, in der ich alle zu einer bestimmten node zugeordneten nodes anzeigen lassen kann. in der basis-sprache funktionierts wunderbar.
Mein View-Filter:
- Inhalt: gehört zur Node (Hervorgehoben)
- Node-Typ (Referenz-Node)
- Beitragsübersetzung: Sprache in Keine Sprache, Deutsch
Nun müsste ich wohl etwas finden, das mir die zur Referenz-Node zugeordneten Übersetzungen ausfiltert.
als Filter werden angeboten:
- Beitragsübersetzung: Beitrags-ID des Übersetzungssatzes. Die ID des Übersetzungssatzes, zu dem der Inhalt gehört.
- Beitragsübersetzung: Child translation. Nodes that are translations of a source translation.
- Beitragsübersetzung: Quellübersetzung. Nodes that are either untranslated or are the original versions of a translation set.
- Beitragsübersetzung: Sprache. Die Sprache des Inhalts.
- Beitragsübersetzung: Übersetzungsstatus. Der Übersetzungsstatus des Beitrags - ob die Übersetzung aktualisiert werden muss oder nicht.
Weiß jemand, womit ich das erreichen kann?
Danke!
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich verstehe die Frage Frage
am 03.09.2009 - 11:57 Uhr
Ich verstehe die Frage Frage nicht wirklich.
Wenn Du meinst wie man Nodes die Eigenschaft der Uebersetzbarkeit zuweist dann macht man dies in der Administration der Nodetypes.
------------------------
Quiptime Group
Da geht noch was.
nein. also, ich habe so eine
am 03.09.2009 - 12:14 Uhr
nein.
also, ich habe so eine art satz von nodes:
zu jeder basis-node gehören "unternodes", die dieser basis-node per CCK zugeordnet werden
basis-node 1 vom Typ A
zugeordnete node 1 vom Typ B
zugeordnete node 1 vom Typ C
zugeordnete node 1 vom Typ D
basis-node 2 vom Typ A
zugeordnete node 2 vom Typ B
zugeordnete node 2 vom Typ C
zugeordnete node 2 vom Typ D
...
mit einer view lasse ich mir die liste aller zu einer basis-node zugeordneten nodes ausgeben:
->drop-box mit auswahl der basis-node (bspl. node1/A<-
liste:
- zugeordnete node 1 vom Typ B
- zugeordnete node 1 vom Typ C
- zugeordnete node 1 vom Typ D
nun kann man jede einzelne node übersetzen. und ich möchte die gleiche liste ausgeben lassen, aber nur die nodes anzeigen, deren sprache gewählt wurde.
Argument ist die Language ID wie de, en usw.
am 03.09.2009 - 13:05 Uhr
Wenn also im Dropdown nur Nodes mit einer bestimmten Sprache enthalten sein sollen koenntest Du eine View-Ansicht mit Argumet verwenden.
Argument ist die Language ID wie de, en usw.
Da ein Argument wie ein Filter wirkt braucht man keinen entsprechenden Filter.
------------------------
Quiptime Group
Da geht noch was.
Negation der Negation Filter
am 03.09.2009 - 13:19 Uhr
Hm, mein voriger Post ist als Lösung wohl nicht das was Du willst.
Nix Argument sondern doch Filter da Du
erreichen willst.
Wie ist es mit einem Filter nach dem Prinzip der Negation der Negation?
Löst das hier Dein Problem?
------------------------
Quiptime Group
Da geht noch was.
hm - da ich auch elemente
am 03.09.2009 - 14:00 Uhr
hm - da ich auch elemente zeigen möchte, die keiner sprache zugeorndet wurden und nicht übersetzbar sind, aber in jeder sprache erscheinen soll, denke ich nicht, dass das die lösung ist.
das komische ist ahlt auch, dass, wenn ich die source-view (also die view für die source-sprache) klone und nur die sprache im filter äneder (z.b. keine sprache + englisch), dann zeigt er mir halt nur die nodes an, die keiner sprache zugehören.
gibt es keinen weg über
am 03.09.2009 - 14:04 Uhr
gibt es keinen weg über "Beziehungen"?
wofür war das noch mal? hab ich noch nie benutzt, sieht mir aber ganz vielversprechend aus...
@headkit, Zeitverschwender!
am 03.09.2009 - 14:24 Uhr
@headkit, Zeitverschwender!
nur die nodes anzeigen, deren sprache gewählt wurde
da ich auch elemente zeigen möchte, die keiner sprache zugeorndet wurden und nicht übersetzbar sind
Formuliere Deine Threads konkreter und vor allem ueberlege vorher was Du genau fragen willst und was genau das Problem ist!
In der Form wie in diesem Thread hier verschwendest Du die Zeit der Leute die Dir helfen wollen.
------------------------
Quiptime Group
Da geht noch was.
ouh, na du bist ja heute
am 03.09.2009 - 14:31 Uhr
ouh, na du bist ja heute etwas übler gelaunt, hm?
ich danke für deine mühe, aber musst ja nich gleich so ausrasten hier.
diese option ändert gar nichts an meiner frage bzw. am lösungsweg. das ist ja nur ein häckchen mehr oder weniger im filter.
mit einer lösung, wo wiklich nur die nodes angezeigt werden, deren sprache gewählt wurde, bin ich genauso zufrieden.
also:schschsch - ruhig brauner!
Quatsch. Zitat: diese
am 03.09.2009 - 14:39 Uhr
Quatsch.
diese option änder gar nichts an meiner frage bzw. am lösungsweg
Ich sehe es durchaus so das Du Deine Fragestellung geaendert hast.
Und wenn es nichts am Loesungsweg aendert oder es "ja nur ein häckchen mehr oder weniger im filter" ist sollte es eigentlich kein Problem fuer Dich sein die Loesung zu finden.
Dann setze doch einen Haken und Du hast Deine Loesung.
PS
Screenshots liegen bei mir nicht im Dutzend auf der Platte und meine Antworttexte fuege ich nicht per Copy and Paste ein.
------------------------
Quiptime Group
Da geht noch was.
also falls ich deine zeit
am 03.09.2009 - 14:46 Uhr
also falls ich deine zeit verschwendt hab: entschuldigung.
ich sehe bisher jedenfalls für keine meiner beiden unterschiedlichen problembeschreibungen eine lösungsmöglichkeit und würde gern auf eine produktive, problembezogene diskussion zurückkehren.
sind die unternodes der
am 03.09.2009 - 14:51 Uhr
sind die unternodes der basisnode über nodereference zugeordnet?
ja. wie ist denn dieses
am 03.09.2009 - 14:57 Uhr
ja.
wie ist denn dieses ganze übersetzungssystem organisiert? da müssen die NIDs doch auch irgendwie referenziert werden.
möchtest du alle nodes in
am 03.09.2009 - 15:00 Uhr
möchtest du alle nodes in einer view ausgeben, die einer basisnode zugeordnet sind und diese auch abhängig von der sprache filtern?
ich muss das problem genau verstehen.
ja, genau das möchte
am 03.09.2009 - 15:03 Uhr
ja, genau das möchte ich.
frage mir gerne löcher in den bauch.
die basisnode ist ebenfalls übersetzt.
Hast du denn bereits
am 03.09.2009 - 15:18 Uhr
Hast du denn bereits hingekriegt, dass du alle unternodes zu einer basisnode ausgibst? (unabhängig von der sprache)
ja, auch gefiltert zur
am 03.09.2009 - 15:26 Uhr
ja, auch gefiltert zur source/basis-sprache.
das geht.
aber sobald ich den sprachfilter einer anderen sprache zuweise, zeigt er mir nichts mehr an.
ist auch irgendwie evrständlich, denn der filter besitzt ja weiterhin die einschränkung, nur nodes anzuzeigen, die zur basis-scene gehören (exposed filter: "Inhalt-gehört zur Basis-Node"). diese basis-node gehört aber zur source/basis-sprache und daher wird gar nix angezeigt...
Dann arbeitest du doch
am 03.09.2009 - 15:37 Uhr
Dann arbeitest du doch bestimmt auch mit relationships und arguments, oder?
in diesem fall hier noch
am 03.09.2009 - 15:46 Uhr
in diesem fall hier noch nicht.
in einem anderen, darauf folgenden fall dann schon - aber erstmal muss diese ausgabe stimmen...
:-)
aber wie gibst du dann die
am 03.09.2009 - 15:50 Uhr
aber wie gibst du dann die untenodes der aktuellen basisnode aus? Du brauchst doch einen referenz der aktuellen node, um die unternodes herauszufinden?
na durch den
am 03.09.2009 - 16:06 Uhr
na durch den (hervorgehobenen) filter: Filter Inhalt: gehört zur Basis-Node (field_referenz_basisnode)
Das problem ist doch, dass
am 03.09.2009 - 17:35 Uhr
Das problem ist doch, dass sobald du eine Node übersetzt, wird eine neue node erstellt. Sobald du eine unternode von einer bereits übersetzten basisnode übersetst, wird diese übersetzte unternode dem übersetzten gegenstück der basisnode zugeordnet. Du kannst also nicht die englische unternode anzeigen, die einer deutschen basisnode zugeordnet ist. (oder willst du das nicht?)
ich will eine englische
am 03.09.2009 - 18:11 Uhr
ich will eine englische unternode anzeigen, die einer englischen übersetzung einer deutschen basis-node zugeordnet ist.
Und genau das geht bei mir
am 04.09.2009 - 09:36 Uhr
Und genau das geht bei mir einwandfrei
klingt vielversprechend. und
am 04.09.2009 - 10:13 Uhr
klingt vielversprechend.
und wie?
das krieg ich ja auch noch
am 05.09.2009 - 20:14 Uhr
das krieg ich ja auch noch hin.
aber leider schließt das beiträge aus, die keiner sprache zugeordnet sind bzw. als nicht übersetzbar gekennzeichnet sind.
ich denke mal, ich muss mir ne eigene abfrage zusammenscripten. muss also tiefer in die struktur von i18n tauchen...
nun hab ich es soweit, dass
am 08.09.2009 - 13:07 Uhr
nun hab ich es soweit, dass ich über mein eigenes skript ein XML-dokument erzeuge, das über VIEWS mit dem pfad "base/%/%/xml" (%1: sprache, %2: basis-node-NID) angesprochen wird.
in den Darstellungsoptionen zum Newsfeed-Output als XML-Datei (views-erweiterung "views_bonus") habe ich "Provide as file" markiert.
nun habe ich eine extra-view erstellt, die mir eine liste aller übersetzten nodes einer sprache erstellt (pfad z.b. : xml/list/en).
auf den node-titeln liegt ein übersteuerter link (Output this field as a link): "base/en/[tnid]/xml".
eigentlich sollte jetzt ein klick auf den titel einer der in der liste angezeigten nodes ein datei-download der xml-datei gestartet werden. allerdings wird die xml-datei nur als browser-seite aufgerufen. die ausgabe stimmt zwar, aber ich benötige den link schon dringend als file-output.
hat jemand eine idee, warum das nicht funktioniert oder wie ich die ausgabe als download selbst starten kann? eventuell nen header hinzufügen?
big problem: ich möchte in
am 14.09.2009 - 19:51 Uhr
big problem:
ich möchte in meiner ausgabedatei nach Button-ID (CCK-Feld) sortieren und eigentlich klappt alles wunderbar.
nur plötzlich funktioniert USORT nicht mehr, wie es sollte bzw. wie erwartet.
ich hab das gefühl (und das tracing bestätigt das), dass in besonderen fällen ein durchgang zu wenig sortiert wird.
sowas ist blödsinn, oder?
hüüülfe!
<?php
if(sizeof($allBtns) > 0) {
echo '<!-- allBtns: '.sizeof($allBtns)." -->\n";
foreach ($allBtns as $subArr) { //for ($k=0; $k<= sizeof($allBtns)-1; $k++){
echo '<!-- size: '.sizeof($subArr)." -->\n";//echo ' <!-- Btn '.($k+1).': '.sizeof($allBtns[$k])." -->\n";
if(sizeof($subArr) > 1) usort($subArr, "cmp_btnID"); //if(sizeof($allBtns[$k]) > 1) usort($allBtns[$k], "cmp_btnID"); //
}
}
function cmp_btnID($a, $b)
{
//echo '<!-- sorting '.$a->field_button_id[0][value].' to '.$b->field_button_id[0][value].' -->'."\n";
if($a->field_button_id && $b->field_button_id) {
$varA = (int)$a->field_button_id[0][value];
$varB = (int)$b->field_button_id[0][value];
echo ' <!-- '.$varA.' / '.$varB." -->\n";
/*if ($varA == $varB) {
return 0;
}
return ($varA < $varB) ? -1 : 1;*/
return strnatcasecmp($varA,$varB);
}
}
?>
muss ich das umsortierte in
am 14.09.2009 - 20:33 Uhr
muss ich das umsortierte in ein neues array schreiben, um das ergebnis zu halten? irgendwie bleibt die sortierung nicht bestehen...
ein
<?php
foreach ($allBtnsas $sub) {
foreach ($sub as $element) {
echo $element->field_button_id[0][value].', ';
}
}
?>
nach der sortierung zeigt mir noch die alte reihenfolge an.
hm, is ja ein neues thema,
am 15.09.2009 - 08:22 Uhr
hm, is ja ein neues thema, da m,ach ich mal nen extra-strang auf: http://www.drupalcenter.de/node/21411