2014-12-22 1 views
0

Я хочу выполнить запрос с помощью typoscript. Мой запрос:Typoscript вопрос с GP vars?

SELECT * FROM TABLE where sld like '{GP:SID}'. Я хочу деформировать переменную SID внутри одной/двойной кавычек. Пробовал сценарий ниже, но не работал для меня.

lib.products = CONTENT 
lib.products { 
    table = TABLE 
    select { 
    pidInList = 26506 
     orderBy = name 
     where = sid like '{GP:SID}' 
    } 
    renderObj = COA 
    renderObj { 
    10 = COA 
    10 { 
    10 = TEXT 
    10.dataWrap ={field:name}[\n] 
    } 
    } 

}

Может ли мне помочь с этим?

+0

Пожалуйста, не задавайте одни и те же вопросы на нескольких досках. Вы уже отправили тот же ответ от другого человека в список рассылки TYPO3 CMS. Теперь двум людям потребовалось время, чтобы ответить вам, хотя хотя бы один из них мог помочь кому-то другому. Пожалуйста, задавайте свои вопросы в одном месте за раз. – pgampe

+0

@pgampe В следующий раз я позабочусь об этом. – Siva

ответ

5

Вы код небезопасен! Не используйте его при производстве.

Вместо этого вы должны использовать TS query markers, который использует подготовленные операторы в фоновом режиме.

lib.products = CONTENT 
lib.products { 
    table = TABLE 
    select { 
    pidInList = 26506 
     orderBy = name 
     where = sid like '###sid###' 
     markers { 
     sid.data = GP:SID 
     } 
    } 
    renderObj = COA 
    ... 
} 

Кроме того, если вы хотите использовать LIKE, вам нужно знак%, чтобы заставить его работать, в противном случае оно такое же, как «равно», но медленнее. Однако я не уверен, что произойдет, если GP: SID содержит знак% в начале или в конце строки.

+0

Спасибо за ваш ответ! Это сработало для меня! Большое спасибо. – Siva