2014-02-19 5 views
3

Как удалить вывод заголовка CSS Styled с заголовка Ajax в TYPO3?TYPO3 Конфигурация страницы Ajax

Это мой TypoScript:

ajax = PAGE 
ajax { 
    typeNum = 1234 
    # this solution is working, but then I don't have flexform values 
    # 10 < tt_content.list.20.myextension_pi1 

    10 < styles.content.get 
    10 { 
    select.where = colpos = 0 
    select.andWhere = list_type='myextension_pi1'  
    } 

    config { 
    disableAllHeaderCode = 1 
    additionalHeaders = Content-type:application/json 
    xhtml_cleaning = 0 
    admPanel = 0 
    debug = 0 
    no_cache = 1 
    } 
} 

Это мой Ajax Результат - Привет Мир tt_content Заголовок:

<h2 class="csc-firstHeader">Hello World</h2>{"valid":false} 

Я уже пробовал без успеха:

lib.stdheader > 
lib.header > 

И это повлияет на ВСЕ типы страниц, а для стандартного вывода я хочу сохранить вывод заголовка tt_content.

ответ

3

Вы не должны поместить tt_content элемент, содержащий плагин, но сам плагин, как:

ajax = PAGE 
ajax { 
    typeNum = 1234 

    10 < plugin.myextension_pi1  

    config { 
    disableAllHeaderCode = 1 
    additionalHeaders = Content-type:application/json 
    xhtml_cleaning = 0 
    admPanel = 0 
    debug = 0 
    no_cache = 1 
    } 
} 

смотри также similar question

Вам не нужно изменять CSC в этом случае.

Конечно, в таком случае вам нужно, чтобы сделать ваше расширение настраивается через TS (предпочтительно с опцией для объединения TS конфиг с FlexForm, like this)

Альтернатива:

  • Вы можете также создать новая страница (назовем ее Voucher page) - поставьте tt_conent с вашим flexform там.
  • Получить его uid (скажем, это 123) и добавить его в АЯКС, т.е. ссылки .: index.php?id=123&type=1234
  • На странице создания пустого шаблона TypoScript (не корень!) И в Settings поле удалить все formattings из CSC (как вы показал нам)

    lib.stdheader > 
    lib.header > 
    etc... 
    

Вы также можете использовать TypoScript conditions для очистки CSC на данных страницах только есть.

[globalVar = TSFE:id = 123] 
    lib.stdheader > 
    lib.header > 
[end] 

или type параметра только (я где-то читал, что там была ошибка с ним, но не подтверждено, поэтому он должен работать, а): Тип

[globalVar = GP:type = 1234] 
    lib.stdheader > 
    lib.header > 
[end] 
+0

Использование случай: проверка кода ваучера с помощью Ajax. Действительные ваучеры назначаются в Backend, в плагинах flexform, и они различаются на каждой странице. Пользователи BE не могут использовать TS, поэтому flexform - единственное решение, которое я вижу здесь. На самом деле нет такой конфигурации TS, как 10.tt_content.header>? –

+1

Да, состояние по типу - это решение, отлично! –

0

AJAX Страница

tmp.ajaxConf = PAGE 
tmp.ajaxConf { 
    typeNum = 1249058000 
    config { 
     disableAllHeaderCode = 1 
     xhtml_cleaning = 0 
     admPanel = 0 
    } 
} 

ajax_fullPage < tmp.ajaxConf 
ajax_fullPage { 
    typeNum = 1234567890 
    10 < styles.content.get 
} 

AJAX

var _currentURL = window.location; // Current URL Path 
$.ajax({ 
    url: _currentURL, 
    data: '&type=1234567890', 
    cache:false, 
    success: function(result) { 
     // Code 
    }, 
    error: function(result) { 
     alert('Error'); 
    } 
}); 
1

В зависимости от варианта использования вызовов AJAX я также рассмотрел бы использование сценариев eID для вызовов AJAX вместо типа страницы.

Это, по крайней мере, мое предпочтение в большинстве случаев.

Смотрите здесь: Typo3 Extbase AJAX without page typenum

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