Maskierung in Fluid

Falls jemand mal in die Situation kam, folgende Javascript Notation in einem Fluid-Template zu verwenden, hat schnell gemerkt, dass das nicht funktioniert:

var foo={var1:'variable1', var2:'variable2'};

Es gibt die Möglichkeit Bereiche im Template zu maskieren. Das macht man einfach mit der CDATA-Anweisung:

<![CDATA[ var foo={var1:'variable1', var2:'variable2'}; ]]>

Typoscript manuell auslesen

Kurznotiz: Falls z. B. auf Typoscript manuell zugegriffen werden muß:

$GLOBALS['TSFE']->tmpl->setup["plugin."]["tx_myextension."];

Funktioniert auch mit Extbase. Dort geht es auch kürzer:

$this->settings['meinBereich']['meinSchluessel']

Und der Vollständigkeit wegen, sei noch erwähnt, dass man auch aus einer Flexform heraus Settings hinterlegen kann (siehe Typo3 Extbase: Werte aus der Flexform lesen)

Extbase über Typoscript aufrufen

Kurznotiz: Extbase über Typoscript aufrufen

popup = PAGE
popup {
  typeNum = 100
  10 = USER
  10 {
    userFunc = tx_extbase_core_bootstrap->run
    pluginName = Pi1
    extensionName = MyExtensionName
    controller = MyControler
    action = myAction
    settings =< plugin.tx_myextensionname.settings
    persistence =< plugin.tx_myextensionname.persistence
    view =< plugin.tx_myextensionname.view
  }
  config {
    disableAllHeaderCode = 1
    additionalHeaders = Content-type:text/html
    xhtml_cleaning = 0
    admPanel = 0
  }
}

Der Aufruf kann über die URL getestet werden, indem man den Parameter type=100 anhängt.

Vererbung von Inhalten in Typo3 und TemplaVoilà

Falls man mit TemplaVoilà eine Inhaltsspalte vererben möchte:

10 = CONTENT
10.table = tt_content
10.select.where = colPos=3
10.select.languageField = sys_language_uid
# die eigentliche Slide-Anweisung
10.slide = -1
# optional
10.slide {
# Sammeln aller Einträge in der Rootline
  collect = -1
  collectReverse = 1
}
10.wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->

Typo3 – Baumstruktur im Backend

Nur eine Kurznotiz als Merkhilfe. Dies funktioniert seit Typo3 4.5.x (renderMode) und ist bis dato nicht dokumentiert.

'categories' => array(
       'exclude' => 0,
       'l10n_mode' => 'mergeIfNotBlank',
       'label' => $lPath.':foo',
       'config' => array(
         'type' => 'select',
         'renderMode' => 'tree',
         'treeConfig' => array(
         	 'parentField' => 'parent',
           'appearance' => array(
             'expandAll' => true,
             'showHeader' => true,
           ),
         ),
         'foreign_table' => 'foreign_table',
         'size' => 5,
         'autoSizeMax' => 20,
         'minitems' => 0,
         'maxitems' => 20,
      ),
    ),

Noch eine kleine Anmerkung zur Filterung des Baumes: falls man den Baum in verschiedenen Sysordnern verwendet kann man auch wunderbar mit der aktuellen PID Filtern. Dazu kann man “foreign_table_where” verwenden:

'foreign_table_where' => 'AND myTable.pid = ###CURRENT_PID###'

Google Analytics einfach in Typo3 einbinden

Am einfachsten und ohne Erweiterung geht das natürlich mit Typoscript:

page.100 = HTML
page.100.value (
  <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-XXXXX-X']);
   _gaq.push(['_trackPageview']);
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  </script>
)