TYPO3 - Gridelements: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Links ==
 
== Links ==
https://www.youtube.com/watch?v=cuEKyaOtAEY
+
* https://www.youtube.com/watch?v=cuEKyaOtAEY
 +
* http://www.marmalade.de/magazin/2013/09/typo3-fluid-und-grid-elements-gemeinsam-verwenden/
 +
* https://networkteam.com/blog/gridelements-professionell-nutzen.html
 +
 
 +
== Downloads ==
 +
[[Datei:Typo3-bootstrap3-gridelements.zip|mini]]
  
 
== Einführung ==
 
== Einführung ==
Zeile 35: Zeile 40:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
Achtung: Aufpassen die Nummern der Spalten (colPos) teilt sich Gridelements mit den Standardspalten (0 bis 4) aber auch den Backendlayouts.
  
 
=== Grid Rendering definieren ===
 
=== Grid Rendering definieren ===
Zeile 54: Zeile 60:
 
   }
 
   }
 
}
 
}
 +
 +
# if you want to provide your own templating, just insert a cObject here
 +
# this will prevent the collected content from being rendered directly
 +
# i.e. cObject = TEMPLATE or cObject = FLUIDTEMPLATE will be available from the core
 +
# the content will be available via fieldnames like
 +
# tx_gridelements_view_columns (an array containing each column)
 +
# or tx_gridelements_view_children (an array containing each child)
 +
# tx_gridelements_view_column_123 (123 is the number of the column)
 +
# or tx_gridelements_view_child_123 (123 is the UID of the child)
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Zeile 60: Zeile 75:
 
Hier reicht die Standardzuordnung der Spalten im TypoScript:
 
Hier reicht die Standardzuordnung der Spalten im TypoScript:
 
<syntaxhighlight lang="typoscript">
 
<syntaxhighlight lang="typoscript">
 +
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
== Gridelements mit Fluid ==
 
== Gridelements mit Fluid ==
 
Hier muß man folgendes anpassen:
 
Hier muß man folgendes anpassen:
 
* Im TypoScript des GE kann man es einem Fluidtemplate zuweisen
 
* Im TypoScript des GE kann man es einem Fluidtemplate zuweisen
*  
+
* Im Fluidtemplate bindet man die Inhalte über den data Viewhelper ein.
 
=== Gridrendering ===
 
=== Gridrendering ===
 
<syntaxhighlight lang="typoscript">
 
<syntaxhighlight lang="typoscript">

Aktuelle Version vom 26. Juli 2016, 05:30 Uhr

Links[Bearbeiten]

Downloads[Bearbeiten]

Datei:Typo3-bootstrap3-gridelements.zip

Einführung[Bearbeiten]

Ähnlich wie im Backend Layout Editor werden Raster definiert, die man dann einsetzen kann. Das Rendering wird über TypoScript definiert.

Quickstart[Bearbeiten]

  • Extension gridelements installieren
  • Ordner für gridelements anlegen
  • Grid Layout Raster erstellen
  • Rendering der Grids definieren (TypoScript)
  • Template anpassen

Raster erstellen[Bearbeiten]

Mit dem Assistenten. Das sieht nachher z.B. so aus:

backend_layout {
  colCount = 2
  rowCount = 1
    rows {
      1 {
        columns {
          1 {
            name = Links
            colPos = 10
          }
          2 {
            name = Rechts
            colPos = 20
          }
        }
      }
   }
}

Achtung: Aufpassen die Nummern der Spalten (colPos) teilt sich Gridelements mit den Standardspalten (0 bis 4) aber auch den Backendlayouts.

Grid Rendering definieren[Bearbeiten]

tt_content.gridelements_pi1.20.10.setup{
  # ID des gridelement
  1 < lib.gridelements.defaultGridSetup
  # oder mit dem Alias Namen: MY_ALIAS < lib.gridelements.defaultGridSetup
  1{
    columns{
      # colPos ID
      10 < .default
      10.wrap = <div class="s12 m8">|</div>
      # colPos ID
      20 < .default
      20.wrap = <div class="s12 m4">|</div>
    }
    wrap = <div class="row">|</div>
  }
}

# if you want to provide your own templating, just insert a cObject here
# this will prevent the collected content from being rendered directly
# i.e. cObject = TEMPLATE or cObject = FLUIDTEMPLATE will be available from the core
# the content will be available via fieldnames like
# tx_gridelements_view_columns (an array containing each column)
# or tx_gridelements_view_children (an array containing each child)
# tx_gridelements_view_column_123 (123 is the number of the column)
# or tx_gridelements_view_child_123 (123 is the UID of the child)

Template anpassen[Bearbeiten]

ohne Fluid[Bearbeiten]

Hier reicht die Standardzuordnung der Spalten im TypoScript:

Gridelements mit Fluid[Bearbeiten]

Hier muß man folgendes anpassen:

  • Im TypoScript des GE kann man es einem Fluidtemplate zuweisen
  • Im Fluidtemplate bindet man die Inhalte über den data Viewhelper ein.

Gridrendering[Bearbeiten]

# Fluid-Template zuweisen
tt_content.gridelements_pi1.20.10.setup {
  # 1 ist die ID des entsprechenden Gridelements
  1 < lib.gridelements.defaultGridSetup
  1 {
    cObject = FLUIDTEMPLATE
    cObject {
      file = fileadmin/tmpl/gridelements/2col_1-1.html
    }
  }
}

Fluid Template[Bearbeiten]

<div class="row">
  <div class="col-md-6 col-xs-12">
    <f:format.raw>
      {data.tx_gridelements_view_column_10->f:format.raw()}
    </f:format.raw>
  </div>
  <div class="col-md-6 col-xs-12">
    <f:format.raw>
      {data.tx_gridelements_view_column_20->f:format.raw()}
    </f:format.raw>
  </div>
</div>

Gridelements und Fluid Styled Content[Bearbeiten]

In TYPO3 v7 wird das alte css-styled-content durch fluid-styled-content ersetzt. Damit kann man das Rendering der Inhalte in Fluid-Templates überschreiben anstatt TypoScript zu benutzen. Siehe auch: [[1]]. Das eröffnet neue Möglichkeiten.

Beispiel: Gridelements und Bootstrap[Bearbeiten]

Siehe auch: http://wiki.zone30.info/wikizone/index.php/TYPO3_-_fluid_styled_content#Beispiel:_Layoutfeld_mit_Bootstrap_Klassen_f.C3.BCr_Fluid_Styled_Content für den Einsatz von Bootstrap ohne Gridelements nur mit Basis TYPO3.

Gridelements bieten sich für Gridbasierte CSS-Frameworks an, da die Grundidee der Spalten ähnlich ist. Mit Gridelements kann man auf dem vorhandenen Raster verschiedene Spaltensetups erzeugen.

  • 1. Grids erstellen.

Überschriften der Content Elemente in Gridelements[Bearbeiten]

Im TypoScript

tt_content.gridelements_pi1.10 =< lib.stdheader

Im Fluid Template (mehr Kontrolle):

<f:cObject data=“{data}“ typoscriptObjectPath=“lib.stdheader“/>