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

Post Reply
adaliska
Posts: 151
Joined: Sun Dec 23, 2012 9:20 am

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

Post by adaliska »

Первое что приходит в голову
if (!empty('<!--SPONSOR_SITE_URL-->')) { ... }
не работает, видимо потому что результат макроса - не строка, а heredoc.

Как надо делать?
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

как это понять "макроса - не строка, а heredoc" ?

покажите плз пример где максос заменен на строку, а где на на heredoc
Don't forget to run script update
adaliska
Posts: 151
Joined: Sun Dec 23, 2012 9:20 am

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

Post 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" не срабатывало? Интересует общее решение, потому что в данном частном случае можно обойти костылями.
admin
Site Admin
Posts: 37242
Joined: Wed Sep 10, 2008 11:43 am

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

Post by admin »

На старнице например категории спонсора конкретного нет
сответственно <!--SPONSOR_SLUG--> конкретнего нет и оно ничем не заменяется
соответственно строка не пуская - условие сработало

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

http://smartcj.com/wiki/doku.php?id=ru: ... 0%B8%D1%86
Don't forget to run script update
Post Reply