PDA

Просмотр полной версии : if .... else .... ?


enot
22.05.2008, 02:41
написал я вот такой код

plugin.tt_news.displaySingle.author_stdWrap {
typolink >
typolink.parameter = 168
typolink.additionalParams >
typolink.additionalParams.field = new_field
typolink.additionalParams.wrap = &tx_plugin_pi1[uid]=|
typolink.if {
isTrue.field = new_field
}
wrap = <p class="news-single-author">Автор:&nbsp;|</p>
}

т.е. если у новости заполнено поле new_field то ссылка с поля "автор" будет на страницу 168 плюс дополнительные параметры.
это работает. замечательно!!!
но если поле new_field не заполнено то ссылка не формируется.
как это изменить?
т.е. если поле new_field не заполнено, то я хочу строить ссылку по другому.
фактически надо конструкцию if... else....

помогите, люди добрые, а то сил уже нет моих никаких......

Uruguaygrep
22.05.2008, 12:49
посмотрите в документации оператор
negate
Именно для if ( есть еще для работы с IMAGE)
По моему он должен вам подойти.

void
22.05.2008, 13:34
Попробуйте так:
author_stdWrap.cObject = COA
author_stdWrap.cObject.10 = TEXT
author_stdWrap.cObject.10{
typolink.parameter = ...
required = new_field
}
author_stdWrap.cObject.20 = TEXT
author_stdWrap.cObject.20{
typolink.parameter = ...
if{
isTrue.field = new_field
negate = 1
}
}

enot
23.05.2008, 01:10
спасибо огромное!!!!

только с tt_news так не получается.
в коде tt_news есть строка
$newsAuthor = strlen($row['author'])?$this->local_cObj->stdWrap($row['author']?$row['author']:'',$lConf['author_stdWrap.']):'';

а функция stdWrap не умеет обрабатывать COA

void
23.05.2008, 13:27
stdWrap умеет обрабатывать и COA, и всё что угодно...