2013-11-25 2 views
1

У меня есть HMENU, который использует изображения и прочее. (я удалил эту часть здесь, чтобы сохранить ее просто)Поле анализа (uid) для TYPOSCRIPT Extbase Controller в HMENU

Что я хочу, так это то, что каждый элемент меню вызывает контроллер, который добавляет в меню дополнительные специальные случаи (связанные с ними). Но диспетчер должен знать, какой pid его вызывает. Поэтому идея заключалась в том, чтобы использовать настройки для разбора pid на контроллер.

Ну, это работает, но только текст «pid» будет анализироваться не на его значение, как 439, или на любой другой pid, полученный в меню.

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

Если есть другое решение с другим методом, который был бы слишком большим :)

как я должен изменить keylines:

settings.pageUid = TEXT 
settings.pageUid.field = pid 

TypoScript:

temp.CE_SUBNAVIGATION = HMENU 
temp.CE_SUBNAVIGATION { 
    special = directory 
    1 = TMENU 
    #1.noBlur = 1 

    1.wrap = <nav class="content-subnavigation-container">|</nav> 

    1.NO = 1 
    1.NO { 
    doNotLinkIt = 1 
    stdWrap.cObject = COA 
    stdWrap.cObject { 



     40 = USER 
     40 { 
     userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run 
     pluginName = reference 
     extensionName = MyExt 
     controller = Reference 
     vendorName = VENDOR 
     action = hmenulisting 
     switchableControllerActions { 
      Reference { 
      1 = hmenulisting 
      } 
     } 

     settings =< plugin.tx_myextname.settings 
     persistence =< plugin.tx_myextname.persistence 
     view =< plugin.tx_myextname.view 
     update =< plugin.tx_myextname.update 

     settings.pageUid = TEXT 
     settings.pageUid.field = pid 

     } 



    } 
    } 
} 
+0

Помимо решения Jost: вы уверены, что плагин Extbase - это единственный способ достичь того, чего вы хотите? Это решение звучит довольно странно :-). – lorenz

+0

как я спросил, я открыт для лучших решений. вот тот, который приходит мне на ум :) –

+0

Из вашего описания неясно, какой должен быть конечный результат. Поэтому трудно помочь вам сделать это лучше. Если вы документируете свой вопрос с желаемым результатом и какую часть вы делаете в Extbase сейчас, я могу изучить его. – lorenz

ответ

0

Что работал в последний раз в такой ситуации, используя insertData:

settings.pageUid = TEXT 
settings.pageUid { 
    value = {field:uid} # Not pid, thats the id of the parent page 
    insertData = 1 
} 
+0

к сожалению это не работает. я все равно получаю {поле: uid} как результат строки вместо фактического uid –

Смежные вопросы