2017-02-09 2 views
1

У меня есть небольшая проблема с получением пользовательского элемента контента через typoscript на всех страницах. Я создал пользовательский элемент без каких-либо расширений (например, mask или dce), поэтому im только с использованием основных функций TYPO3 . Этот Элемент - простая вещь, которая просто использует для создания различных ящиков, которые будут отображаться в интерфейсе.Пользовательский элемент содержимого с IRRE через Typoscript -> пустой массив

tt_content.box = COA 
tt_content.box { 
    10 = FLUIDTEMPLATE 
    10 { 
     file = EXT:xxx_elements/Resources/Private/Templates/Box.html 
     partialRootPath = EXT:xxx_setup/Resources/Private/Content/Partials 
     layoutRootPath = EXT:xxx_setup/Resources/Private/Content/Layouts 
     dataProcessing { 
      10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor 
      10 { 
       table = tx_xxxelements_box 
       orderBy = sorting 
       where { 
        data = field:uid 
        intval = 1 
        wrap = tt_content=| 
       } 
       as = boxitems 
      } 
     } 
    } 
} 

оказывается нормальной жидкости, как

<f:for each="{boxitems}" as="boxitem"> 
    <boxitem.header>... 
</f:for> 

так все работает отлично до тех пор, как я использую его в качестве обычного элемента контента, который помещается на одной странице. Теперь я поставил один элемент в storagefolder и попытаться повторно использовать этот элемент на всех страницах через TypoScript где 10 является идентификатор элемента содержимого

lib.SubFooter = COA 
lib.SubFooter { 
    10 = RECORDS 
    10 { 
     tables = tt_content 
     source = 10 
    } 
} 

Либерал оказано правильно, но «boxitems» массив пуст на всех страницах :-(

теперь забавная часть: если я поместить элемент с идентификатором 10 на странице массив boxitems заполняется для обоих элементов и Лив ...

Вот изображение с переменный сброс для различных ситуаций: element, lib, element+lib

+0

Как выглядит ваш SQL-запрос? Вы можете отлаживать SQL-запросы в интерфейсе с помощью панели администратора. – pgampe

+0

вот что SQL выглядит как :-( запрос => «SELECT * FROM tx_xxxcontentelements_box ГДЕ tx_xxxcontentelements_box.pid В (1) И tt_content = 10 И (tx_xxxcontentelements_box.sys_language_uid = 0) И tx_xxxcontentelements_box.deleted = 0 И tx_xxxcontentelements_box.t3ver_state <= 0 И tx_xxxcontentelements_box.pid <> - 1 И tx_xxxcontentelements_box.hidden = 0 И tx_xxxcontentelements_box.starttime <= 1486999740 И (tx_xxxcontentelements_box.endtime = 0 ИЛИ tx_xxxcontentelements_box.endtime> 1486999740) ORDER BY сортировка ' – Jan

+0

thats from pid: 1 когда мы в версии lib ничего не отображается, по крайней мере, ничего, что могло бы указать мне в правильном направлении :-( – Jan

ответ

0

К сожалению, я не смог найти удовлетворительное решение проблемы. В конце концов, я создал элемент контента как обычный элемент вместо IRRE, тогда интеграция с typoscript работает так, как ожидалось.

0

может быть, вам не хватает ИДП ;-)

dataProcessing { 
     10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor 
     10 { 
      .... 
      pidInList.field = pid 

и вы можете упростить на мой взгляд, в данном случае пункт, где:

  where.dataWrap = tt_content={field:uid} 

, потому что вы не соответствия с переменными извне ...