Search code examples
typo3typo3-7.6.xtypo3-extensions

TYPO3 not rendering certain parts


I am using TYPO3 version 7.6.32 and I have the problem that certain parts of the website are not getting rendered. Instead, the output looks like this:

###SIDEBAR## or ###TOP### or ###STARTSLIDER###

Some parts that get rendered with the same system are working correctly like:

###LOGO### and a few others

I have duplicated our production environment and set up the local environment for some changes but I can't get it to work.

In the case of STARTSLIDER I found this in the main.t3s

    STARTSLIDER < styles.content.getLeft

Can someone please explain how this rendering system works and how I can start to go further in debugging or something? It's my first time using TYPO3 and I'm having a hard time over here. Any help would be much appreciated.

If you need further information please just drop a comment.

EDIT: Ok, after some reading it seems like styles.content.getLeft just fetches the content from the left column of the page... or I can assign another type like text and output it like that. That works, but the actual Start Slider is still not getting rendered.

Ok so what is the startslider - it's a content element going by the type "Start Slider" which got created with the extension Mask - we have a bunch of our own content types, in the backend I can just add additional slides and that's it. So, the reference to the mask content type works because I can choose it from the list. Checking the mask content type - it contains Slide > Headline > Description > Image > Video > Link, seems to work just fine. OK here I have a code example of how to use it:

<f:if condition="{data.tx_mask_slide}">
<ul>
<f:for each="{data.tx_mask_slide}" as="data_item">
<li><f:if condition="{data_item.tx_mask_title}">
{data_item.tx_mask_title}<br />
</f:if>


<f:if condition="{data_item.tx_mask_description}">
{data_item.tx_mask_description}<br />
</f:if>


<f:if condition="{data_item.tx_mask_image}">
<f:for each="{data_item.tx_mask_image}" as="file">
<f:image image="{file}" alt="{file.alternative}" title="{file.title}" width="200" /><br />
{file.description} / {file.identifier}<br />
</f:for>
</f:if>


<f:if condition="{data_item.tx_mask_videolink}">
{data_item.tx_mask_videolink}<br />
</f:if>


<f:if condition="{data_item.tx_mask_link}">
<f:link.page pageUid="{data_item.tx_mask_link}">{data.tx_mask_link}</f:link.page><br />
</f:if>


</li>
</f:for>
</ul>
</f:if>

so the ###STARTSLIDER### reference is not directly referencing the mask element - this has to happen somewhere else - found startslider.html where the actual slider gets built. Nothing too special just some html with the slider elements. Ok, I added a random html tag to the top, cleared all cached, and checked for that tag - it's missing - so this file is actually never used. hm ok so what is ###STARTSLIDER###... I further guess that's the reference into main.t3s where this happens:

page.10.marks {
    JUMPLINKS = TEXT
    JUMPLINKS.value = Direkt zum Inhalt
    JUMPLINKS.typolink {
        parameter.field = uid
        ATagParams = class="jumplinks focusable" role="navigation"
        section = main-content
    }

    TOP < styles.content.getLeft
    STARTSLIDER < styles.content.getLeft

    LANG < lib.lang

    MENU < lib.menu
    ...

any ideas?

EDIT: so the only thing I can imagine is that in the mask.json config file for the mask extension the "key": "startslider" is the reference to the actual startslider.html - is this correct?

mask.json startslider:

    "startslider": {
        "label": "Start Slider",
        "key": "startslider",
        "shortLabel": "",
        "description": "nur f\u00fcr die Startseite verwenden",
        "icon": "",
        "color": "#000000",
        "columns": [
            "tx_mask_slide"
        ],
        "labels": [
            "Slide"
        ]
    },

mh but why is this file not getting used/rendered? (wrong)

EDIT: now after more reading about TYPO3 my outcome is that this is simply not working:

    STARTSLIDER < styles.content.getLeft

everything on the site works except the parts where getLeft or getRight is used and the fact that ###something### doesn't render proofs that the marker does not get anything back from styles.content.getX - so I was reading that this is a kinda old approach of rendering elements and the functionality got removed even in css_styled_content in TYPO3 version ^9 - BUT it should work with TYPO3 version 7.6.32 with activated css_styled_content where the functionality is definitely in

typo3src/typo3/sysext/css_styled_content/static/setup.txt

and the content I need also gets rendered by colPos=1 in the backend.

I don't know what to do now. How could I debug that further?


Solution

  • The problem was that some extensions were broken and not compatible with the installed TYPO3 version so a few parts of the configuration stored in the database was not really applied to the actual application.

    For example, css_styled_content was missing in the page>includes section and was throwing a few deprecation errors when I tried to include it while not getting included. I refactored all extensions and finally, I was able to include css_styled_content without any errors popping in.

    So it was not really possible to answer on this question, still thanks a lot to everyone trying to point me in the right direction.