[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XFORM_DATA_FORM - table_name? - 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/
Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

XFORM_DATA_FORM - table_name?

2. Aug 2015, 22:17

Hallo,
ich dachte man könnte über den EP:XFORM_DATA_FORM via array-Param ('table' => $table)
den EP auch nur für die angegebene $table ausführen lassen. Bei mir wird dieser immer
in jeder xForm table ausgeführt/angezeigt .. oder muss man in der func diese $table explizit rausfiltern (if($_params['table_name] == $table) ...? :oops: :shock:

Code: Alles auswählen


if($REX['REDAXO'])
{
    $table = null;
    $table = 'rex_xform_test';
    
    function xform_getMyData($_params)
    {
        global $REX;
                
        echo rex_info("Das ist ein Test!!!");
        echo '<pre>';
        print_r($_params);
        echo '</pre>';
    }
    rex_register_extension('XFORM_DATA_FORM', 'xform_getMyData', array('table' => $table));
}
bzw. wirf es mir ja auch ein Object aus:
rex_xform_manager_field Object
Muss/Kann/soll ich hier dann unterscheiden/filtern?
Würd den EP gerne auch nur bei der jeweiligen $table ausführen lassen ... :lol:
Steh a bisserl aufm Schlauch, sry ;)

Danke schonmal für Eure Hilfe.
Grz. Chris

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: XFORM_DATA_FORM - table_name?

2. Aug 2015, 22:41

und das hier is ja nun nicht wirklich das Wahre ... oder?

Code: Alles auswählen

 if(rex_request("table_name", "string") == $table )
es sollte doch eigentlich über das OBJECT laufen ... nur wie ? ... sry...
[0] => rex_xform_manager_field Object
(
[values:protected] => Array
(
[id] => 1
[table_name] => die_andere_xForm_tabelle
grz. Chris

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: XFORM_DATA_FORM - table_name?

2. Aug 2015, 23:00

hmm..
ob das nun so richtig ist... ich weiß ned.. funzen tuts ;)

Code: Alles auswählen

if($REX['REDAXO'])
{
    $table = null;
    $table = 'rex_xform_test';
    
    function xform_getMyData($_params)
    {
        global $REX;
        
        if($_params['table']['table_name'] == $_params['my_table_name'])
        {
            echo rex_info("Das ist ein Test!!!");
        }
                
    }
    rex_register_extension('XFORM_DATA_FORM', 'xform_getCatalogData', array('my_table_name' => $table));
}
Zuletzt geändert von darwin am 3. Aug 2015, 09:23, insgesamt 1-mal geändert.

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: XFORM_DATA_FORM - table_name?

3. Aug 2015, 08:13

Hej,

so richtig habe ich noch nicht verstanden was du überhaupt machen willst.

Der Tabellenname wird beim EP mit übergeben, siehe https://github.com/yakamara/redaxo_xfor ... c.php#L567

vg Thomas

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: XFORM_DATA_FORM - table_name?

3. Aug 2015, 08:17

HI,
ja, übergeben wird er...
aber der EP wird immer in jeder xForm Tabelle /Datensatz ausgeführt. Ich dachte
wenn ich im EP die Tabelle mit anfüge, wird der EP auch nur beim Aufruf dieser Tabelle ausgeführt.
:oops: :P

grz. Chris

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: XFORM_DATA_FORM - table_name?

3. Aug 2015, 08:38

Hej,

du verwechselst da etwas. Der EP ist natürlich immer für jede Tabelle da. Wann du deine Extension an diesem EP registrierst musst du selbst entscheiden.

Wenn dies nur bei einer bestimmten Tabelle passieren soll, kann du es so machen wie du es schon probiert hast.

Code: Alles auswählen

if(rex_request("table_name", "string") == $table ) {
  rex_register_extension('XFORM_DATA_FORM', 'xform_getMyData');
}
Oder eben die if-Abfrage innerhalb deines Callbacks.

Code: Alles auswählen

$mytable = 'rex_xform_test';
    
function xform_getMyData($_params) use ($mytable) {
        
    if($_params['table']['table_name'] == $mytable) {
        // Mach was
    }
                
}
rex_register_extension('XFORM_DATA_FORM', 'xform_getMyData');
Ich würde die erste Variante nutzen, also die Extension nur registrieren wenn diese benötigt wird.

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: XFORM_DATA_FORM - table_name?

3. Aug 2015, 09:18

ahhh ...
okay. Jetzt hats geklickt.

Danke ... :D

Zurück zu „Allgemeines [R4]“