Abteilung für Gestaltung GmbHRüdigerstrasse 12 Telefon +41 44 500 10 20 |
Womit wir uns jeden Tag herumschlagen. Zeilen, die uns schneller ans Ziel bringen.
Vor der Programmierung eines Moduls oder Plugins mit ExtJS sollte man seine Typo3 Version überprüfen, um zu wissen, welche ExtJS Version benötigt wird. Dies erspart einem später viel Ärger, falls zusätzliche Klassen (im core sind bereits einige Plugins u.ä. vorhanden) eingebunden werden. Auch die Sencha Doc Api sollte dementsprechend gewählt werden. [mehr]
ExtJS 4.0.0 (TYPO3 5) ExtJS 3.4.0 (TYPO3 4.6) ExtJS 3.3.2 (TYPO3 4.4, 4.5)
Mit diesem jQuery ist es ganz einfach möglich Text innerhalb eines Tags, einer ID oder Klasse im HTML-Dokument zu ersetzen. [mehr]
jQuery(document).ready(function(){ var strNewString = jQuery('body').html().replace(/Zu ersetzende\(r\) Text\(e\)/g,'mit diesem Text ersetzen'); jQuery('body').html(strNewString); });
Für ein Modul kann man verschiedene TypoScript Konstanten definieren und gebrauchen. Seit der Version 4.3 kann man im ext_conf_template.txt neu seine Konstanten nicht nur nach den Standard-Subkategorien (enable, dims, file, typo, color, other, links, language) 'gruppieren' man kann auch eigene kreieren. [mehr]
# customSubcategory=meinLabel=LLL:EXT:extKey/locallang_extconf.xml:labelKeyImXml; konstante { # cat=config/meinLabel/010; type=string; label = Titel: ev. Beschreibung wert = Mein String # cat=config/meinLabel/020; type=int; label = Titel: ev. Beschreibung wert2 = 3 }
Um ExtJS-Komponenten in einem Modul zu gebrauchen, kann man bekanntlich ExtDirect-StateProvider über den PageRenderer hinzufügen. Falls dabei folgende Fehler auftauchen, könnte dies an den Benutzereinstellungen ($BE_USER->uc) liegen:[mehr]
// Fehlermeldung im Konfigurationstool PHP Catchable Fatal Error: Object of class stdClass could not be converted to string in /var/sources/typo3_src-version/t3lib/utility/class.t3lib_utility_math.php line 85 // Fehlermeldung im Log (Protokoll) Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1: PHP Catchable Fatal Error: Argument 2 passed to t3lib_PageRenderer::addInlineSettingArray() must be an array, string given, called in /var/www/domain/typo3conf/ext/extKey/mod/file.php on line x and defined in /var/sources/typo3_src-version/t3lib/class.t3lib_pagerenderer.php line 1439 | t3lib_error_Exception thrown in file /var/sources/typo3_src-version/t3lib/error/class.t3lib_error_errorhandler.php in line 105. Requested URL: http://yourdomain/typo3/mod.php?M=moduleKey
Mit diesem CSS vereinfachen wir das Basis-CSS von Powermail für TYPO3. [mehr]
fieldset.tx-powermail-pi1_fieldset { /* Fieldset */ border: 0; background: none; padding: 10px; } fieldset.tx-powermail-pi1_fieldset input.powermail_text, fieldset.tx-powermail-pi1_fieldset input.powermail_date, fieldset.tx-powermail-pi1_fieldset input.powermail_datetime, fieldset.tx-powermail-pi1_fieldset textarea.powermail_textarea, fieldset.tx-powermail-pi1_fieldset input.powermail_captcha { /* Input and textarea */ border:none; background: #fff none; -moz-box-shadow:0 0; -webkit-box-shadow:0 0; padding: 2px; width: 245px; font-size: 12px; } fieldset.tx-powermail-pi1_fieldset select, fieldset.tx-powermail-pi1_fieldset textarea { font-size: 12px; font-family: arial, sans-serif;!important } fieldset.tx-powermail-pi1_fieldset textarea { height: 100px; } fieldset.tx-powermail-pi1_fieldset select { margin-left: 30px; } fieldset.tx-powermail-pi1_fieldset textarea:focus, fieldset.tx-powermail-pi1_fieldset input:not([type="submit"]):focus { background: #fff none; border: 0; -moz-box-shadow: 0 0; -webkit-box-shadow: 0 0; } fieldset.tx-powermail-pi1_fieldset label, fieldset.tx-powermail-pi1_fieldset fieldset legend { /* label */ display: block; width: 170px; float: left; font-weight: normal; color: #fff; white-space: normal; } fieldset.tx-powermail-pi1_fieldset input.powermail_submit { /* submit button */ margin: 20px 0 60px 170px; font-weight: bold; font-size: 14px; background: #f26a21; color: white; border: 0; } .powermail_check { width: 15px; height: 15px; } .error { background-color:#f00; border:1px solid #f00; font-size:10px; color:#fff; padding:3px 10px 5px 10px; margin-left:-2px; z-index:9999; text-align:left; height:auto; margin: 0 0 0 -240px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; -moz-box-shadow:0 0 0 #ddd; -webkit-box-shadow:0 0 0 #ddd; box-shadow:0 0 0 #ddd; } .error p { margin: 0; padding: 0; font-weight: normal; }
Mit fogendem PHP-Code kann man eine FE-Useranmeldung erzeugen.
'uname' => 'uername', 'uident' => 'password', 'status' => 'login' ); $GLOBALS['TSFE']->fe_user->checkPid=0; //do not use a particular pid $info= $GLOBALS['TSFE']->fe_user->getAuthInfoArray(); $user=$GLOBALS['TSFE']->fe_user->fetchUserRecord($info['db_user'],$loginData['uname']); $ok=$GLOBALS['TSFE']->fe_user->compareUident($user,$loginData); if($ok) { //login successfull $GLOBALS['TSFE']->fe_user->createUserSession($user); } else { //login failed }
Mit diesem jQuery-Skript kann die Footer-Position dynamisch zum Inhalt positioniert werden.[mehr]
function footerFix(){ var wHeight = jQuery(window).height(); var hHeight = jQuery('#YourDiv1').height(); var sHeight = jQuery('#YourDiv2').height(); var cHeight = jQuery('#YourDiv3').height(); var mTop = 100; //Zusätzliche Höhe mitberechnen // Alle Content-Elemente (Div) zusammenzählen var tHeight = hHeight + cHeight + sHeight + mTop; if (wHeight < tHeight){ jQuery('#footer').css({ 'position' : 'relative', 'margin-top': 40 + 'px' }); } else if (wHeight > tHeight){ jQuery('#footer').css({ 'position': 'fixed', 'bottom' : 20 + 'px' }); } } // Wird in Echtzeit ausgeführt sobald Browsergrösse verändert wird jQuery(window).resize(function () { footerFix(); }); jQuery(document).ready(function() { // Funktion aufrufen footerFix(); });