Kategorie: Snippets

0

Standard-Mailform

Minimales Setup für Standard-Mailformular sollte mitbringen: Reply-To an Websitebesucher fester From-Name… …und From-Email (sonst ggf. falsch automatisiert ermittelt) Konfiguration könnte somit etwa aussehen wie folgt: Name | *replyto_name=input E-Mail | *replyto_email=input Nachricht | *Nachricht=textarea | from_name=hidden | example.com | from_email=hidden | info@example.com | formtype_mail=submit | Absenden | html_enabled=hidden | subject=hidden | example.com Mailformular

12

Imagesize und Crop abhängig von der colPos

Um Bilder nicht nur eine feste Breite in Abhängigkeit von der colPos zuzuweisen, sondern auch noch zu croppen, bentötigt man folgendes Snippet: temp.tt_content.image < tt_content.image tt_content.image = CASE tt_content.image {   key.field=colPos   0 < temp.tt_content.image   1 < temp.tt_content.image   2 < temp.tt_content.image     1.20.1.file.width >   1.20.1.file.height >   1.20.1.file {     width = 698c     height = 400c   }   2.20.1.file.width >   2.20.1.file.height >   2.20.1.file {     width = 200c     height= 150c   } }

0

TypoLinks auch in HTML-Elementen parsen

Um Links in HTML-Elementen zu parsen benötigt man folgende Zeilen im setup: # Syntax: # ausgelassene Parameter können hinten weggelassen oder durch „-“ freigehalten werden # <link PID/URL/Mail TARGET/WIDTHxHEIGHT CLASS „TITLE“>LINKTEXT</link> # # Beispiele: # <link 2>Zur Seite</link> # <link 7 – a-link „zur Information“>hier</link> # <link http://www.google.de 300×400 myPopup-class „in neuem Fenster“>Google</link> # <link info@abc.de – myMail „E-Mail senden“>Kontakt</link> # tt_content.html.parseFunc.tags.link < lib.parseFunc.tags.link Das target kann dann noch über das setup folgendermaßen ändern: tt_content.html.parseFunc.tags.link.typolink {     extTarget >     extTarget = _self     target >     target = _self }

4

Hintergrundbild und Fallback auf Defaultsprache

Auf welche Weise die Sprachbehandlung und Fallbacks erfolgen sollen bzw. ob die Regelung auch für Bilder greifen soll, ist von Projekt zu Projekt verschieden. Eine öfters anzutreffende Variante ist: Falls kein Bild in der Übersetzung der Seite vorhanden ist (pages_overlay), nimm das aus der Default-Sprache, falls dort auch keines ist, dann schau in der Rootline nach oben bis eines gefunden wird.   // 1. Idealerweise das Bild aus dem media-Feld der Sprache nehmen (override) // 2. Falls leer, dann das aus der Default-Sprache (override.ifEmpty) // 3. Falls da auch nix drin steht, dann levelmedia bis Root hochgucken temp.dynamicImage = IMG_RESOURCE...

0

diverse userConfig Einstellungen

Hier einmal ein paar userConfig Einstellungen, die z.B. hilfreich sind, wenn der Redaktionsbenutzer nur seinen Namen oder Passwort ändern darf. setup.override {     # Persönliche Daten ein/ausblenden     realName =     ## Ihr Name     email =     ## Ihre E-Mail-Adresse     emailMeAtLogin = 0     ## Mich per E-Mail benachrichtigen, wenn sich jemand mit meinem Konto anmeldet     password =     ## Neues Passwort     password2 =     ## Neues Passwort (Wiederholung)     lang = de     ## Backend-Sprache              # Beim Start ein/ausblenden         startModule =     ## Beim Start folgendes Modul aufrufen   ...

0

jfmulticontent nur Inline Elemente zur Auswahl geben

Wir wollen den Redakteuren die Auswahl der „richtigen“ Inhalte etwas vereinfachen und stellen Ihnen defaultmäßig nur die Inline Elemente zur Verfügung: Im Page TSConfig wird folgendes eingefügt: TCEFORM.tt_content.tx_jfmulticontent_view.removeItems := addToList(page,content) Jetzt fehlt uns nur noch das Überschreiben des eigentlichen Default Wertes um die unschöne Meldung „Invalid value“ zu entfernen. Einfach ins User-TS oder Group-TS TCAdefaults.tt_content.tx_jfmulticontent_view = irre Und schon hat der Redakteur nur noch die Inline Elemente zur Auswahl.

1

Subheader im Backend anzeigen (falls nicht default eingestellt)

Folgendes in die pageConfigTS einfügen: TCEFORM.tt_content.subheader.disabled = 0 Jetzt muss noch die extTables angepasst werden: t3lib_extMgm::addFieldsToPalette(‚tt_content‘,’header‘,‘–linebreak–,subheader;LLL:EXT:cms/locallang_ttc.xml:subheader_formlabel‘,’after:header‘); Für TYPO3 6.2 LTS muss die Datei extTables.php im typo3conf-Ordner noch angelegt und die folgende Zeile eingefügt werden: <?php \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(‚tt_content‘,’header‘,‘–linebreak–,subheader;LLL:EXT:cms/locallang_ttc.xlf:subheader_formlabel‘,’after:header‘); Und zu guter Letzt, diese Zeilen ins setup.ts (TYPO3 6.0) lib.stdheader.20 = TEXT lib.stdheader.20 { field = subheader wrap = <h2>|</h2> if > if.isTrue.field = subheader }

0

Powermail fieldset CSS Klassen erweitern oder ändern

Hier ein kleines Snippet um die Klassen in Powermail zu erweitern oder abzuändern (style1 etc).  Einfach den folgenden Code in die config Datei von TYPO3 packen und schon hat man die Klassen nach seinen Wünschen geändert. TCEFORM {   # change CSS dropdown for fieldset   tx_powermail_fieldsets {     class {       removeItems = style1, style2, style3       addItems.nolegend = Without Legend       addItems.leftform = Left Fieldset       addItems.rightform = Right Fieldset     }   }   # Use the same settings for fields   tx_powermail_fields {     class < TCEFORM.tx_powermail_fieldsets.class   } }

0

Cache leeren für Backend User

Damit einem Redakteur das Löschen des Caches ermöglicht werden kann, müssen folgende zwei Zeilen in das Usergroup/User-Setup eingefügt werden: options.clearCache.pages = 1 options.clearCache.all = 1

0

HTML-Mails als Standard bei Directmail-/Newsletteranmeldung

Folgendes Problem: Bei der Anmeldung zu einem Newsletter soll der Haken bei HTML-Mails Standardmäßig eingeschaltet sein. User haben meist nicht die Möglichkeit dies zu steuern. Dieses kleine Snippet macht es möglich. # html als Standard plugin.feadmin.dmailsubscription { table=tt_address create.overrideValues.disable = 1 create.overrideValues.module_sys_dmail_html = 1 } Oder man baut direkt in das Anmeldeformular ein hiddenfield mit dem entsprechenden Wert ein: lib.nl-anmeldung = HTML lib.nl-anmeldung.value(   <div>    <div><h1>Newsletter</h1></div>     <form action=“kontakt/newsletter/?“ method=“post“ name=“tt_address_form“ />       <input type=“hidden“ name=“FE[tt_address][name]“ value=“—“ />       <p>E-Mailadresse:<br /></p>       <input type=“text“ name=“FE[tt_address][email]“ />       <input type=“hidden“ name=“FE[tt_address][module_sys_dmail_html]“ value=“1″ />       <br />       <input type=“submit“ name=“whatever“...