TYPO3 8.7.x / Typoscript: расширение ajax-вызова, получить настройки из плагина, вставленного на определенную страницу - PullRequest
0 голосов
/ 02 мая 2019

У меня есть расширение, содержащее действие для вызова ajax, которое возвращает строку json. Существует также плагин, вставленный на определенную страницу для пользовательского ввода. Плагин имеет некоторые настройки (через flexform), которые я хочу получить при вызове ajax, но я понятия не имею, как.

ajaxCall = PAGE
ajaxCall {
    typeNum = 1000
    config {
        disableAllHeaderCode = 1
        metaCharset = UTF-8
        no_cache = 1
        debug = 0
    }

    10 = USER
    10 {
        userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
        vendorName = Vendor
        pluginName = SomePlugin
        extensionName = SomeExtension
        controller = MyController
        action = ajax
        switchableControllerActions {
            MyController {
                1 = ajax
            }
        }
    }
}

Ответы [ 3 ]

0 голосов
/ 02 мая 2019

Спасибо, я пробовал что-то вроде 2. но у меня проблема в том, что я получаю также заголовок и перенос, что непрактично для вывода json

....
#page Type 1000
10 = CONTENT
10 {
    table = tt_content
    select {
        where = list_type="someextension_someplugin"
    }
...
0 голосов
/ 02 мая 2019

Это идеальный вариант использования для https://extensions.typo3.org/extension/typoscript_rendering/ Создайте ссылку на действие, которое вы хотите вызвать через Ajax, с помощью предоставленного помощника вида, и ваше действие будет отображаться точно так, как ожидается (включая соблюдение содержимого flexform).

0 голосов
/ 02 мая 2019

Я вижу две возможности решить вашу проблему:

  1. поместите uid плагина (который является элементом содержимого и представлен в виде записи в таблице tt_content) в параметрах вашего обращения к контроллеру, чтобы контроллер мог прочитать эту запись и получить данные.

или

  1. вместо вызова контроллера рендеринг плагина явно.
    В зависимости от конфигурации страницы, где хранится плагин, вы можете отобразить всю страницу, столбец или только элемент содержимого. (используйте объект CONTENT в вашем наборе текста.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...