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: http://redaxo.org/slack/
flow013
Beiträge: 29
Registriert: 1. Apr 2013, 14:45

Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 10:41

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!

Benutzeravatar
Jan.Kristinus
Admin
Beiträge: 2166
Registriert: 24. Aug 2004, 22:11
Wohnort: Frankfurt
Kontaktdaten: ICQ Website

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 10:49

ich glaube so gehts

Code: Alles auswählen

if (REX_LINK_ID[6] != 0) 
lg
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/

jasmine12
Beiträge: 1
Registriert: 25. Sep 2014, 13:35

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 13:36

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.
jasmine

flow013
Beiträge: 29
Registriert: 1. Apr 2013, 14:45

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 14:28

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

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 14:46

REX_LINK_ID[x] ist leer wenn nicht ausgewählt. Ein kurzer Test zeigt, dass das geht:

Code: Alles auswählen

<?php if ("REX_LINK_ID[6]" != "") { ?>
Da du das oben schon probiert hast, musst du wohl irgendwo anders einen (Denk-)-Fehler haben vermute ich mal :)

flow013
Beiträge: 29
Registriert: 1. Apr 2013, 14:45

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 15:18

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 } ?>

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 15:23

Es gibt wohl ein Problem..
Gehts etwas genauer oder erwartest du keine weitere Hilfestellung mehr? ;)

flow013
Beiträge: 29
Registriert: 1. Apr 2013, 14:45

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 15:33

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!

Benutzeravatar
runstop64
Beiträge: 369
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 16:52

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>';
} 
?>
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

Benutzeravatar
runstop64
Beiträge: 369
Registriert: 23. Okt 2012, 21:34
Wohnort: Hamburg
Kontaktdaten: Website Facebook Twitter

Re: Abfrage ob REX_LINK_ID belegt

25. Sep 2014, 17:00

Ansonsten gibt's auch noch eine Menge Manipulationsmöglichkeiten über die Redaxo-Schreibweise:
http://www.redaxo.org/de/doku/tutorials ... variablen/
Viele Grüße,
Daniel


studio-ahoi.de | Referenzen | Friends Of REDAXO

flow013
Beiträge: 29
Registriert: 1. Apr 2013, 14:45

Re: Abfrage ob REX_LINK_ID belegt

26. Sep 2014, 12:42

Hi Daniel!
Dickes Danke für Deine Erläuterung und das Codebeispiel!
Hab einiges dazugelernt!

VG FLOW

flow013
Beiträge: 29
Registriert: 1. Apr 2013, 14:45

Re: Abfrage ob REX_LINK_ID belegt

26. Sep 2014, 13:14

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>';
} 
?>

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

Re: Abfrage ob REX_LINK_ID belegt

10. Okt 2014, 09:13

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

Zurück zu „Allgemeines [R4]“