• cakefest in Berlin

    Die cakephp Community trifft sich erstmals in Berlin. Das ganze findet vom 9. Juli bis zum 12. Juli statt. Mehr Infos gibt es auf cakefest

  • CakePHP Set::extract

    Um mit Arrays zu arbeiten, bietet es sich an die Klasse Set von cake zu verwenden. Ich verwende meist die Methode extract. Es gibt eine gute Syntax womit man auf einfache Weise Daten aus einem Array extrahieren kann. $datas = array( 0 => array('foo' => array( 'id' => 'test123', 'bar'=>'blub') ), 1 => array('foo' => [...]

  • Modelbeziehungen mit hasOne

    Wenn eine bestehende Datenbankstruktur mit Cake verwendet werden soll, ist es oft so, dass es die Feldbezeichnungen nicht dem Cake Standard entsprechen. Um aber dennoch eine Beziehung herstellen zu können benötigt man zusätzliche Parameter in seinem Model. Wie so was aussehen könnte ist hier zu sehen:

  • cake find mit Bedingungen und mit verknüpften Tabellen

    $this->Model->find('all', array('conditions' => array('ORDER_ID' =>$oid, 'NAME' => "guterAuftrag"))); $this->set('products', $this->Model1->Model2->find('list' , array( 'fields' => array('Produkt.produkt_id','Produkt.name'), 'recursive' => 2 )));

  • Multiple Checkboxen

    Entweder habe war ich unfähig richtig zu suchen oder es gibt wirklich keine Möglichkeit mit CakePHP mehr als eine Checkbox anzulegen. Jedenfalls habe ich mir eine eigene Funktion zusammengeschustert. Ich brauchte eine Ansammlung von Checkboxen um ein oder mehrere Produkte auswählen zu können. Hier das Ergebnis für die View:

  • Cake paginator sortiert mit Richtungspfeilen

    Will man zu der Sortierfunktion des Paginators noch Bilder hinzufügen, wie z.B. Pfeile, dann kann man über die Funktion $paginator->sortDir() dem Link eine CSS Klasse mit geben, die genauso heißt, wie die Sortierung. Hier ein Beispiel: echo $paginator->sort('Best. Nr', 'ORDER_ID',array('class'=>$paginator->sortDir())); dies gibt dem Link eine css Klasse mit die entweder asc oder desc heißt. Und [...]

  • XLS Helper für cakePHP

    /** * By Cleiton Wasen * wasenbr at gmail.com * Based in http://www.appservnetwork.com/modules.php?name=News&file=article&sid=8 * */ class XlsHelper { var $helpers = array(); /** * set the header configuration * @param $filename the xls file name */ function setHeader($filename) { header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download");; header("Content-Disposition: attachment;filename=$filename"); [...]

  • Datum ins Deutsche ändern mit cake Helper

    class DatumHelper extends Helper { /* Diese Funktion wandelt SQL Datumsangaben im Datetimeformat * in das deutsche Datumsformat um. Folgende Optionen können * angegeben werden: * 0 oder keine Angabe: Nur das Datum wird erstellt. * 1: Es werden auch Stunden und Minuten ausgegeben. * 2: Es werden Stunden, Minuten und Sekunden ausgegeben. */ function [...]

  • Cake Paginator mit group by

    Der Standard Paginator von Cake kann kein “group by” absetzen. Um das zu ändern muss man die beiden Methoden paginate und paginateCount im Model überschreiben: public function paginate($conditions, $fields, $order, $limit, $page = 1, $recursive = null, $extra = array()) { $conditions[] ="1 = 1 GROUP BY block_id"; $recursive = -1; return $this->findAll($conditions, $fields, $order, [...]

  • Mit der find Methode zählen

    möchte man mit der find Methode von CakePHP die Datenbankeinträge zählen, ist diese Abfrage hilfreich: $Anzahl = $this->Tabelle->find('count', array( 'conditions' =>array( 'tab_id='.$TabID,'bla = 0')));