2017-02-23 10 views
1

News (tt_news)에 다른 템플릿을 적용하기 위해 조건문을 사용하고 싶습니다. 현재 true/false를 반환하는 사용자 함수를 사용합니다. 현재 뉴스에 특정 카테고리가 있고 올바르게 작동하는 경우 1을 반환하고 그렇지 않으면 Null을 반환합니다. Typoscript (TYPO3 6.2)의 조건문에서 variable/user_func를 사용하는 방법은 무엇입니까?

나는 공식 문서와 다른 사이트를 따라, 그래서 조건

[userFunc = user_isLatin] 
plugin.tt_news.templateFile = fileadmin/templates/plugins/tt_news/latin_detail.html 
page.1010 = TEXT 
page.1010.value = LATIN 
[ELSE] 
plugin.tt_news.templateFile = fileadmin/templates/plugins/tt_news/general_detail.html 
page.1010 = TEXT 
page.1010.value = OTHERS  
[END] 

을했지만 항상 OTHERS을 보여줍니다. 변수를 사용하여 다음을 시도했습니다.

temp.catuid = USER 
temp.catuid.preUserFunc = user_ttNewsInCat 

latin = TEXT 
latin.value < temp.catuid 

[latin.value = 1] 
.... 
[ELSE] 
.... 
[END] 

그러나 작동하지 않습니다.

+0

당신이 해결책을 찾았나요? –

+0

아니오. 마커와 자바 스크립트를 사용하여 프론트 엔드에서 프로그래밍함으로써 다른 문제를 해결해야했습니다. –

답변

0

정확히 시도한 것처럼 작동합니다. 이 내가 지금 테스트 cobndition입니다 :

[userFunc = user_isLatin] 
page.10 = TEXT 
page.10.value = LATIN 
[ELSE] 
page.10 = TEXT 
page.10.value = OTHERS  
[END] 

가 그리고 이것은 AdditionalConfiguration.php 또는 사용자 정의 확장의 localcon.php 파일에 있어야합니다 사용자 함수의 구현 (I이 당신 무슨 일이되어 가정 놓친). 자세한 내용은

function user_isLatin() { 
    return TRUE; 
} 

가 offcial 문서 참조 : 당신은 6.2에 user_ 기능을 사용할 필요가 없습니다 https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/Conditions/Reference/Index.html#userfunc

+0

당신의 제안을 시도했지만 Typoscript 조건이 올바르게 작동하지 않았습니다. –

0

을, 당신은 또한 클래스를 사용할 수 있습니다. 그리고 AdditionalConfiguration.php에서 정의 할 필요는 없습니다.

TypoScript :

[userFunc = Vendor\ExtName\Condition\TypoScriptCondition::isLatin()] 
... 
[else] 
... 
[global] 

PHP :

<?php 
namespace Vendor\ExtName\Condition; 

class TypoScriptCondition 
{ 

    public static function isLatin() 
    { 
     ... 
     return true; 
    } 
} 
+0

아마 작동하지만 6.2에서는 문서화되지 않은 기능입니다. 최소한이 특정 범위에는 해당되지 않습니다. 사실 모든 사용자 함수 사용 사례의 전역 범위에서 네임 스페이스를 사용하여 유용한 정보를 제공하는 사용자 함수를 해결할 수 있습니다. –

+0

6.2의 문서에 이것을 추가하라는 요청을했고 7.6에도이 요청을 추가 할 것입니다 : https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/Conditions/Reference/#userfunc –