[gelöst] Inhalt eines Feldes in einem zweiten darstellen lassen
Eingetragen von fraweg (230)
am 26.01.2012 - 20:13 Uhr in
am 26.01.2012 - 20:13 Uhr in
Hallo zusammen,
ich habe mal eine Frage. Gibt es ein Modul was den Inhalt von einem Feld A automatisch in einem Feld B dastellt?
Danke für jede Hilfe
- Anmelden oder Registrieren um Kommentare zu schreiben
ich gehe mal davon aus, dass
am 27.01.2012 - 14:49 Uhr
ich gehe mal davon aus, dass Feld A ein CCK-Eingabefeld ist und Feld B auch.
mit Computed-Fields
kannst du dann problemlos den Inhalt von Feld A auch in Feld B einfügen.
Allerdings erschließt sich mir der Sinn nicht....
aber das kann ja noch kommen :-)
liebe Grüße
Berthold
Drupal Video-Tutorials
Hallo Berthold,vielen Danke
am 27.01.2012 - 15:25 Uhr
Hallo Berthold,
vielen Dank für deine Antwort! Wenn ich dieses Problem lösen könnte, wäre mir wirklich sehr geholfen!
Zunächst einmal: Es haldelt sich bei dem Feld um eine Fieldlist, wo die Einträge mit mit einer Selectbox ausgewählt werden können.
Zu den Gründen:
Ich arbeite mit dem Module Profile2 und verschiedenen Rollen und Rechten. Mein Problem ist nun, dass die Felder welche ich mit dieser Methode (filedlist,selectbox,profile2) anlege nicht von der search-api gefunden werden. Wenn es ein reines Textfeld ist klappt dieses. Nun habe ich festgestellt, dass wenn ich die Methode im "normalen" Account anwende also (fieldlist,selectbox) dass es dann mit der Suche durch Search-Api klappt. Nun war meine Idee ein "Workarround" ( ob dieser nun gut ist oder nicht würde ich dann sicher festellen ;-) ).
Zu dem Workarround: Ich habe sowohl eine fiellist im Account als auch im Profile2. Wobei die liste im Account versteckt ist. Wenn nun im Profile2 etwas ändere und es parallel im Account gesetzt wird, würde es von der Suche gefunden werden. Ich könnte dann die suche mit Search-Api so ausbauen, dass nur der etwas in der Suche zu sehen bekommt der es auch soll.
Ich hoffe ich konnte den Wahnsinn meines Vorhabens einigermaßen darlegen :-D
Wäre dir wirklich sehr dankbar für etwas unterstützung im Bezug auf Computed-Fields (insofern es überhaupt geht).
Liebe Grüße
Frank
aha ich verstehe... in der
am 27.01.2012 - 15:33 Uhr
aha ich verstehe...
in der Tat, das macht Sinn.
ich denke mal mit computed-Field kommst du da gut hin.
du kannst ja einfach den Wert aus der Select-Box in das computed Field schreiben.
Ich habe das gerade noch einmal gestestet: das Computed Field wird mit durchsucht.
lieben Gruß
Berthold
Drupal Video-Tutorials
Danke für deine Antwort...
am 27.01.2012 - 16:01 Uhr
Danke für deine Antwort... das hilft mir gerade sehr. Ich habe mal das Modul installiert bin mir aber über die syntax noch nicht ganz im klaren.
Das Feld hat z.B. folgende Parameter:
LABEL: Music
NAME: field_music
FIELD: List (text)
WIDGET: Check boxes/radio buttons
In der Liste sind folgende Begriffe enthalten:
Rock
Pop
Classik
Soul
Jazz
Das im Computed Field sieht bei mir erst einmal so aus.
Computed Code (PHP)
$entity_field[0]['value'] = "";
Display Code (PHP)
$display_output = $entity_field_item['value'];
Brauche ich das damit es von Search_api gefunden wird?
Store using the database settings below (required for Views use):
Database Storage Settings
Data Type
varchar
text
longtext
int
float
decimal
The SQL datatype to store this field in.
Was muss jetzt wo genau rein bzw ersetzt werden?
Nochmals besten Dank für die Hilfe!
Lieben Gruß
Frank
genau und unter dem Computed
am 27.01.2012 - 16:16 Uhr
genau und unter dem Computed Code(PHP) - dort kannst du mit PHP die Ausgabe so hinkneten, wie du möchtest - steht doch:
Some variables available to your code include: $entity, $entity_type, $entity_lang, &$entity_field and $langcode. To set the value of the field, set $entity_field[0]['value'].
For multi-value computed fields continue with $entity_field[1]['value'].
Here's a simple example which sets the computed field's value to the value of the sum of the number fields (field_a and field_b) in a node entity:
$entity_field[0]['value'] = $entity->field_a[LANGUAGE_NONE][0]['value'] + $entity->field_b[LANGUAGE_NONE][0]['value'];
also ein Beispiel, wie man das macht.
lieben Gruß
Berthold
Drupal Video-Tutorials
Danke nochmals für deine
am 27.01.2012 - 17:09 Uhr
Danke nochmals für deine Geduld!
mir ist einfach noch nicht klar was genau jetzt wo hin muss. Im Grunde heißt das Feld ja Musik. Muss ich das nun eintagen oder field_music oder die Einträge welche in der Fieldlist sind?
Dann noch die Frage ob ich dieses hier brauche,
Store using the database settings below (required for Views use):
damit es von der Search_Api gefunden wird?
Lieben Gruß
Frank
Hallo nochmals, ich glaube
am 28.01.2012 - 14:47 Uhr
Hallo nochmals,
ich glaube ich bin einfach zu blöd. Ich habe jetzt folgendes probiert:
1.
Computed Code (PHP)
$entity_field[0]['value'] = $entity->field_music[0]['value'];
Display Code (PHP)
$display_output = $entity_field_item['value']
Diese erste Variante ist so wie ich es durch das nachlesen im Web verstanden habe!
2.
Computed Code (PHP)
$entity_field[0]['value'] = $entity->field_music[0]['Music'];
Display Code (PHP)
$display_output = $entity_field_item['Music']
3.
Computed Code (PHP)
$entity_field[0]['value'] = $entity->field_Music[0]['value'];
Display Code (PHP)
$display_output = $entity_field_item['value']
4.
Computed Code (PHP)
$entity_field[0]['value'] = $entity->field_music[0]['value'];
Display Code (PHP)
$display_output = $entity_field_music['value']
Habe ich da irgendwo etwas richtiges dabei?
Bin am verzeweifeln...nichts hat bisher funktioniert...
Wäre super, wenn mir da ein "wissender" weiter helfen könnte
Viele Grüße
Frank
Wie die genaue Bezeichnung
am 28.01.2012 - 15:03 Uhr
Wie die genaue Bezeichnung für das Feld, welches du ausgeben möchtest, ist, kannst du leicht sehen, wenn du das Devel-Modul installierst.
Wenn du dann einen Inhalt aufrufst, dann gibt es ja oben so zwei (mit dem Devel-Modul) drei Reiter (Ansicht, Bearbeiten, Devel).
Wenn du auf Devel klickst, dann müsstest du die genaue Bezeichnung für dein Feld sehen können.
Ich würde auch mal bei der 0 ein paar einfache Anführungszeichen hinzufügen, also nicht 0 sondern '0'
Vielleicht hilft das ja schon :-)
Du kannst auch mal in der Protokoll-Datei nachschauen, was für Fehler beim "errechnen" des Feldes aufgetreten sind. Das mag auch weiterhelfen.
lieben Gruß
Berthold Lausch
Drupal Video-Tutorials
Hallo und nochmals Danke für
am 28.01.2012 - 15:52 Uhr
Hallo und nochmals Danke für deine Mühe!
Das Feld heißt wie oben schon beschrieben "field_music" und als Bezeichnenden Namen "Music".
Kannst du mir noch sagen, welche von meinen probierten Varianten die richtige ist? Oder ist die richtige noch garnicht dabei? Wenn nicht kannst du sie mir hier korrigieren?
Ach ja...In den Logs standen keine Felermeldungen.
Lieben Gruß,
Frank
niemand kann dir sagen, wie
am 28.01.2012 - 16:07 Uhr
niemand kann dir sagen, wie die "richtige" Bezeichnung für deine Felder ist.
Aber dafür gibt es ja das Devel-Modul, welches diese Infos verfügbar macht.
Drupal Video-Tutorials
@torfnaseZitat:Das Feld
am 28.01.2012 - 16:31 Uhr
@torfnase
Das Feld heißt wie oben schon beschrieben "field_music"
Vielleicht habe ich mich ja missverständlich ausgedrückt aber danach habe ich nicht gefragt!
Ich habe gefragt, welche von den oben beschriebenen Varianten die richtige ist oder wie es mit der Erkenntniss das dieses Feld "field_music" heißt richtig stehen müßte.
Viele Grüße
Ich habe hier gerade im Forum
am 28.01.2012 - 16:30 Uhr
Ich habe hier gerade im Forum folgendes gefunden:
http://www.drupalcenter.de/node/28322
Demnach müßten meine Angaben folgendermaßen aussehen:
Computed Code (PHP)
$entity_field[0]['value'] = $entity->field_music[0]['value'];
Display Code (PHP)
$display_output = $entity_field_item['value']
Da gibt es aber leider keine Ausgabe. Ist da noch ein fehler drin (Also jetzt mit der Vorraussetzung, dass das Feld "field_music"heißt) Ich frage mich eh wie das ganze so gehen soll. Ich kann doch ein Feld als vorlage ein zweites mal mit einem anderen Label nutzen. Wie unterscheidet das denn computed_field? Oder geht das ganze jetzt nicht weil es um ein User-Account bzw. Profilseite geht?
Viele Grüße
Soo nun bin ein Stück
am 28.01.2012 - 17:16 Uhr
Soo nun bin ein Stück weiter..
Das was ich feststellen mußte gefällt mir aber garnicht. Wenn ich das ganze in der Useraccountseite mache klappt alles wunderbar. Mache ich es im Profile2 bereich geht garnichts.. weder kommen Informationen aus einem Feld heraus noch gehen welche hinein..
Aber danke für eure Unterstützung!
Viele Grüße
Frank
Hallo nochmal,@ BertholdDu
am 28.01.2012 - 22:57 Uhr
Hallo nochmal,
@ Berthold
Du sagtest ja, dass es bei dir mit der fieldlist geklappt hat. Bei mir wird nur ein Eintrag aus der Liste angezeigt. Muss ich da noch etwas beachten? Wäre sehr nett, wenn du dazu nochmal kurz etwas sagen kannst.
Danke schonmal im Vorraus!
Viele Grüße
Frank
Edit:
Habe das nun auch verstanden. Habe einfach die einträge kopiert und die Zahl geändert:
1.
Computed Code (PHP)
$entity_field[0]['value'] = $entity->field_music[0]['value'];
$entity_field[1]['value'] = $entity->field_music[1]['value'];
$entity_field[2]['value'] = $entity->field_music[2]['value'];
usw.
Display Code (PHP)
$display_output = $entity_field_item['value']
Oder gibt es da noch andere Wege?