FAQ zu "TYPO3 - sysext ..."

Alle anzeigen / Alle verbergen

Antwort auf/zuklappen Wie kann ich in einem DCE (Dynamic Content Element) einen Color-Picker einbauen?

Wenn Ihr z.B. ein Feld "Hintergrundfarbe" anlegen wollt, dann wählt Ihr unter Configuration ein einfaches Input-Feld aus und ersetzt den erzeugten "<config>"-Code durch das:

<config>
    <type>input</type>
    <size>10</size>
    <eval>trim</eval>
    <wizards>
        <_PADDING>2</_PADDING>
        <color>
            <title>Color:</title>
            <type>colorbox</type>
            <dim>16×12</dim>
            <tableStyle>border:solid 1px black;</tableStyle>
            <script>wizard_colorpicker.php</script>
            <JSopenParams>height=500,width=600,status=0,menubar=0,scrollbars=1</JSopenParams>
        </color>   
    </wizards>
</config>

 

Es erscheint dann ein Eingabefeld mit nebenstehendem Color-Picker-Icon - bei Klick zeigt sich ein Popup-Fenster zum Auswählen einer farbe aus einer Farbpalette.

Sei der Variablenname z.B. "backgroundColor" dann könnt Ihr den Wert im Template beispielhaft so verwenden:

<div class="{field.position}" style="width:{field.boxwidth}{field.masseinheit}; background-color:{field.backgroundColor};">
    <h4>{field.headline}</h4>
    <f:format.html>{field.text}</f:format.html>
</div>

 

 

Kategorie: TYPO3, DCE (Dynamic Content Elements), Typoscript
Antwort auf/zuklappen Überschrift verborgen => keine Ausgabe des Datums — Datum und Überschriften(tt_content)

Wenn man in einem Datensatz eine Überschrift und auch ein Datum eingibt, dann wird mit der Überschrift automatisch auch das Datum gerendert (verarbeitet).

Wird keine Überschrift eingegeben oder diese "verborgen", so wird ein eingegebenes Datum NICHT ausgegeben! Möchte man das Datum trotzdem sehen, so genügt folgender Eintrag in das TYPO3-Template-Setup:

# Datum trotz verborgener Überschrift
lib.stdheader.stdWrap.if >

# Datum trotz nicht vorhandener Überschrift
lib.stdheader.stdWrap.fieldRequired >

Kategorie: TYPO3, Typoscript
Antwort auf/zuklappen Wie kann ich in einem List-Menü dem li-Tag einen dynamischen Klassennamen zuordnen?

Lese dazu einem Beitrag in unseren News ⇒ News-Beitrag

Kategorie: TYPO3, Typoscript, T3-Snippets
Antwort auf/zuklappen Das Feld »Datensatz Layout« in der Klasse berücksichtigen (TYPO3 V4.7.x ff.)

Das Feld “Layout” im Content Element hat von Haus aus keinerlei Effekt (früher waren es die Klassen für Untertitel bei Überschriften)
Um dieses Feld doch zu nutzen, kann man es a) umbenennen oder b) die Auswahl erweitern:

In die Page-TSconfig ist so etwas einzutragen:

# Inhalt der Typ Select box bei content Elementen
TCEFORM.tt_content {
   layout{
      altLabels{
         0 = Normalausgabe
         1 = Sonderausgabe1
         2 = Sonderausgabe2
         3 = Sonderausgabe3
      }
      removeItems = 4,5,6,7,8,9,10
   }
}

 

Und im Root-Page-Setup erweitern wir die Klassifizierung in den neueren TYPO3-Versionen mit diesen Daten:

tt_content.stdWrap.innerWrap.cObject {
   // die doppelte id="c123" bei a-tag und div-tag, resp. das DIV-Tag eliminieren:
#   default.value  = <div id="c{field:uid}"
#   default.20.10.value = csc
   default.20 {
      # im Standard löschen wir das "csc-default"
      10.value =

      # eigene Routine um das Datensatzlayout mit einzubeziehen, Nr. 40 ist neu:
      40 = TEXT
      40 {
          cObject = CASE
          cObject {
             key.field = layout
             default = TEXT
             default.value =
             1 = TEXT
             1.value = layout1
             1.noTrimWrap = | | |
             2 < .1
             2.value = layout2
             3 < .1
             3.value = layout3
          }
      }
   }
...
}

 

Auf der HTML-Seite tritt das dann so in Erscheinung:

<div id="c2073" class="whitebox csc-space-before-30 layout3">
<div id="c1772" class="csc-space-before-50">
<div id="c1852" class="layout1">
<div id="c2094">
<div id="c2095">
<div id="c1957" class="csc-space-before-30">

Kategorie: TYPO3, Typoscript, T3-Snippets
Antwort auf/zuklappen "Read more..." soll auf Klick den Artikel aufklappen!?

das folgende Problem hat dired im Typo3forum gestellt.

 

Man möchte einen Anleser unter dem "… mehr lesen" oder "Read more …" steht erstellen und dann bei Klick darauf den Rest des Artikels aufklappen.

So geht es im Detail:

ins TYPO3-Setup:

// Zusätzliche Objekte im Datensatz Erscheinungsbild "Rahmen"
// Klapptext:

tt_content.stdWrap.innerWrap.cObject {
   # Klappbox auf normalem Hintergrund
   33 =< tt_content.stdWrap.innerWrap.cObject.default
   33.10.cObject.default.value (
      <p class="moreLink">
         … <a onclick="jQuery('#c{field:uid}').fadeToggle('fast');">mehr</a>
      </p>
      <div id="c{field:uid}" style="display:none;"
   )
   # und eine Klasse setzen:
   33.20.10.value = kupix_klapptext
}


page.headerData.666.value (
   <script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
)

Die cObject-Nr. 33 oder die headerData-Nr. 666 können natürlich auch andere Nummern haben!


ins Page-TSconfig der Rootseite:

# Namen des cObjects festlegen:
TCEFORM.tt_content.section_frame.addItems {
   33 = Klapptext per jQuery
}

Kategorie: TYPO3, Typoscript, T3-Snippets
Frage gestellt von: dired
Antwort auf/zuklappen Bilder mit einem Wasserzeichen versehen OHNE Extension

// zuerst einen neuen Image-Effekt anlegen:
TCEFORM.tt_content.image_effects.addItems.31 = Wasserzeichen

Die "31" ist der neue Schlüssel (siehe unten in den if-Statements.

// in die Template-Constants:

wz {
   MaskImage = fileadmin/images/wasserzeichen.png
   MaskImagePosition = l,b
   TextWrap = |&copy; | kupix.de|
   DateFormat = date:Y
   FontSize = 14
   ZoomFontSize = 24
   Offset = -5
   ZoomOffset = -10
   Color = #000000
   TextPosition = right
   TextEnableNiceText = 0
   TextEnableAntiAlias = 1
}




// ins Template-Setup:
// Wasserzeichen in Bildern:

tt_content.image.20.1.file >
tt_content.image.20.1.file {
   import.current = 1
   width.field = imagewidth

   m.mask.import.cObject = IMG_RESOURCE
   m.mask.import.cObject.file = GIFBUILDER
   m.mask.import.cObject.file {
      XY = [10.w],[10.h]
      format = gif
      10 = IMAGE
      10.file {
         import.current = 1
         width.field = imagewidth
         maxW = {$styles.content.imgtext.maxW}
         maxW.override.data = register:maxImageWidth
         maxWInText = {$styles.content.imgtext.maxWInText}
         maxWInText.override.data = register:maxImageWidthInText
      }
      20 = BOX
      20.dimensions = 0,0,[10.w],[10.h]
      20.color = #ffffff

      30 = IMAGE
      30.file = {$wz.MaskImage}
      30.align = {$wz.MaskImagePosition}
      30.if.isTrue.field = image_zoom
      # 31 = new image-effect via page-TSConfig
      30.if.isTrue.if.value = 31
      30.if.isTrue.if.isTrue.field = image_effects

      40 = TEXT
      40.text.data = {$wz.DateFormat}
      40.text.noTrimWrap = {$wz.TextWrap}
      40.align = {$wz.TextPosition}
      40.offset = {$wz.Offset},[10.h]{$wz.Offset}
      40.fontSize = {$wz.FontSize}
      40.fontColor = {$wz.Color}
      40.niceText =  {$wz.TextEnableNiceText}
      40.antiAlias = {$wz.TextEnableAntiAlias}
      # 31 = new image-effect via page-TSConfig
      40.if.value = 31
      40.if.isTrue.field = image_effects
   }
   m.bgImg.import.cObject = IMG_RESOURCE
   m.bgImg.import.cObject.file = GIFBUILDER
   m.bgImg.import.cObject.file {
      XY = [10.w],[10.h]
      format = gif
      10 = BOX
      10.dimensions = 0,0,10,10
      10.color = {$wz.Color}
   }
}


und das hilft nur, wenn nicht zum Vergrößern der Bilder eine Lightbox eingesetzt wird:

tt_content.image.20 {
    1 {
        imageLinkWrap {
        enable = 1
        bodyTag = <body style="background:#FFF; margin: 0px; padding: 0px;">
        wrap = <a href="javascript:close();"> | </a>
        JSwindow = 1
        JSwindow.expand = 20,20
        JSwindow.newWindow = 1
        JSwindow {
            altUrl {
                cObject = IMG_RESOURCE
                cObject {
                    file = GIFBUILDER
                    file {
                        XY = [10.w],[10.h]
                        format = jpg
                        quality = 100
                        10 = IMAGE
                        10.file.import.current = 1
                        10.file.width = 800m
                        10.file.height = 600m

                        20 = TEXT
                        20.text.data = {$wz.DateFormat}
                        20.text.noTrimWrap = {$wz.TextWrap}
                        20.align = {$wz.TextPosition}
                        20.offset = {$wz.ZoomOffset},[10.h]{$wz.ZoomOffset}
                        20.fontSize = {$wz.ZoomFontSize}
                        20.fontColor = {$wz.Color}
                        20.niceText = {$wz.TextEnableNiceText}
                        20.antiAlias = {$wz.TextEnableAntiAlias}
                        # 31 = new image-effect via page-TSConfig
                        20.if.value = 31
                        20.if.isTrue.field = image_effects
                        }
                    }
                }
            }
        }
    }
}

 

Quelle: Den größten Teil des Codes habe ich aus der Extension df_imgwatermark.

Kategorie: TYPO3, Typoscript, T3-Snippets
Antwort auf/zuklappen Wie setze ich bei Sitemap -> Sitemap den Ausgangspunkt? Das Feld fehlt!?

Ab und an verschwindet mal das eine oder andere Feld im TYPO3 Backend, so wie aktuell (V4.5.20, V4.7.x) beim Datensatztyp "Sitemap" die eigentliche Funktion "Sitemap".

So kann man sich trotzdem behelfen:

Man wähle anstatt der Funktion "Sitemap" zuerst die Funktion "Unterseiten der angewählten Seite" aus. Dann erscheint das Feld "Ausgangspunkt" und man trägt die gewünschte Seite, bei der sie Sitemap geginnen soll, ein. – Abspeichern! – Dann wählt man wieder "Sitemap" aus und speichert das Ganze. Schon setzt die Sitemap bei der vorher ausgewählten Seite auf.

Eine andere Möglichkeit das Leck zu umschiffen hat Andreas Kessel getwittert (@andreaskessel):
Man wählt die erweiterte Listenansicht aus, setzt das Feld "Ausgangspunkt", so dass es als Spalte in der Listansicht erscheint. Dann nur die Ausgangspunkte bearbeiten (kleiner Bleistift in der Spaltenüberschrift)

Kategorie: TYPO3
Antwort auf/zuklappen Indexed-search: Suche nach Wörtern mit Umlaut klappt nicht!?

Wenn man z.B. nach "Qualität" sucht, wird das Wort an der Stelle des Umlautes zerhackt. Der Umlaut wird in Abh. der Seiten-Codierung dann z.B. in hexadezimaler Form eines "ä" in UTF-8 (&#x00E4;) als zweiter Suchbegriff dargestellt.
Das Suchergebnis ist ziemlich mager, es gibt natürlich keins.

 

Hier ist noch ein kleiner Bug in der Routine der TYPO3-System-Extension "indexed_search":

 

In der class.tx_indexedsearch in Zeile 436 direkt nach

$inSW = substr($this->piVars['sword'],0,200);

$inSW = htmlentities($inSW,ENT_NOQUOTES);

einfügen.

 

Diese Klasse ist zu finden im Verzeichnis:
/typo3/sysext/indexed_search/pi 

 

entnommen aus einem Forum-Beitrag in www.typo3forum.net.

 

Kategorie: PHP / Programmierung