[TYPO3-german] Mask: Erweitertes Backendlayout mit Typoscript ausgeben

Birgit lists at berlin-typo3.de
Sat Nov 4 19:46:49 CET 2017


Hallo Christian,

mit Mask hat das Folgende nichts zu tun.

Ich habe die Zuweisung von Icons in einem normalen TypoScript TMENU so gelöst, dass ich die Icons als Spreadsheet gebaut und in der Tabelle „pages" ein Auswahl-Feld (pages.menu_layout) für die benötigten CSS-Klassen angelegt habe.

Die Bilder habe ich dann per CSS mit :before in den jeweiligen Menüpunkt gezogen.


TypoScript:

1 = TMENU
1 {
    NO {
        stdWrap.htmlSpecialChars = 1
        wrapItemAndSub = <li class=" {field:menu_layout}">|</li>
        wrapItemAndSub.insertData = 1
   }
}


CSS:

li {
	position:relative;
}
li:before {
  position:absolute;
  display:block;
  top:10px;
  left:0;
  height:40px;
  width: 40px;
  content:'';
  background-image: url('../Img/sprite_navigation.png');
  background-image: url('../Img/sprite_navigation.svg');
  background-repeat: no-repeat;
  background-size: 204px 700px;
}


Wenn du statt CSS-Klassen lieber Bild-Dateien als <img> einbinden willst, geht das mit FAL-Dateien ungefähr so (untested):

1 = TMENU
1 {
    NO.before.stdWrap.cObject = FILES
NO.before.stdWrap.cObject {
    references {
        table = pages
        uid.data = leveluid:-1, slide
        fieldName = {mein_feld}
    }
    begin = 0
    renderObj = COA
    renderObj {
        10 = IMAGE
        10 {
            file {
                import.data = file:current:uid
                treatIdAsReference = 1
            }
        }
    }
}

Wenn du ein Menü als FluidStyledContent ContentElement haben willst, kannst du das auch mit Bordmitteln machen.

Entweder du überschreibst das Fluid-Template eines vorhanden Menüs - oder du baust ein eigenes ContentElement „MeinMenu".

//TypoScript

tt_content {
    mein_menu < lib.fluidContent
    mein_menu {
        templateName = MeinMenu.html
        dataProcessing {
            10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
            10 {
                references.fieldName =mein_feld
            }
        }

    }
}

pageTsConfig:

mod.wizards.newContentElement.wizardItems.common {
    elements {
        mein_menu {
    
                iconIdentifier = mein_menu.svg
                title = Mein Menü
                description = Beschreibungstext mein Menü
                tt_content_defValues {
                    CType = mein_menu
                }

            }
    }
    show := addToList(mein_menu)
}

Bild ausgeben im Fluid-Template „MeinMenu.html" (nur das erste Bild):

<f:for each=„{mein_feld}" as="image" iteration="num">
    <f:if condition="{num.isFirst}">
        <f:image src="{image.publicUrl}" class="contentimg" id=timg-{image.uid}" title="{image.title}" alt="{image.alternative}" />     
    </f:if>
</f:for>

Die Fluid-Ausgabe kompletter Menüs kannst du dir ansehen in der FluidStyledContent Extension.


viele Grüße
Birgit


> Am 03.11.2017 um 15:16 schrieb Christian Heisch <post at bitschmiede.com>:
> 
> Vielen Dank für die ausführliche und hilfreiche Antwort.
> Jetzt verstehe ich manche Zusammenhänge besser.
> Allerdings habe ich das Problem noch immer nicht gelöst.
> 
> Konkret:
> Auf meiner Seite sollen die fraglichen Bilder in einem Menü dargestellt werden, als Icons zu den Seitennamen.
> Die Bilder (bzw. die Referenzen) liegen in der pages-Tabelle im Feld tx_mask_menuebild_aktiv.
> 
> Leider habe ich das Konzept, wie Bilder einzubinden sind, immer noch nicht durchdrungen.
> 
> Lieben Gruß
> Christian
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list