Разобрать поле (uid) в TYPOSCRIPT Extbase Controller в HMENU

У меня есть HMENU, в котором используются изображения и прочее. (я удалил эту часть здесь, чтобы было проще)

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

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

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

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

как мне изменить ключевые строки:

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

ТИПОСКРИПТ:

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

      }



    }
  }
}

person TomGrill Games    schedule 25.11.2013    source источник
comment
Помимо решения Йоста: вы уверены, что плагин Extbase - это единственный способ добиться того, чего вы хотите? Это решение звучит довольно странно :-).   -  person lorenz    schedule 26.11.2013
comment
как я и просил, я открыт для лучших решений. это тот, который приходит мне в голову в первую очередь :)   -  person TomGrill Games    schedule 26.11.2013
comment
Из вашего описания непонятно, каким должен быть конечный результат. Поэтому вам трудно помочь сделать это лучше. Если вы задокументируете свой вопрос с желаемым результатом и той частью, которую вы сейчас делаете в Extbase, я смогу изучить его.   -  person lorenz    schedule 26.11.2013
comment
ну, я знаю, но мне сложно это объяснить :) хорошо, я переключился на другой способ с помощью настраиваемых запросов mysql COA и CONTENT. это работает, и мне не нужно здесь использовать extbase.   -  person TomGrill Games    schedule 26.11.2013


Ответы (1)


В прошлый раз в такой ситуации у меня сработало использование insertData:

settings.pageUid = TEXT
settings.pageUid {
    value = {field:uid} # Not pid, thats the id of the parent page
    insertData = 1
}
person Jost    schedule 25.11.2013
comment
к сожалению, это не работает. я все еще получаю {field: uid} как строковый результат вместо фактического uid - person TomGrill Games; 26.11.2013