[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
rex_article_action ? - 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/
Gort
Beiträge: 80
Registriert: 3. Aug 2006, 13:55

rex_article_action ?

27. Jan 2016, 15:04

Könnte vielleicht jemand hier so freundlich sein und mir kurz ein, zwei Beispielformulierungen für die neue "Ansprache" der Actions geben?

Bislang:

$var = $REX_ACTION['VALUE'][1];
$article_id = $REX_ACTION['ARTICLE_ID'];
$REX_ACTION['MSG'] = 'Bitte geben Sie eine Überschrift ein!';

Und nun????

Btw. Beim editieren schliesst "Aktion übernehmen" auch sofort das Fenster.

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: rex_article_action ?

27. Jan 2016, 16:23

Code: Alles auswählen

$var = $this->getValue(1);
$article_id = REX_ARTICLE_ID;
$this->addMessage('Bitte geben Sie eine Überschrift ein!');
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Gort
Beiträge: 80
Registriert: 3. Aug 2006, 13:55

Re: rex_article_action ?

28. Jan 2016, 10:57

Thanx Gregor.

... aber... hat das auch mal jemand ausprobiert?

Beim Versuch per "POSTSAVE" einen Wert auszulesen mit

Code: Alles auswählen

$test = $this->getValue(1);
bekomme ich folgendes zu sehen:

Code: Alles auswählen

"PDOException" thrown in /htdocs/rex5/redaxo/src/core/lib/sql/sql.php on line 573
SQLSTATE[HY000]: General error
Der Value existiert.

r0bert
Beiträge: 2
Registriert: 16. Mär 2016, 17:48

Re: rex_article_action ?

16. Mär 2016, 18:03

Muss mich da anschließen. Gibt es bei den Actions noch Probleme?
Ich benötige mehr Rex_Values in einem Modul und muss auf die Rex_Action zugreifen. Allerdings scheint das nicht mehr korrekt zu funktionieren oder ich mache etwas falsch. Könnte mir da bitte jemand ein funktionierendes Beispiel nennen, um dies umzusetzen?

Vielen Dank im Vorraus...

PS: Hier meine Fehlermeldung:

Code: Alles auswählen

"PDOException" thrown in /home/www/htdocs/.../redaxo/src/core/lib/sql/sql.php on line 577
SQLSTATE[HY000]: General error

#0 /home/www/htdocs/.../redaxo/src/core/lib/sql/sql.php(577): PDOStatement->fetch(2)
#1 /home/www/htdocs/.../redaxo/src/core/lib/sql/sql.php(538): rex_sql->fetchValue('value1')
#2 /home/www/htdocs/.../redaxo/src/addons/structure/plugins/content/lib/article_action.php(145): rex_sql->getValue('value1')
#3 rex://action/1/postsave(9): rex_article_action->getValue(1)
#4 /home/www/htdocs/.../redaxo/src/addons/structure/plugins/content/lib/article_action.php(74): require('rex://action/1/...')
#5 /home/www/htdocs/.../redaxo/src/addons/structure/plugins/content/pages/content.php(308): rex_article_action->exec('postsave')
#6 /home/www/htdocs/.../redaxo/src/core/lib/packages/package.php(226): include('/home/www/htdoc...')
#7 /home/www/htdocs/.../redaxo/src/core/lib/be/controller.php(401): rex_package->includeFile('pages/content.p...')
#8 /home/www/htdocs/.../redaxo/src/core/backend.php(135): rex_be_controller::includeCurrentPage()
#9 /home/www/htdocs/.../redaxo/src/core/boot.php(105): require('/home/www/htdoc...')
#10 /home/www/htdocs/.../redaxo/index.php(9): require('/home/www/htdoc...')

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: rex_article_action ?

16. Mär 2016, 18:55

@Gort: https://github.com/redaxo/redaxo/issues/661

@r0bert: Wenn du deine Version hier postest, kann ich sie dir in R5-Notation "übersetzen". Habe eine solche Action (mehr Values) noch nie selbst gebraucht.
Wenn eine POSTSAVE Actions dafür nötig ist, wird es allerdings zurzeit noch nicht funktionieren, wegen des Issues oben.
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

r0bert
Beiträge: 2
Registriert: 16. Mär 2016, 17:48

Re: rex_article_action ?

17. Mär 2016, 10:29

Hallo Gregor,

danke für die schnelle Antwort.
Also das muss leider auch im Post-Save funktionieren. Ich weiche dann erstmal auf eine andere Methode aus.

Den Originalcode habe ich von hier https://www.redaxo.org/de/wiki/index.ph ... rREXVALUES und an R5 soweit angepasst, so dass ich folgenden Code erhalte.
<?php
//Für Action - Pre- und Post-Save
$newname = "";

for ($c=0; $c < count ($rexname); $c++) {
if (isset ($rexname[$c])) {
$newname .= $rexname[$c]."~~";
}
}

if ($this->getValue(1) != "") {
$rexname = explode("~~",$this->getValue(1));
}
else {
$this->setValue(1,$newname);
}

//Im Modul Ein- und Ausgabe
$rexname = explode("~~","REX_VALUE[1]");
$GLOBALS['rexname'] = $rexname;
?>

Benutzeravatar
Gregor.Harlan
Entwickler
Beiträge: 1130
Registriert: 4. Jun 2007, 10:35
Wohnort: Frankfurt am Main

Re: rex_article_action ?

19. Mär 2016, 20:42

So nebenbei: Es wird keine Aktion mehr benötigt, um mehrere Felder gemeinsam in einem Value zu speichern. Das geht bereits seit Redaxo 4.5 ohne.

Hier ein Beispiel für R5 mit zwei Eingabefeldern, die gemeinsam in Value 1 gespeichert werden:

Eingabe:

Code: Alles auswählen

<?php $value = rex_var::toArray('REX_VALUE[1]'); ?>

foo: <input type="text" name="REX_INPUT_VALUE[1][foo]" value="<?= $value['foo'] ?? '' ?>"/><br>
bar: <input type="text" name="REX_INPUT_VALUE[1][bar]" value="<?= $value['bar'] ?? '' ?>"/>
(Wer noch nicht PHP 7 nutzt, muss $value['foo'] ?? '' durch isset($value['foo']) ? $value['foo'] : '' ersetzen!)

Ausgabe:

Code: Alles auswählen

<?php

$value = rex_var::toArray('REX_VALUE[1]');

echo 'foo: '.$value['foo'].'<br>';
echo 'bar: '.$value['bar'].'<br>';
Friends Of REDAXO: Gemeinsame REDAXO-Entwicklung!

Zurück zu „Module/Aktionen [R5]“