blog.bartlweb - a technologist's external brain

Alle Artikel

Typo3 Backend Felder deaktivieren oder vorbelegen

Viele Extensions oder auch der Typo3-Core bieten oft viel mehr Felder in den Backend-Dialogen diverser Content-Elemente an als für viele Einsatzwecke notwendig. Die meisten können über die Benuzterverwaltung und die Zugriffsregeln deaktiviert werden. Scheint ein Feld dort jedoch nicht auf gibt es die Möglichkeit dieses per TypoScript im TS-Config-Feld der aktuellen Seite zu deaktiveren. Im gleichen Zuge gibt es aber auch die Möglichkeit Felder mit Default-Werten vorzubelegen.

Ersetzen Sie DBTabelle und DBField durch den Datenbanknahme und den Namen des Datenbankfelds, jeder beliebigen Extension.

Feld ausblenden

TCEFORM.DBTabelle.DBField.disabled = 1

Feld vorbelegeben

TCAdefaults.DBTabelle.DBField= 1

DirectMail Cronjob auf Mittwald Servern einrichten

Nicht immer lässt sich der DirectMail-Cronjob auf Mittwald-Servern einwandfrei einrichten. Um das Script dennoch zum laufen zu bekommen, muss dieses leicht angepasst werden.

1. Schritt

Zeile 46 des Skriptes typo3conf/direct_mail/res/scripts/dmailderd.:

if (!defined('PATH_site')) define('PATH_site', dirname(dirname(dirname(dirname(dirname(dirname(PATH_thisScript)))))).'/');

wie folgt abändern:

if (!defined('PATH_site')) define('PATH_site', '/html/');

2. Schritt

die Rechte des Serververzeichnis typo3temp (Pfad: /html/typo3temp) von 755 auf 775 ändern.

3. Schritt

Das Cronjob-Intervall in den Einstellungen der Extension (über Extensionmanager) auf die richtige Zeit setzen um Fehl-Fehlermeldungen im Backend zu vermeiden. (Funktion ist aber auch bei falsch eingestellter Zeit gewährleistet.)

Erklärung

1.Schritt: Das Skript benötigt eine absolute Pfadangabe.

RTE Beispielkonfiguration

Gerade das Konfigurieren des RichText-Editors (RTE) von Typo3 benötigt etwas Fingerspitzengefühl, die unten angeführte Beispielkonfiguration soll dabei als Vorlage dienen. Das TypoScript wird dabei in das TSConfig-Feld der entsprechenden Seite kopiert (Einstellungen werden im Baum nach unten weitervererbt).

#
# RTE config
#

# define classes for link-types
RTE.classesAnchor {
    
  externalLink {
    class = link_external
    type = url
    image >
    titleText =
  }

  internalLink {
    class = link_internal
    type = page
    image >
    titleText =
  }

  download {
    class = link_file
    type = file
    image >
    titleText =
  }

  mail {
    class = link_mail
    type = mail
    image >
    titleText =
  }
}

WAI-ARIA

WAI-ARIA nutzt eigene Tags um Elemente auszuzeichnen und damit Hilfsprogrammen deren Aufgabe mittzuteilen so kann z.b. einer Liste die Rolle Menü zugewiesen werden um einem vorhandenen Screenreader mitzuteilen, dass es sich bei dieser Liste um eine Menü handelt und der Screenreader wird dies dem Benutzer mitteilen.

WAI-ARIA wird von allen aktuellen Browsern (bis auf IE) und Screenreadern erkannt und verwendet. Validieren lassen sich mit ARIA-Tags ausgestattete Seiten bis lang allerdings nicht.

Um WAI-ARIA – Angaben in Programmen und Webseiten zu testen hilft das Windows-Tool MSAAVerify:

http://www.codeplex.com/MsaaVerify

Barrierefreie Formulare

Werden einige Grundlagen beachtet ist die barrierefreie Umsetzung von HTML-Seiten und vor allem Webformularen kein Problem.

Richtlinien

  • fieldsets zum Gruppieren von zusammengehörigen Formularteilen benutzen
  • legend zum Beschriften von Fieldsets benutzen
  • jedes Formularfeld besitzt einen ihm zugeordneten Label
  • title für Formularelemente und Buttons benutzen
  • :focus für Formularelemente definieren
  • :hover und :focus für Buttons definieren
  • legend und labels dürfen per CSS falls visuell nicht benötigt ausgeblendet werden

Beispiel

<form action="site.htm" method="post" name="searchform">
  <fieldset>
    <legend>Searchform</legend>
    <label for="searchword">Searchword</label>
    <input type="text" id="searchword" name="searchword" title="enter Searchword" value="" />
    <input type="submit" name="search" title="search now" value="search" />
  </fieldset
</form>

WordPress Posts auf der Hauptseite verkürzen

Worpress bietet von Haus aus die Möglichkeit Posteinträge zu kürzen und einen “read more” – Link zu setzen. Allerdings muss dieser bei jedem Post manuell über den Editor eingefügt werden.

Das WordPress-PlugIn “Post-Teaser” erledigt dies automatisch und versieht Posts nach einer gewissen Anzahl an Wörtern automatisch mit einem “read more”-Link. Weiters bietet es die Möglichkeit Wortanzahl (inkl. Bildanzahl) und die voraussichtliche Lesedauer anzeigen zu lassen.

Alles in allem gerade für Blogs mit längeren Posts ein sehr hilfreiches Tool.

Download: http://wordpress.org/extend/plugins/post-teaser/

Upload von HTML-Dateien in WordPress

Werden in Worpress HTML-Dateien hochgeladen und in den Posts verlinkt sollten diese die Endung .htm haben, da ansonsten nicht auf die Dateien zugegriffen werden kann.

Generell sollte man es allerdings vermeiden .htm, .html oder .php Dateien direkt in WordPress hochzuladen und zu verlinken.

WordPress updaten

automatisches Update

Update über das Backend (wp-admin) und den Menüpunkt Tools -> Upgrade

manuelles Update

  1. DB sichern
  2. die Dateien wp-config.php und den Ordner wp-content sichern
  3. Alle Dateien und Ordner bis auf wp-config.php und dem Ordner wp-content durch die aktuellen austauschen
  4. im Ordner wp-content/plugins die Datei hello.php und den Ordner akismet austauschen
  5. im Ordner wp-content/themes die Ordner classic und default austauschen sofern die Themes nicht modifiziert wurden
  6. im Brower http://domain.com/wp-admin/update.php aufrufen um die Datenbank upzudaten
  7. Blog wie gewohnt benutzen (Sollte der Login nicht funktionieren -> Cookies löschen)

Zugriff von externen IP’s auf HTTPS umleiten

Um per Apache und mod_rewrite den Zugriff im internen LAN über Http und von Extern nur per Https zu gestatten ist folgende Rewrite-Condition hilfreich:

RewriteEngine On
RewriteCond %{HTTPS} Off
RewriteCond %{REMOTE_ADDR} !^192\.168\.10
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

MySQL Root Passwort setzen

Standardmäßig ist nach der Installation von MySQL kein Passowrt für den Benutzer Root gesetzt. Dies stellt nicht nur ein Sicherheitsrisiko dar sondern viele Anwendung stellen ohne Passwort auch keine Verbinung zum SQL-Server her. Mit ein paar Konsolenbefehlen ist das Passwort aber schnell gesetzt:

mysql -u root mysql> use mysql;
mysql> update user set Password=password('neues_passwort') where user='root';
mysql> flush privileges;
mysql> quit