Folgend ein kleiner TypoScript Snippet um den BodyTag mit zusätzlichen Klassen zu rendern.
Eine ist mehr informativ und gibt die Page ID aus z.B. „pid-123“. Die andere gibt das aktuell ausgewählte bzw. „vererbte“ Seitentemplate von fluidpages aus und kann für Stylingzwecke gut gebraucht werden.
Der TypoScript Kenner kann dies leicht z.B. für FLUIDTEMPLATE umschreiben.
page {
bodyTag >
bodyTagCObject = COA
bodyTagCObject {
10 = TEXT
10 {
data = page:uid
stdWrap.noTrimWrap = |pid-| |
}
20 = TEXT
20 {
if.isTrue.data = page:tx_fed_page_controller_action
data = page:tx_fed_page_controller_action
split {
token = >
returnKey = 1
}
case = lower
}
20.wrap = tmpl-|
30 = TEXT
30 {
if.isFalse.data = page:tx_fed_page_controller_action
data = levelfield:-2, tx_fed_page_controller_action, slide
split {
token = >
returnKey = 1
}
case = lower
}
30.wrap = tmpl-|
}
bodyTagCObject {
wrap = <body class="|">
}
}
[globalString = IENV:TYPO3_SSL=1]
config.baseURL = https://www.foo-domain.de/
[else]
config.baseURL = http://www.foo-domain.de/
[global]
$this->gpvar = $this->request->getArguments();
$this->response->addAdditionalHeaderData($stringForHeader);
Manchmal ist vielleicht nötig programmatisch in der Extbase Controller Action ein anderes FLUID Template zu laden.
/**
* action myaction
*
* @return void
*/
public function myactionAction() {
$this->view->setTemplatePathAndFilename('typo3conf/ext/mykey/Resources/Private/Templates/Base/Anothertemplate.html');
}
So, jetzt wird es mal langsam Zeit auch die anderen Kategorien zu füllen. Dieses mal ist es nur ein kurzer Snippet um über das cObj Elemente aus der tt_content zu ziehen.
<?php
$cConf = array(
'tables' => 'tt_content',
'source' => '234', //single uid or komma separated uids
'wrap' => '<div class="mydiv">|</div>',
'dontCheckPid' => 1,
);
$content .= $GLOBALS['TSFE']->cObj->RECORDS($cConf);
>?
In Extbase kann das natürlich auch sehr schön über einen Viewhelper realisiert werden ;-) Als kleine Fleißaufgabe könnte man diesen erweitern um auch die wrap Funktion des RECORDS Objektes zu unterstützen.
<?php
//http://www.in2code.de/community/snippet-datenbank/snippets/detail/content-element-viewhelper-um-seiteninhalte-in-fluid-zu-rendern/?tx_in2snippets_pi1%5Bcontroller%5D=Snippet&cHash=d2f09c6efd1f4f244f295418f241a25d
/**
* Shows Content Element
*
* @package TYPO3
* @subpackage Fluid
*/
class Tx_Powermail_ViewHelpers_ContentElementViewHelper extends Tx_Fluid_Core_ViewHelper_AbstractViewHelper {
/**
* @var Tx_Extbase_Configuration_ConfigurationManagerInterface
*/
protected $configurationManager;
/**
* @var Content Object
*/
protected $cObj;
/**
* Parse a content element
*
* @param int UID of any content element
* @return string Parsed Content Element
*/
public function render($uid) {
$conf = array( // config
'tables' => 'tt_content',
'source' => $uid,
'dontCheckPid' => 1
);
return $this->cObj->RECORDS($conf);
}
/**
* Injects the Configuration Manager
*
* @param Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager
* @return void
*/
public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
$this->configurationManager = $configurationManager;
$this->cObj = $this->configurationManager->getContentObject();
}
}
/*aufruf in fluid template mit
<!-- FLUID: Render Content Element with uid 123 -->
<vh:ContentElement uid="123" />
*/
?>
So, es wird nun langsam Zeit die Kategorien mit Inhalten zu füllen ;o) Und Typoscript macht den Anfang mit einer dynamischen Jahreszahl.
lib.copyright = TEXT
lib.copyright {
dataWrap = © {date:Y} Irgendeinefirma GmbH
}
Irgendwie wollte ich meine Begeisterung von Monkey und TYPO3 [die für T3 ist mittlerweile am abklingen ;-)] zusammen bringen und habe eine kleine Extension für TYPO3 entwickelt, mit der man das HTML5 Target von Monkey über ein Plugin in die TYPO3 Seite integrieren kann.
Einfach den Build Ordner von Monkey in den fileadmin hoch laden, das Plugin auf einer beliebigen Seite einfügen und dann in der Plugin Flexform auf diesen Ordner verweisen => fertig!
Nur leider musste ich feststellen das meine Extension einer Aufräumaktion zum Opfer gefallen war und diese nun nicht mehr im TYPO3 Repository zu finden ist. Warum auch immer? Einfach so ohne Kommentar, das hat mich ein bisschen geärgert! Und deswegen werde ich mir auch nicht mehr die Mühe machen diese ins TER hoch zu laden.
Trotzdem will ich aber den letzten Stand auf meiner Seite zur Verfügung stellen! Diese liegt nun „nur“ als zip-Datei vor, da das neue TYPO3 6 aus dem Extensionmanager „nur“ noch zip-Files und keine t3x-Files mehr exportiert..?
[wpdm_file id=13]
<?php
//Templatefile
$this->templateCode = $this->cObj->fileResource($tmplfile);
$template['content'] = $this->cObj->getSubpart($this->templateCode, '###SUBPART###');
$markerArray['###MARKER1###'] = '';
$markerArray['###MARKER2###'] = '';
$markerArray['###MARKER3###'] = '';
$content = $this->cObj->substituteMarkerArrayCached($template['content'], $markerArray);
?>
Web, Coding, Mac, Snippets, a Blog and more…