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

XForm - be_manager_relation - Ausgabe

Verfasst: 28. Jun 2012, 17:05
von lci
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.

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 29. Jun 2012, 20:28
von lci
Keiner eine Idee?

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

Danke
P.

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 4. Feb 2013, 19:05
von Tito
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

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 4. Feb 2013, 19:48
von Xong
Habt ihr die aktuelle XForm-Version? Ich kann das Problem nämlich nicht nachvollziehen.

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 4. Feb 2013, 20:04
von Tito
Ich glaub, ich hab nutze xForm 2.8, genaueres kann ich aber erst morgen sagen wenn ich wieder im Büro bin.

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 4. Feb 2013, 21:56
von Xong
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.

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 5. Feb 2013, 11:07
von Tito
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:

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 5. Feb 2013, 12:01
von Xong
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.

Re: XForm - be_manager_relation - Ausgabe

Verfasst: 5. Feb 2013, 13:06
von Tito
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 :(