[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XForm - be_manager_relation - Ausgabe - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
lci
Beiträge: 239
Registriert: 18. Aug 2006, 10:47

XForm - be_manager_relation - Ausgabe

28. Jun 2012, 17:05

Hallo,

ich habe folgende Frage.

Ich habe im X-Form Tabellenmanager eine Tabelle angelegt die unter anderem ein Feld
des Typs "be_manager-relation" enthält.
Wenn ich nun einen Tabelleneintrag im Detail bearbeite werden die Verküpfungen auch korrekt im
Select des Formulars angezeigt, und zwar in der Form "Künstlername [id=1]" . In der Übersicht der Tabelle allerdings wird nur die ID ausgegeben - sprich in der Spalte Künstlername stehen nur Zahlen.

Weiss jemand in welcher Datei ich das so anpassen kann, das auch in der Tabellenübersicht die ID zusammen mit dem Wert ausgegeben wird?

Vielen Dank
P.

lci
Beiträge: 239
Registriert: 18. Aug 2006, 10:47

Re: XForm - be_manager_relation - Ausgabe

29. Jun 2012, 20:28

Keiner eine Idee?

Hab mich leider schon erfolglos durch die manager Plugin Klassen gewühlt...

Danke
P.

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: XForm - be_manager_relation - Ausgabe

4. Feb 2013, 19:05

Hi Leute,
ich will diesen Post mal wieder etwas nach vorne holen, da ich das Selbe Problem habe. Und ich denke, dass es dafür eine Lösung geben sollte.
Denn ich möchte natürlich, dass die ID-Nummern in die Datenbank geschrieben werden sollten und nicht etwas der Name. In der Liste im BE sollten aber die Namen und nicht nur die ID-Nummern stehen ... die sind ja nicht so leicht verständlich wie der Name :wink:

Gesucht ist also eine Lösung, wie man in der Listenanicht der Tabelle im BE neben den ID-Nummern der Einträge aus be_manager_relation-Feldern und select_sql-Feldern diese Anzeigen lassen kann.

Ich hab leider noch nichts gefunden was funktioniert. Aber vielleicht hat jemand von Euch eine Idee.

Danke für eure Aufmerksamkeit.
Gruß
Tito

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - be_manager_relation - Ausgabe

4. Feb 2013, 19:48

Habt ihr die aktuelle XForm-Version? Ich kann das Problem nämlich nicht nachvollziehen.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: XForm - be_manager_relation - Ausgabe

4. Feb 2013, 20:04

Ich glaub, ich hab nutze xForm 2.8, genaueres kann ich aber erst morgen sagen wenn ich wieder im Büro bin.

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - be_manager_relation - Ausgabe

4. Feb 2013, 21:56

Aktuell ist Version 2.9.3.

In der Klasse rex_xform_be_manager_relation ist auch eine Methode definiert, die die Werte richtig ausliest.
Eventuell einfach mal die neueste Version installieren und schauen, ob das Problem noch besteht.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: XForm - be_manager_relation - Ausgabe

5. Feb 2013, 11:07

So, ich hab mal nachgeschaut. Ist xform 2.8 was dort läuft und nach Installationsversuch von 2.9.3 weiß ich auch warum:
xform 2.9.3 will PHP 5.3, auf dem webserver läuft aber nur 5.2.irgendwas :cry:

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm - be_manager_relation - Ausgabe

5. Feb 2013, 12:01

Naja, du kannst die Funktionalität ja auch selbst implementieren.
Du brauchst die oben verlinkte Methode und den Code ab Zeile 554 von plugins/manager/inc/data_edit.inc.php.

Außerdem solltest du darüber nachdenken, die PHP-Version umzustellen. PHP 5.2 wird schon lange nicht mehr unterstützt und die aktuelle Version ist immerhin 5.4.11.
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

Tito
Beiträge: 128
Registriert: 8. Mär 2008, 09:53
Wohnort: Aachen
Kontaktdaten: Website

Re: XForm - be_manager_relation - Ausgabe

5. Feb 2013, 13:06

Ja, das mit dem Update auf PHP 5.4. wäre ne tolle Sache. Aber der Provider will das nicht machen, er befürchtet zu viel Probleme. Ein neuer Sever ist schon angedacht, aber noch nicht entschieden :cry:

Zur Nachrüstung: ich habe den folgenden Code in die Datei xform/plugins/manager/inc/data_edit.inc.php eingebaut:

Code: Alles auswählen

if(method_exists('rex_xform_'.$field['type_name'],'getListValue')) {
    $list->setColumnFormat(
       $field["f1"],
        'custom',
        array('rex_xform_'.$field['type_name'], 'getListValue'),
        array('field' => $field, 'fields' => $fields));
    }
Leider ohne Erfolg. Dann habe ich noch den folgenden Code in die Datei xform/plugins/manager/classes/value/class.xform.be_manager_relation.inc.php eingebaut, und zwar am Ende des Scripts:

Code: Alles auswählen

function getListValue($params)
  {

    if(!isset(rex_xform_be_manager_relation::$xform_list_values[$params['params']['field']['f3']]) || count(rex_xform_be_manager_relation::$xform_list_values[$params['params']['field']['f3']]) == 0)
    {
      rex_xform_be_manager_relation::$xform_list_values[$params['params']['field']['f3']] = array();
      $db = rex_sql::factory();
      $db_array = $db->getDBArray('select id, `'.$params['params']['field']['f4'].'` as name from '.$params['params']['field']['f3'].'');
      foreach($db_array as $entry)
      {
        rex_xform_be_manager_relation::$xform_list_values[$params['params']['field']['f3']][$entry['id']] = $entry['name'];
      }
    }

    $return = array();
    foreach(explode(",",$params["value"]) as $value)
    {
      if(isset(rex_xform_be_manager_relation::$xform_list_values[$params['params']['field']['f3']][$value]))
      {
        $return[] = rex_xform_be_manager_relation::$xform_list_values[$params['params']['field']['f3']][$value];
      }
    }

    return implode("<br />",$return);
  }
(Der stammt auch aus der 2.9.3er Version)
Das Produziert aber leider nur Fehlermeldungen:
Notice: Undefined index: params in .../redaxo/include/addons/xform/plugins/manager/classes/value/class.xform.be_manager_relation.inc.php on line 434

Fatal error: Access to undeclared static property: rex_xform_be_manager_relation::$xform_list_values in .../redaxo/include/addons/xform/plugins/manager/classes/value/class.xform.be_manager_relation.inc.php on line 434
Schade eigentlich :(

Zurück zu „Allgemeines [R4]“