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.
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/
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/
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: rex_article_action ?
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!
Re: rex_article_action ?
Thanx Gregor.
... aber... hat das auch mal jemand ausprobiert?
Beim Versuch per "POSTSAVE" einen Wert auszulesen mit
bekomme ich folgendes zu sehen:
Der Value existiert.
... aber... hat das auch mal jemand ausprobiert?
Beim Versuch per "POSTSAVE" einen Wert auszulesen mit
Code: Alles auswählen
$test = $this->getValue(1);
Code: Alles auswählen
"PDOException" thrown in /htdocs/rex5/redaxo/src/core/lib/sql/sql.php on line 573
SQLSTATE[HY000]: General error
Re: rex_article_action ?
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:
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...')
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: rex_article_action ?
@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.
@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!
Re: rex_article_action ?
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.
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;
?>
- Gregor.Harlan
- Entwickler
- Beiträge: 1130
- Registriert: 4. Jun 2007, 10:35
- Wohnort: Frankfurt am Main
Re: rex_article_action ?
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:
(Wer noch nicht PHP 7 nutzt, muss $value['foo'] ?? '' durch isset($value['foo']) ? $value['foo'] : '' ersetzen!)
Ausgabe:
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'] ?? '' ?>"/>
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!