Выражение SSI для простого если еще

Я только что обнаружил выражения Apache SSI, и они в принципе похожи на CGI-BIN/PERL, хотя и не так элегантно, но у меня возникают проблемы с простым назначением и оценкой переменных.

Все ресурсы, которые я нахожу, используют более сложные примеры или удаляют весь код вокруг концепции, поэтому я не могу найти примеры синтаксиса для моей ситуации.

Я просто хочу иметь возможность установить переменную (желательно целое число) и оценить ее. Надежда состоит в том, что область действия набора переменных в верхнем файле будет перетекать в нижние, и я могу передавать переменные таким образом, используя веб-файлы в качестве сценариев.

Мой текущий тест SSI:

<!--#set var="page" value="0"-->
<!--#if expr="@page == '0'" -->
    <!--#include file="./layout.ssi"-->
<!--#elif expr="@page == '1'" -->
    Eat Me
<!--#else -->
    NOPE!
<!--#endif -->

1 ответ

Решение

Это кажется глупой ошибкой с моей стороны.

Решением было использовать $ для обозначения переменных в выражении. Я даже смог подтвердить, что переменные сохраняются при вызове другого файла, что позволяет переменным быть "переданными".

Правильный синтаксис для этого примера выглядит следующим образом:

<!--#set var="page" value="0"-->
<!--#if expr="$page == 0" -->
<!--#include file="./layout.ssi"-->
<!--#elif expr="$page == 1" -->
    Eat Me
<!--#else -->
    NOPE!
<!--#endif -->
Другие вопросы по тегам