Seite 1 von 1
Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 10:41
von flow013
Hallo Forum,
gibt es eine Möglichkeit abzufragen, ob im REX_LINK_BUTTON etwas ausgewählt worden ist, um die Fehlermeldung zu umgehen, wenn dieser leer gelassen wurde? Ich nutze REX SEO.
Dies funktioniert leider nicht:
<?php if ("REX_LINK_ID[6]" != "") { ?>
Danke im Voraus!
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 10:49
von Jan.Kristinus
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 13:36
von jasmine12
Ich habe unter das letzte Feld, was bei Dir einem div entsprechen würde ein + gesetzt und bei klick darauf wurde per Javascript ein neues input-Feld darunter generiert. Wäre das so ungefähr das, was Du brauchst, dann such ich das mal raus.
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 14:28
von flow013
Hi Jan, danke für die schnelle Antwort.
Leider löst das das Problem noch nicht.
Die Fehlermeldung lautet:
Parse error: syntax error, unexpected T_IS_NOT_EQUAL
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 14:46
von RexDude
REX_LINK_ID[x] ist leer wenn nicht ausgewählt. Ein kurzer Test zeigt, dass das geht:
Da du das oben schon probiert hast, musst du wohl irgendwo anders einen (Denk-)-Fehler haben vermute ich mal
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 15:18
von flow013
Stimmt, Danke für den Hinweis, ich habe das gerade auch getestet.
Es gibt wohl ein Problem, sobald die Ausgabe aus dem "Minibeispiel Link" aus den Modulvorlagen hinzukommt:
<?php if ("REX_LINK_ID[1]" != "") { ?>
<?php echo '<a href="'.rex_getUrl(REX_LINK_ID[1], $REX["CUR_CLANG"]).'">Mein Link</a>'; ?>
<?php } ?>
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 15:23
von RexDude
Es gibt wohl ein Problem..
Gehts etwas genauer oder erwartest du keine weitere Hilfestellung mehr?
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 15:33
von flow013
Gibt man das Minibeispiel Link aus, ohne einen Link gewählt zu haben, erscheint die Fehlermeldung:
Parse error: syntax error, unexpected ',', expecting ')'
Auch die if-Abfrage, ob die Link-ID belegt ist, ändert daran nichts.
Dieser Fehler legt die komplette Seite lahm, leider kann ich den Fehler nicht finden.
Danke für die Hilfe!
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 16:52
von runstop64
Hi, das Problem ist, dass die Rex-Variable technisch nur ein Platzhalter ist, der im Code nur ersetzt wird. Wenn sie leer ist, stimmt natürlich die PHP-Syntax nicht mehr und es entsteht ein entsprechender Fehler, auch wenn der Code-Teil nicht durchlaufen wird. Am einfachsten umgehst du das Problem, indem du die Rex-Variable erst einmal einer echten PHP-Variable zuweist. Mit der kannst Du die Abfragen dann auch ganz normal durchführen und die Syntax stimmt immer.
Code: Alles auswählen
<?php
$link_id = REX_LINK_ID[1];
if ($link_id) {
echo '<a href="'.rex_getUrl($link_id, $REX["CUR_CLANG"]).'">Mein Link</a>';
}
?>
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 25. Sep 2014, 17:00
von runstop64
Ansonsten gibt's auch noch eine Menge Manipulationsmöglichkeiten über die Redaxo-Schreibweise:
http://www.redaxo.org/de/doku/tutorials ... variablen/
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 26. Sep 2014, 12:42
von flow013
Hi Daniel!
Dickes Danke für Deine Erläuterung und das Codebeispiel!
Hab einiges dazugelernt!
VG FLOW
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 26. Sep 2014, 13:14
von flow013
Nachtrag dazu.
REX_LINK_ID muss in "" stehen bei der Variablen-Zuweisung!
Dann läuft es.
Code: Alles auswählen
<?php
$link_id = "REX_LINK_ID[1]";
if ($link_id) {
echo '<a href="'.rex_getUrl($link_id, $REX["CUR_CLANG"]).'">Mein Link</a>';
}
?>
Re: Abfrage ob REX_LINK_ID belegt
Verfasst: 10. Okt 2014, 09:13
von Thomas.Blum
Hej,
als Nachtrag. Es geht auch kürzer
Code: Alles auswählen
<?php
if ('' != 'REX_LINK[1]') {
echo '<a href="REX_LINK[1]">Mein Link</a>';
}
?>
oder gänzlich anders
Code: Alles auswählen
REX_LINK[id='1' prefix='<a href="' suffix='">']REX_VALUE[1]REX_LINK[id='1' instead='</a>']
vg Thomas