Typo3: Doesen’t have a default value beim Anlegen neuer Inhalte

Gerade stand ich vor folgendem Problem: Nach einem Serverumzug einer Typo3-Installation auf einen IIS kam jedes Mal beim Anlegen eines neuen Datensatzes ein SQL-Fehler alá 2: SQL error: 'Field 'tx_powermail_title' doesen't have a default value' (tt_content:NEW511dfca29705)

Weiterlesen

Veröffentlicht unter Typo3 | Hinterlasse einen Kommentar

100 statt 10 Google-Suchergebnisse

Für ein aktuelles Projekt von mir muss ich die Ergebnisse der Googlesuche parsen und hätte gerne 100 statt nur 10 Ergebnisse so dass ich nicht umständlich alle Ergebnissseiten durchgehen muss.

Glücklicherweise gibt es den Parameter num der wie folgt angewandt werden kann: https://www.google.de/search?q=site:deniz-polat.de&num=100

Dank Google Instant bekommen wir trotzdem nur 10 Ergebnisse. Abhilfe schafft der folgende Parameter: as_qdr=all Angewendet werden kann dieser wie folgt https://www.google.de/search?q=site:deniz-polat.de&num=100&as_qdr=all

Veröffentlicht unter SEO | Verschlagwortet mit , | Hinterlasse einen Kommentar

SilverStripe 2.4 Qucktipp: HtmlEditorField Links nach bearbeiten des Textes fixen


Manchmal ist es notwendig einen über das HtmlEditorField gepflegten Text vor der Ausgabe automatisiert anzupassen, weil zum Beispiel bestimmte Stilvorgaben korrigiert werden müssen.

Dies ist an sich kein Problem, wir erstellen eine Funktion welche das geänderte HTML zurückliefert und rufen diese im Template auf. Diese Funktion könnte zum Beispiel wie folgt aussehen:

public function getFilteredContent()
  {
    $Content = $this->ContentField;
    $Content = ganz_wichtiger_filter($Content);
 
    return $Content;
  }

Dies funktioniert wunderbar so lange in dem HTML keine Links zu internen Seiten vorhanden sind. Diese werden als Shortcode im HTML-Text hinterlegt [sitetree_link id=1] und bei der Ausgabe eines HTMLText-Feldes geparsed. Wenn wir unser Feld nun nicht mehr direkt ausgeben, sondern über eine Funktion fällt das parsen leider weg.

Damit Links nun wirder korrekt übersetzt werden, müssen wir ein HTMLText-Feld an unser Template zurückliefern und dazu unsere Funktion wie folgt anpassen:

public function getFilteredContent()
  {
    $Content = $this->ContentField;
    $Content = ganz_wichtiger_filter($Content);
 
    return DBField::create('HTMLText', $Content);
  }

Bei SilverStripe 3 habe ich mir das nicht angesehen, kann mir aber gut vorstellen, dass dies dort genau so läuft.

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

SilverStripe 3 GridField

Eine sehr große Änderung in SilverStripe 3 ist die Abschaffung von ComplexTableField, TableField und TableListField. Leider sorgt dies auch dafür, dass der sehr nützliche dataobjectmanager nicht mehr funktioniert und wir über diesen nun keine Beziehungen mehr abbilden können.

Welche Alternative es gibt, möchte ich in diesem Artikel kurz vorstellen.
Weiterlesen

Veröffentlicht unter SilverStripe 3 | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

SilverStripe ManyManyDataObjectManager Filter only_related

Sehr nützlich bei vielen Datensätzen ist die Möglichkeit diese zu Filtern. Hierzu bietet uns der DataObjectManager die Metode setFilter an, welche zum Beispiel so aufgerufen werden kann.

1
2
3
4
5
$Manager->setFilter(
   'ColorValue', //Fieldname
   'Filter by color',//Title
    array('Red' => 'Red', 'Green' => 'Green') //Source options array
);

Wenn wir nun jedoch den ManyManyDataObjectManager verwenden, um $many_many Beziehungen abzubilden und diese Filtern wollen, wird es ein bisschen komplizierter. Weiterlesen

Veröffentlicht unter SilverStripe | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Kohana 3.2 und CloudControl

Seit längerem schon schiele ich immer mal wieder zu CloudControl rüber und denke dass ich bei zukünftigen Anwendungen die eine oder andere bei CloudControl hosten werde.

Da ich privat Kohana 3.2 verwende und dies nicht out of the box bei CloudControl läuft, beschreibe ich in diesem Artikel wie man eine Kohana 3.2 Anwendung bei CloudControl zum laufen bekommt.
Weiterlesen

Veröffentlicht unter Kohana 3 | Verschlagwortet mit , | 1 Kommentar

Linux Quicktipp: Verzeichnisse suchen und löschen

linuxSchnell ist es passiert, man will “mal eben schnell” Änderungen deployen und lädt bei einem Projekt welches man mit Subversion verwaltet die .svn-Ordner mit auf den Server.

Jeden Ordner jetzt einzelnd zu löschen wäre sehr mühselig, besonders bei sehr vielen Ordnern. Erneutes “sauberes” hochladen ist auch eine sehr unschöne Lösung.

Wenn man auf ein Linuxsystem deployed, ist dies allerdings kein großes Problem: Einfach in das Verzeichnis wechseln in das wir unsere Dateien und Ordner hochgeladen haben und folgenden Befehl ausführen:

1
find . -type d -name ".svn" | xargs rm -rf
Veröffentlicht unter Linux | Verschlagwortet mit | Hinterlasse einen Kommentar

SilverStripe Quicktipp: Hilfe aus dem Adminmenü entfernen

Gerade bin ich darauf gestoßen, dass man Menüeinträge im Adminbereich via z.B. CMSMenu::remove_menu_item('AssetAdmin'); in der _config.php entfernen kann, dies wohl aber nicht für den Menüpunkt Hilfe gilt.

Da mir eine Lösung via JavaScript zu zu unsauber erschien, hier eine andere.
Weiterlesen

Veröffentlicht unter SilverStripe | Verschlagwortet mit | Hinterlasse einen Kommentar

SilverStripe Quicktipp: Deutsches Datumsformat in Templates

Leider lokalisiert SilverStripe nicht immer deutsche Datumsangaben korrekt. Da ich nun schon ein paar Mal darüber gestolpert bin, hier eine Lösung die ich vor einiger Zeit dazu gefunden habe.
Weiterlesen

Veröffentlicht unter SilverStripe | Verschlagwortet mit | 1 Kommentar

Apache Killer bringt Apache zum Stillstand

Gerade habe ich auf heise.de gelesen, dass ein bislang unbekannter Fehler in der Verarbeitung von Byte-Range-Headern sich dazu ausnutzen lässt einen Apache-Webserver 2.2 zum Stillstand zu bringen.
Weiterlesen

Veröffentlicht unter Websicherheit | Verschlagwortet mit , , | 3 Kommentare