Skip to main navigation Skip to main content Skip to page footer

Anzeige der UID im Seitenbaum des Backends

options.pageTree.showPageIdWithTitle = 1
In das TSConfig der Usergruppe/des Users:

Jahreszahl ausgeben

lib.year = TEXT
lib.year.data = date: Y

Login / Logout Linkanzeige mittels If Else Abfrage für TYPO3 FrontEnd User

lib.user_login_link = COA_INT
lib.user_login_link {
  # Login Link (Anzeige wenn User NICHT eingeloggt)
  10 = TEXT
  10 {
    value = LOGIN
    typolink {
      parameter = 0 // pid mit dem Login-Formular
    }
    if.isFalse.data = TSFE:fe_user|user|username
  }

  # Logout Link (Anzeige wenn User eingeloggt)
  20 < .10
  20.if.negate = 1
  20 {
    value = LOGOUT
    typolink {
      additionalParams = &logintype=logout
    }
  }
}
Folgendes Typoscript Beispiel zeigt, wie sich eine Login Link oder Button für Mitlgieder einrichten lässt, der sich abhängig vom Login Status ändert.

Fluid Styled Content: Alphabetische Ausgabe von "Menü der ausgewählten Seiten"

tt_content.menu_sitemap_pages {
  dataProcessing {
    10 {
      alternativeSortingField = title
    }
  }
}

Anzahl der Unterseiten per Typoscript ermitteln und ausgeben

lib.anzahl = COA
lib.anzahl {
 10 = TEXT
 10.value = <div class="anzahl">Zahl der untergeordneten Seiten:&nbsp;
 20 = TEXT
 20.cObject = CONTENT
 20.cObject {
   table = pages
   select {
     selectFields = count(*) as amount
     pidInList.field = pid
   }
   renderObj = COA
   renderObj {
     50 = TEXT
     50.field = amount
   }
 }
 30 = TEXT
 30.value =</div>
}
Gibt die Anzahl der untergeordneten Seite der aktuellen Seite aus.

Druckversion der Website

lib.print = TEXT
lib.print {
    value = Drucken
    typolink {
        parameter.data = page:uid
        addQueryString = 1
        additionalParams = &type=98
        ATagParams = name="Drucken" class="print"
        ATagBeforeWrap = 1
        wrap = <img src="typo3conf/ext/site_package/Resources/Public/Images/icon-print.png" alt="Druckansicht" title="Druckansicht"/>
 
    }
    wrap = <div class="print-button">|</div>
}
Link zur Druckansicht

Das TYPO3 Inhaltselement Sitemap auf seine eignen Bedürfnisse anpassen und erweitern

Die mitgelieferte Sitemap im Typo3 Packet kann man sich nach belieben selbst zusammen stellen. Die Konfiguration erfolgt in dem Content Element "tt_content.menu.20.2" und ist somit nichts anderes als ein HMENU. Folgendes Typoscript setzt den Typo3 Seitenbaum als Liste mit Beschreibung zum Menupunkt um.

lib.meine_sitemap = COA
lib.meine_sitemap {
  stdWrap.prefixComment = 2 | lib.meine_sitemap
  wrap = |
  10 = HMENU
  10 {
    special = list
    special.value.field = pages
    # Dokumenttypen die nicht vorkommen sollen
    excludeDoktypes = 
    # Seiten (ID) die nicht aufgeführt werden sollen
    excludeUidList = 
    1 = TMENU
    1 {
      wrap = <ul>|</ul>
      noBlur = 1
      expAll = 1
      NO {
        wrapItemAndSub = <li>|</li> 
        ATagTitle.field = title
        after {
          field= description 
          wrap = <p>|</p>
        }
      }
    }
    2 < .1
    2 {
      wrap = <ul>|</ul>
      NO.wrapItemAndSub = <li>|</li> |*||*| <li>|</li>
    }
    3 < .2
    4 < .2
    5 < .2
  }
}

# Löschen der Sitemap
tt_content.menu.20.2 >
# Neue Sitemap zuweisen
tt_content.menu.20.2 < lib.meine_sitemap
Folgenden Typoscript Code kann man sich in das Setup des Haupttemplates kopieren:

Danach legt man sich eine neue Seite an und erezugt darin ein Content Element vom Typ Sitemap. Danach kann die Seite aufgerufen werden und siehe da, die Sitemap stellt sich in neuem Gewand dar. Auf diesem Weg gibt es natürlich die Möglichkeiten zur Erweiterung der Sitemap. So kann z.B. auf verschiedene Erweiterungen wie "news" oder "comments" zugegriffen werden.


TCA für Image Manipulation (crop) in eigener Extension

Es gibt ein paar Beispiele im Netz, wie man Bild-Manipuation für tt_content aktiviert und Crop-Varianten (cropVariants) definiert. Ich habe kein Beispiel gefunden, wie man in seiner eigenen Extension direkt einem Bild-Feld Crop-Eigenschaften mitgeben kann. Nach langer Suche und viel rumprobieren ist das mein Ergebnis, das funktioniert.

'stage_image' => [
    'exclude' => true,
    'label' => 'LABEL',
    'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
        'stage_image',
        [
            'appearance' => [
                'createNewRelationLinkTitle' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:images.addFileReference'
            ],
            'overrideChildTca' => [
                'types' => [
                    '0' => [
                        'showitem' => '
                        --palette--;;imageoverlayPalette,
                        --palette--;;filePalette'
                    ],
                    \TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
                        'showitem' => '
                        --palette--;;imageoverlayPalette,
                        --palette--;;filePalette'
                    ],
                ],
                'columns' => [
                    'crop' => [
                        'config' => [
                            'cropVariants' => [
                                'default' => [
                                    'title' => 'Desktop',
                                    'allowedAspectRatios' => [
                                        'default' => [
                                            'title' => 'Rechteckig 22:9',
                                            'value' => 2.4
                                        ],
                                    ],
                                ],
                            ],
                        ],
                    ],
                ],
            ],
            'foreign_match_fields' => [
                'fieldname' => 'stage_image',
                'tablenames' => 'xxx',
                'table_local' => 'sys_file',
            ],
            'maxitems' => 1,
        ],
        $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
    ),
],
TCA für Image Manipulation (crop) in eigener Extension