2017-02-09 1 views
1

J'ai un petit problème pour obtenir un élément de contenu personnalisé via typoscript sur toutes les pages. J'ai créé un élément personnalisé sans aucune extension (comme le masque ou le dce) donc je n'utilise que des fonctions de base TYPO3 . Cet élément est une chose simple qui utilise simplement irre pour créer différentes boîtes à afficher dans le frontend.Elément de contenu personnalisé avec IRRE via Typoscript -> tableau vide

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 
      } 
     } 
    } 
} 

rendu un fluide normal comme

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

si tout fonctionne bien aussi longtemps que je l'utilise comme un élément contenu régulier qui est placé sur une page. Maintenant, je mets un élément dans un storagefolder et essayer de réutiliser cet élément sur toutes les pages via typoscript où 10 est l'ID de l'élément contenu

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

la lib est rendu correct, mais le tableau « de boxitems » est vide sur toutes les pages :-(

maintenant le plus drôle: si je place l'élément avec ID 10 sur une page du tableau boxitems est rempli pour les deux éléments et lib ...

Voici une image avec le vidage variable pour différentes situations: element, lib, element+lib

+0

À quoi ressemble votre requête SQL? Vous pouvez déboguer les requêtes SQL en frontend avec le panneau d'administration. – pgampe

+0

thats ce que SQL ressemble :-( requête => « SELECT * DE tx_xxxcontentelements_box OÙ tx_xxxcontentelements_box.pid IN (1) ET tt_content = 10 ET (tx_xxxcontentelements_box.sys_language_uid = 0) ET tx_xxxcontentelements_box.deleted = 0 ET tx_xxxcontentelements_box.t3ver_state <= 0 ET tx_xxxcontentelements_box.pid <> - 1 ET tx_xxxcontentelements_box.hidden = 0 ET tx_xxxcontentelements_box.starttime <= 1486999740 ET (tx_xxxcontentelements_box.endtime = 0 ou tx_xxxcontentelements_box.endtime> 1486999740) ORDER BY le tri ' – Jan

+0

thats du pid: 1 quand nous Dans la version lib rien n'est affiché, au moins rien qui pourrait me pointer dans la bonne direction :-( – Jan

Répondre

0

Malheureusement, je n'ai pas trouvé de solution satisfaisante au problème. À la fin, j'ai construit l'élément de contenu comme un élément normal au lieu de IRRE, alors l'intégration avec typoscript fonctionne comme prévu.

0

peut-être que vous manquez le pid ;-)

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

et vous pouvez simplifier à mon avis, dans ce cas, la clause where:

  where.dataWrap = tt_content={field:uid} 

parce que vous n'êtes pas correspondant à contre vars de l'extérieur ...