Page 1 of 1

Как проверять поле на непустое значение?

Posted: Mon Jan 28, 2013 7:35 am
by adaliska
Первое что приходит в голову
if (!empty('<!--SPONSOR_SITE_URL-->')) { ... }
не работает, видимо потому что результат макроса - не строка, а heredoc.

Как надо делать?

Re: Как проверять поле на непустое значение?

Posted: Mon Jan 28, 2013 1:38 pm
by admin
как это понять "макроса - не строка, а heredoc" ?

покажите плз пример где максос заменен на строку, а где на на heredoc

Re: Как проверять поле на непустое значение?

Posted: Mon Jan 28, 2013 6:26 pm
by adaliska
Про heredoc это моё предположение, я его не утверждаю.

Вот пример: на сайте футер представлен общим темплейтом - общим для всех страниц. В нём примерно такой кусок кода:

<? if ('<!--SPONSOR_SLUG-->') { ?><a href="/go/<!--SPONSOR_SLUG-->"><!--SPONSOR_NAME--></a><? } ?>

Предполагается, что если sponsor_slug есть и он не пустой, то будет выведена эта ссылка. Это прекрасно работает на странице просмотра галереи, но на других страницах (список галерей, морда, категории и т.д.) где нет спонсора - выдаёт такой код с необработанными макросами:

<a href="/go/<!--SPONSOR_SLUG-->"><!--SPONSOR_NAME--></a>

В связи с чем и вопрос: а как надо делать, чтобы на таких страницах условие "if" не срабатывало? Интересует общее решение, потому что в данном частном случае можно обойти костылями.

Re: Как проверять поле на непустое значение?

Posted: Mon Jan 28, 2013 6:45 pm
by admin
На старнице например категории спонсора конкретного нет
сответственно <!--SPONSOR_SLUG--> конкретнего нет и оно ничем не заменяется
соответственно строка не пуская - условие сработало

Пример общего решения

http://smartcj.com/wiki/doku.php?id=ru: ... 0%B8%D1%86