logo

Programmieren oder so ähnlich


Schon mal was von Redaxo gehört?

Posted in CMS, MySQL, PHP, Web Development von admin am 25. Mai. 2008

Joomla, Wordpress, Typo3 sind für die meisten Webentwickler bekannte Begriffe.

Wie sieht es aber mit Redaxo aus? Nein? Dann will ich hier mal meine Erfahrungen und Meinungen zum CMS Redaxo preisgeben.

Einstieg in die CMS-Programmierung

Bislang habe ich nie grossartig an einem CMS rumprogrammiert. Als ich aber für einen Internetauftritt, dessen Grundstein (das installierte Redaxo CMS) bereits vorhanden war, viele Modifikationen machen und Special-Wünsche erfüllen musste, hatte ich es zum ersten mal mit der Programmierung in einem CMS zu tun.

Folgende Punkte machten mir die Hölle heiss:

  • Ich kannte das CMS gar nicht. Was ist ein Addon? Was ein Modul?
  • Objektorientiert programmieren mit PHP? Damals hatte ich es nicht mehr als ein Mal gemacht. Hab z.B. oft die Klammern bei den Methoden vergessen wie hier –> $artikel->getCategory->getId();
  • Die Klassen und Methoden, die ich benötigte waren mir vorerst alle unbekannt.
  • Redaxo gibt es bereits in der 4. Version. Trotzdem stehen Zusatzfunktionen zum Download bereit, die für ältere Versionen entwickelt wurden. Diese versuchte ich verzweifelt auf dem neuen Release lauffähig zu machen.

Ich füllte mich, als wurde ich einfach ins kalte Wasser geworfen. Stundenweise zerbrach ich mir den Kopf über Probleme, die ich glaubte nie lösen zu können. Jedoch hatte ich nach einer ganzen Woche tüfteln den Dreh langsam raus und kannte die wichtigsten Klassen und Methoden. Mit der Zeit merkte ich immer mehr und mehr, wie genial manche Sachen gelöst wurden. Heute verwende ich als CMS überwiegend Redaxo.

Homepage und Download: www. redaxo.de

Der Aufbau von Redaxo
In Redaxo gibt es Kategorien, die Artikel oder Unterkategorien enthalten.

Ein Artikel wird aus verschiedenen Modulen zusammengesetzt, wie es die folgende Grafik zeigt.

Diese Module (Blöcke) können beim Schreiben eines Artikels simpel eingefügt werden. Es gibt viele fix fertige Module, aber man kann diese auch selber programmieren.

Hier mal ein Beispiel-Modul mit dem ich eine ungeordnete Liste erstellen kann.

Nebenbei gibt es bei Redaxo noch andere wichtige Funktionen, z.B. Addons und wie bei allen gängigen CMS auch Templates/Themes.

Was mir an Redaxo gefällt?

  1. Dass ich es mittlerweile beherrsche :-)
  2. Methoden- und Klassennamen sind aussagekräftig.
  3. Schönes und schlichtes Backend.
  4. Eigene Erweiterungen (Addons, Module) können relativ einfach entwickelt werden.
  5. Die Community, die zwar klein ist, aber die Antworten auf Fragen relativ schnell bringt.
  6. Das Framework ist sauber dokumentiert, obwohl manche Dokumentationen noch unvollständig sind.
  7. Erlaubt dem Entwickler flexibel zu sein.

Ich will euch nochmals darauf hinweisen, dass ich andere CMS nicht so gut im Detail kenne. Also ich habe die Meinungen nicht aus Vergleichen zwischen Redaxo und Joomla und Co. getroffen.

Einfacher Einstieg für dich

Da ich mit diesem Beitrag auch Hilfe leisten will, schreibe ich noch die wichtigsten Links und sonstige hilfreiche Tipps zum Redaxo-Einstieg, die mir geholfen haben.
Für den Anfang:
(Forumsbeitrag) Einfachen Artikel auslesen
Einfacher SQL mit dem Redaxo-Framework

Nachschlage-Werke:
Redaxo Dokumentation und Datenbankschema
Online-Dokumentation
Doku zum Framework (aktuelle Version)
Doku zum Framework der älteren Version (Meiner Meinung nach besser dokumentiert)
Weitere Hilfe zu PHP mit Redaxo

Für spätere Probleme:
(Forumsbeitrag) Umlaute und Sonderzeichen werden nicht richtig dargestellt
(Forumsbeitrag) Doppelter Eintrag in der Datenbank
(Forumsbeitrag) Probleme beim Add-On schreiben
(Forumsbeitrag) Bildtitel und Bildbeschreibung ausgeben

Muster und Texturen

Posted in Design, Web Development von admin am 11. Feb. 2008

Bei jeder Realisierung einer Internetpräsenz gehört natürlich, neben der Entwicklung, auch das Design dazu. So musste ich letztens für eine Website ein Hintergrundmuster suchen bzw. aus einer Textur ein Hintergrundmuster erstellen.

Natürlich suchte ich nach bereits vorhandenen Mustern, bevor ich eine erstellte. Dabei bin ich auf diese Seiten gestossen, die ich euch nicht vorenthalten will.

Bitte vergesst nicht auf die Lizenz zu achten, damit ihr nicht irgendwie die Urheberrechte verletzt.

Website in verschiedenen Browsern testen mit Browsershots

Posted in Web Development von admin am 13. Jan. 2008

Wenn man ein Websitedesign erstellt soll es auf möglich allen Browsern gleich aussehen. Wer sich nicht damit zufrieden gibt seine Website, wie ich bisher, auf vier verschiedenen Browsern (IE, Firefox, Opera, Safari) zu testen, dem sei geholfen.

Auf Mitra.ch entdeckte ich einen Beitrag über den Onlineservice von Johann C. Rocholl. Browsershots nennt sich dieser Service, der Screenshots einer Website von verschiedenen Browsern liefert. Man trägt eine Website ein, kommt in eine Warteschlange wobei anschliessend auf verschiedenen Rechnern mit verschiedenen Browsern Screenshots von der Seite gemacht und zum Download verfügbar gestellt werden.

Auf jeden Fall ein nützliches Werkzeug.

Interessante Ergebnisse einer Umfrage zu Eclipse

Posted in Entwicklungsumgebung, Java, Web Development, Programmieren allgemein von admin am 1. Jan. 2008

Eine Umfrage in der Eclipse Community, deren Ergebnisse bereits im Sommer 2007 präsentiert wurden, bringt interessante Zahlen zur Verwendung von Eclipse.

Z.B. dass die meist verwendeten Eclipse-Projekte folgende sind

  1. Java Development Tools (88% der Befragten)
  2. Web Standard Tools (54%)
  3. J2EE Standard Tools (44%)
  4. Rich Client Platform (42%)
  5. Eclipse Modeling Framework (37%)

Ich hätte nie gedacht, dass soviele der Eclipse-Anwender damit auch Web Projekte realisieren. Bei dieser Umfrage nahmen ca. 1000 Personen teil. Mehr Informationen findet ihr in diesem Beitrag von Golem.de .

Mein letzter Umstieg in Sachen Entwicklungsumgebung war der auf Eclipse Webprojekte zu programmieren. Bis jetzt lassen sich PHP-Skripts ganz gemütlich in Eclipse schreiben. Meine Meinung zum Thema “Eclipse als IDE für Webprojekte” werdet ihr noch zu lesen bekommen ;) .

Übrigens: Happy new year :D

Hilfreiche Array-Funktionen (PHP)

Posted in PHP, Web Development von admin am 26. Nov. 2007

Letztlich habe ich mal begonnen eine Funktion zu programmieren, die mir die Elemente in einem Array zufällig sortiert. Nach nicht mehr als 10 Minuten fragte ich Google, da ich einfach zu faul war. Und siehe da, anstatt ein mehrzeiliges Codeschnipsel war die simple Funktion shuffle die Lösung.

Was ich daraus gelernt habe ist, dass in PHP fast alles schon irgendwie vorprogrammiert ist.

Nun…
Wenn wir schon bei den Arrays sind möchte ich ein paar Array-Funktionen auflisten, die zumindest mir die Arbeit (neue Funktionen programmieren) abnehmen.

  • asort
    • Sortiert ein Array.
  • shuffle
    • Sortiert zufällig bzw. mischt die Elemente in einem Array.
  • rsort
    • Array in umgekehrter Reihenfolge sortieren.
  • array_flip
    • Werte und Schlüssel in einem Array werden vertauscht.

Weitere Array Funktionen gibt’s hier.

    PHP Sicherheit

    Posted in Sicherheit, PHP, Web Development von admin am 11. Nov. 2007

    Sicherheit in der Webentwicklung spielt eine grosse Rolle. Man ist manchmal wirklich verblüfft wie anfällig manche Webprojekte sind, da zu wenig oder gar kein Wert auf die Sicherheit gelegt wird.

    Dabei kann die grundlegende Sicherheit mit relativ einfachen Eingriffen bewährt werden.
    Da wären mal Regeln wie:

    • Benutzereingaben niemals trauen
    • Register Globals nicht verwenden
    • Daten filtern & validieren
    • Lieber Sessions als REQUEST-Variabeln zum Transport von Daten verwenden
    • und und und

    Jens Ferner hat das PHP Security Guide des PHP Security Consortium auf Deutsch übersetzt und noch mit ein paar eigenen Ergänzungen versehrt. Dieses Security Guide bietet einen leichten Einstieg in die PHP Sicherheit und demonstriert, welche Sicherheitslücken in PHP-Projekte unbewusst gemacht werden und natürlich wie sie bekämpft werden können. Ich habe einiges Neues entdeckt und bin nun noch sicherheitsbewusster beim Skripten.

    Auf jeden Fall zu empfehlen. Hier der Link zum deutschen PHP Security Guide von Jens Ferner.

    Nützliche Firefox Add-ons für Webworker

    Posted in PHP, Web Development, Programmieren allgemein von admin am 3. Nov. 2007

    Das entwickeln von Homepages ist manchmal eine harte Sache :D .

    Zum Glück gibt es für Firefox-Nutzer wie mich kleine Helfer, die mir die Arbeit erleichtern. Ja, genau, die Rede ist von Firefox Add-ons.

    Blitzschnell von Firefox zu IE

    Ein oft auftretendes Problem bei der Erstellung einer Website ist, dass manche im Internet Explorer nicht so aussehen wie im Firefox. Dieses Add-on löst zwar das Problem nicht, aber es erleichtert die Arbeit es zu beheben.

    Mit dem Add-On IE Tab kann man im Firefox bequem eine Website mit IE-Ansicht simulieren und das ganz komfortabel in dem man auf das Firefox-Symbol rechts unten im Eck anklickt oder auf das Symbol in der Symbolleiste.

    POST- und GET-Parameter beeinflussen

    Im Blog von Ilimitado.de wurde über ein weiteres Add-On berichtet, welches bei Programmierarbeiten äusserst nützlich ist. Mit der Erweiterung UrlParams lassen sich bequem POST- und GET-Parameter anpassen. Es können auch neue Parameter gesetzt werden.

    Kennt ihr weitere nützliche Add-Ons?

    SQL Select liefert immer true zurück, warum?

    Posted in MySQL, PHP, Web Development von admin am 18. Okt. 2007

    Nach langem wieder einmal hab ich eben eine kopfzerbrechliche Auseinandersetzung mit meinen Kollegen PHP und MySQL erlebt.

    Für die Homepage www.clipcrawl.com musste ein Tagcloud her. Anstatt ein fix fertiges Script zu benutzen, dachte ich mir “Schreib doch selber schnell ( :P ) ein Tagcloud-Script”. Also fing ich auch damit an. Und man kommt hier um eine Datenbanklösung nicht herum. Ich benutzte MySQL und irgendwo musste ich Selects mit der Funktion mysql_query() ausführen.
    Das Ergebnis, welches ich vom SQL-Select erhalte beinhaltet einen Boolean-Wert der mir mit dem Rückgabewert True sagt, dass der Befehl erfolgreich war und mit False nicht.

    Also führte folgenden Select aus “SELECT tag, count FROM tag_tabelle WHERE tag = ‘Games’ “.

    Die Tabelle tag_tabelle erhält die Tags, von denen welche im Tagcloud ausgegeben werden. Die Spalte tag hat den Typ Varchar(150). Ein Datensatz mit dem Wert ‘Games’ in der Spalte tag existierte aber nicht. Warum denn nicht? Die Tabelle war leer und wurde frisch erstellt. OK. Dieser Select würde mir (rein theoretisch) einen Booleanwert mit False als Wert zurückliefern, da ja der gesuchte Datensatz in der Tabelle nicht existiert.

    Aber nein nein! Programmieren würde sich mein Hobby & Beruf nicht nennen, wenn etwas nicht läuft wie erwartet. Auch hier lief es nicht wie erwartet. Als Rückgabewert erhielt ich True !!! “Hää?” Dachte ich. “Unmöglich! Geht doch nicht!”. Warum soll der Select erfolgreich gewesen sein?

    Mit mysql_fetch_row() versuchte ich (weil es ja anscheinend ein Resultat gab) einen Datensatz zu packen. Dieser war aber leer. *???*


    Ich dachte ich werde verrückt. Da ist doch nichts drin in dieser Tabelle und immer erhielt ich beim Select einen Erfolg gemolden.

    Ach ja, PHPmyAdmin habe ich nicht benutzt, da ich darauf keinen Zugriff hatte. Nur FTP-Zugriff hatte ich. Ich arbeitete nur mit PHP-Scripts.

    Nach langen Blockaden in meinem Hirn entschied ich mich das ganze schnell auf meinem XAMPP-Server lokal nachzuspielen. Gut. Server gestartet und per phpMyAdmin einen Datensatz anhand der VARCHAR-Spalte tag gesucht (natürlich mit SQL Befehl). Das Resultat war wirklich nicht rot im Hintergrund. Kein Fehler wurde gemolden. Aber eine Meldung stand da “MySQL lieferte ein leeres Resultat zurück (d. h. null Zeilen).” -.-

    Also: Wenn man SQL-Befehle mit z.B. mysql_query ausführt und dabei bei Select-Abfragen im WHERE-Zusatz eine VARCHAR/CHAR-Spalte prüft, dann sich bitte nicht auf den boolean-Rückgabewert verlassen. Gibt es Fehler, so werden diese auch entsprechend mit False gemeldet.

    Oder in Kurzfassung: Leere Ergebnisse können auch True sein.

    Obwohl ich wirklich am verzweifeln war, fand ich es wieder eine tolle Erfahrung und man sieht hier, dass der Computer nur Befehle ausführt und nicht dumm sein kann.

    Login mit PHP, Sessions und MySQL

    Posted in CMS, MySQL, PHP, Web Development von admin am 14. Okt. 2007

    Schon lange ist es her, dass ich mit PHP ein Login-System programmiert habe. Dieses habe ich nur aus reiner Experimentierfreude gecodet, so dass es mir nur so halb im Gedächtnis erhalten blieb.

    Auf der empfehlenswerten Internetseite php-resource.de habe ich ein cooles Tutorial entdeckt, welches ich euch nicht vorenthalten will, falls ihr auf dem Weg seid ein Login-System mit PHP und MySQL zu programmieren.

    Von mir erhält der Autor (mrhappiness) hiermit einen virtuellen Applaus :) .
    Also, hier der Link zum Tutorial “Login mit Hilfe von PHP und mySQL”.

    Have fun ;) .

    Nice to know: Optionale Parameter in PHP Funktionen

    Posted in PHP, Web Development von admin am 30. Sep. 2007

    Bis heute habe ich es noch nie benötigt, aber wenn man sich ein bisschen intensiver mit PHP beschäftigt, dann merkt man schon, dass es immer wieder neues zu entdecken gibt.

    Also, für die, die den Titel nicht gelesen haben… ;) es geht hier um optionale Parameter in PHP Funktionen.

    Ich will, dass meine Funktion get_sitename() einen Parameter namens variante hat, welche aber nur optional angegeben werden muss. Dies erreiche ich folgendermassen:

    <?php
      function get_sitename($variante = 0) {
        //...
      }
    ?>
    

    Wenn man get_sitename() aufruft und dabei keinen Wert für den Parameter variante angibt, so wird diesem Parameter als Standardwert, die Zahl 0 zugewiesen.

    Hier ein bisschen mehr Code, um ein praktisches Beispiel zu sehen.

    
    <?php
      function get_sitename($variante = 0) {
        switch($variante) {
          //Case: Seitentitel mit echo ausgeben
          case 1:
            echo 'klajo.com';
          //Case: Wenn kein Parameter mitgegeben
          case 0:
            return 'klajo.com';
        }
      }
    ?>

    Auf #PHP/QuakeNet gibt’s noch ein bisschen mehr zu den optionalen Parametern.

    NNächste Seite »

    Blogverzeichnis - Blog Verzeichnis bloggerei.de blog-o-rama.deSuchmaschinenoptimierung mit Ranking-Hits supported by www.rankingcloud.de Blog Top Liste - by TopBlogs.de Free Games

    Add to Technorati Favorites Sofortkredit ohne Schufa