Code, Entwicklung, PHP, Plugin, WordPress

SAP Daten in WordPress darstellen, verarbeiten

WordPress ist ebenso in den Unternehmen angekommen, sei es um schnell eine interne Plattform zu erstellen oder Inhalte online zu verteilen. Verschiedene Aspekte spielen hier eine Rolle – einzig die Form der GPL macht es Unternehmen nicht leicht damit zu arbeiten bzw. sich auf die Resultate zu konzentrieren.

Darum soll es aber nicht gehen. Der Sinn dieses Artikels ist die Verknüpfung von Daten aus dem SAP ERP System und WordPress. Beide Plattformen können unterschiedlicher nicht sein und doch bestimmen beide einen Großteil meiner Zeit über den Tag. Kundenseitig habe ich ebenso mit beiden Systemen viel zu tun und berate und finde Lösungen zu Zielen und Problemen. Darum lag es nun nahe, eine alte Geschichte wieder aufzuwärmen und für einen Kunden diverse Inhalte aus dem SAP System in WordPress darzustellen, genauer im Frontend von WordPress um über diverse Inhalte live zu informieren. Daher galt es via PHP von WordPress aus auf Funktionsbausteine, geschrieben in ABAP, zuzugreifen und die Daten aufbereitet zu erhalten. Wenn man sich mit beiden Systemen befasst, kommt man schnell zu einer Lösung – SAP RFC.

RFC – Communication between applications in different systems in the SAP environment includes connections between SAP systems as well as between SAP systems and non-SAP systems. Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. RFC calls a function to be executed in a remote system.

Weiterlesen

Standard
Themes, Tipps, WordPress

Beschreibungen für WordPress Widget-Bereiche

WP Adventskalender 05
Mit WordPress Version 2.9 gibt es nun die Möglichkeit, dass man nähere Beschreibungen der Widget-Bereiche übergeben kann. Dies ist besonders dann interessant, wenn man unterschiedliche Widget-Areas definiert, sei es in Abhängigkeit der Kategorien in der Sidebar oder weil man als Theme-Autor diverse Widget-Bereiche definiert, die Anpassungen in mehr Bereichen, als nur im Sidebar, zulassen. Ich tue dies beispielsweise im Theme Greyfoto, wo auch der Footer-Bereich via Widgets bestückt werden kann.
Weiterlesen

Standard
Themes, Tipps, WordPress

WordPress Standard Widgets deaktivieren

Nicht immer möchte man alle Widgets, die der WordPress Core so mitbringt, im Theme aktiv haben. Das haben sich auch die Entwickler von WordPress gedacht und eine entsprechende Funktion mitgeliefert anstatt die Widgets in ein Plugin, gern auch als Core Plugin, ausgelagert.

Für Theme-Autoren bleibt nur der Weg, in die functions.php des Themes eine kleine Funktion abzulegen, die die Widgets, welche man nicht mag, deaktiviert. Der folgende Syntax schaltet alle Standard-Widgets ab. Er sollte daher angepasst werden, je nach Anforderung.
Weiterlesen

Standard
Tipps, WordPress

WordPress Dashboard Widget hinzufügen

Die kommende Version 2.7 von WordPress bringt die lang ersehnten Widgets in den Dashboard-Bereich. Damit kann dann jeder User seine eigenen Vorstellungen des Dashboard realisieren. Ebenfalls ist es nun auch dem Nutzer überlassen, wie lange die Ladezeiten sind und welche Informationen man dort sehen will; je nach Integration von externen Inhalten.

Für Plugin- und Theme-Autoren ist es aber interessant, denn ab nun kann man dem Nutzer diversen Mehrwert bieten. Informationen aus dem Plugin oder Theme können dort angeboten werden, so dass der Nutzer selbst entscheidet, ob er diese Info’s sehen will.

Schön ist, dass die Integration sehr einfach zu nutzen ist und ähnlich wie die Meta Boxen (hier schon detailliert erklärt) gesteuert wird, die im übrigen dafür verantwortlich ist, aber mit einer Funktion direkt für Widgets ausgestattet wurde. Das folgende kleine Beispiel zeigt, wie man ein Widget in das Dashboard integriert.
Weiterlesen

Standard
Themes, WordPress

PhotoBlog Theme für WordPress mit Widgetanpassung

Vor geraumer Zeit habe ich ein Theme erstellt, was explizit auf das Puplizieren von Photos gedacht ist. Damit ist die Realisierung eines PhotoBlogs mit Hilfe von WordPress recht einfach möglich und trotzdem werden einige nützliche Funktionen wie EXIF-Daten als Zusatzinformation angeboten.

Das Theme wird recht vielfach eingesetzt und die Konfiguration war für den Laien nicht immer einfach. Nun habe ich das Theme neu erstellt, wobei es einige Veränderungen in Markup und CSS gab. Im weiteren habe ich an den Theme-Funktionalitäten gebastelt und das Layout im Sidebar und Footer ist nun per Widget steuerbar, siehe folgender Screenshot. Weiterlesen

Standard
Webküche

Widget ohne Programmierkenntnisse erstellen

Operas bietet mit seinem neuem „Widgetize!“ einen Service an, mit dem man sich, ohne Kenntnisse in Sachen Programmierung, ein Widget für seinen RSS- oder Atom-Feed erstellen kann. ganz einfach und simpel: Typ wählen –> Namen für das Widget eingeben –> Link zum Feed eingeben und Design wählen. Fertig. Nun bekommt der User mehrere Code-Schnippsel, aus denen er sich das gewünschte Objekt sucht und auf seine Website bannt. Schöne Idee.

Beispiel für meinen Feed auf bueltge.de und kvfl.com:
Widgetize! Widgetize!

Standard
Tipps, WordPress

WP – Der „Rahmen“ für ein Widget Plugin

Ein Plugin unternahm den Versuch, dem Anwender von WordPress das erstellen seines Layouts zu vereinfachen.
Kenntnisse in html, geschweige denn php sind dafür nicht notwendig. Mittlerweile hat sich das Plugin durchgesetzt und viele Anwender nutzen diese Art der Templatekonfiguration. Auch ich war davon betroffen, denn eine Anfrage nach einem kleinen Plugin, welches bisher nicht als Widget-Plugin zur Verfügung stand, sorgte dafür, dass ich mich ein wenig mehr mit dem „Rahmen“, der für ein Widget notwendig ist, auseinander setzte. Sinnvoll oder nicht, das muss jeder selbst wissen.

Wer allerdings ein Plugin schreiben möchte, der muss sich an gewisse Regeln halten. Mehr Information dazu gibt es auf der dazugehörigen Site – WordPress Widgets.

Um zusätzliche Funktionen einzubinden, oder bereits bestehende Plugins für das Widget-Plugin zu erweitern steht nun hier ein „Rahmen“ zur Verfügung, der nur angepasst werden muss.

Update: eine aktualisierte Verison ist als Gist 1305241: Widget Tutorial hinterlegt. inklusive Cache Nutzung.


<?php
/*
Plugin Name: Name des Widgetplugins
Plugin URI: http://
Description: Eine kurze Beschreibung
Author: Dein Name
Version: 0.0
License: deine Linzenzvergabe
Author URI: http://
*/

// Widget initialisieren, wenn Widget-Plugin aktiv
function FB_Init_Widget() {
  if (!function_exists('register_sidebar_widget'))
    return;

  // Dein Widget einbinden
  function widget_FB_DEIN_NAME($args) {
    if (is_home()) {
      extract($args);

      $options = get_option('widget_FB_DEIN_NAME');

        // Optionale Abfrage für die Übergabe von Parametern
        // Hier kann man beispielsweise OPTIONS abfragen
        $OPTION_1 = $options['OPTION_1'] ? 'checked="checked"' : '';
        if ($OPTION_1 == 'checked="checked"') $PARAMETER = 1;

      $title = $options['title'];

      echo $before_widget;

      if ($title != '') {
        echo $before_title . $title . $after_title;
      }

      // Nun rufen wir die Funktion(en) auf, die die neue Funktionalität enthält
      Der_Code_des_eigentlichen_Plugins($PARAMETER);

      echo $after_widget;
    }
  }

  // Hier steht der Code der Funktion(en), die die eigentliche Funktionalität enthält
  function Der_Code_des_eigentlichen_Plugins(Parameter) {

  }

  // Widget-Control
  function widget_control_FB_DEIN_NAME() {
    $options = $newoptions = get_option('widget_FB_DEIN_NAME');
    if ( $_POST['widget_FB_DEIN_NAME_submit'] ) {

      // Abfrage einer Option im Control-Fenster
      $newoptions['OPTION_1'] = isset($_POST['widget_FB_DEIN_NAME_OPTION_1']);

      // Abfrage des Title im Control-Fenster
      $newoptions['title'] = strip_tags(stripslashes($_POST['widget_FB_DEIN_NAME_title']));
    }
    if ( $options != $newoptions ) {
      $options = $newoptions;
      update_option('widget_FB_DEIN_NAME', $options);
    }

    $title = wp_specialchars($options['title']);
  ?>
    <!-- Ab hier die Ausgabe im Control-Fenster des Adminbereiches -->
    <p>
      <label for="widget_FB_DEIN_NAME_title"><?php _e('Title:'); ?> 
       <input style="width: 200px;" id="widget_FB_DEIN_NAME_title" name="widget_FB_DEIN_NAME_title" type="text" value="<?php echo $title; ?>" />
      </label>
    </p>
    <p style="text-align:right;margin-right:40px;">
      <label for="widget_FB_DEIN_NAME_OPTION_1" style="text-align:right;">OPTION_1 
       <input class="checkbox" type="checkbox" <?php echo $OPTION_1; ?> id="widget_FB_DEIN_NAME_OPTION_1" name="widget_FB_DEIN_NAME_OPTION_1" />
      </label>
    </p>
    <p style="text-align:right;margin-right:40px;"><?php echo $error; ?>
    </p>
    <input type="hidden" id="widget_FB_DEIN_NAME_submit" name="widget_FB_DEIN_NAME_submit" value="1" />
  <?php
  }

  // Widget im Admin-Panel hinzufügen - register_sidebar_widget($name, $callback) 
  register_sidebar_widget('DEIN_NAME', 'widget_FB_DEIN_NAME');
  // Zusätzliche Argumente im Widget-Control - register_widget_control($name, $callback, $width , $height);
  register_widget_control('DEIN_NAME', 'widget_control_FB_DEIN_NAME', 200, 100);
}

// Integration in WP - add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);
add_action('plugins_loaded', 'FB_Init_Widget');
?>

Download:

Download als phps-Datei
Download als phps-Datei: widget.phps

Standard
Tools, Webküche

Tools – Widgets als Firefox Extension

Screenshot Firefoxit
Click mich !

Die Idee der MAC-Widgets gibt es schon mit diversen Tools für Windows-Rechner. Leider benötigen die meisten dieser Programme recht viel der Systemleistung des PCs. Damit soll nun Schluss sein, behauptet zumindest der Entwickler der Firefox-Erweiterung „Firefoxit„.
Nun, ich habe mir das ganze mal angesehen und bin bisher begeistert. Die „kleinen“ Widgets kann man über Webseiten erstellen ,will heißen, dass man sich also jede Art von Tools in die Oberfläche integrieren kann. Bisher gefällt mir die Lösung recht gut, auch wenn man sicher noch eine Menge verbessern und erweitern kann. Aber das Extension ist ja auch noch im Beta-Status (0.1).

Ausschnitt Screenshot Firefoxit
Click mich !

Die html-basierenden Widgets können überall auf der Oberfläche ein- bzw. ausgeblendet werden. Im unteren Bereich des Desktops befindet sich eine Leiste, die alle Fenster zum Öffnen beherbergt. Auch diese Icons können einfach angepasst werden.
Wie man sich eingen Seiten schreibt, erklärt der Autor auf seiner Seite – alles auf Basis von html und css.

Ich bin gespannt, was in den nächsten Monaten für weitere Entwicklungen kommen. Bisher gefällt mir die Idee jedenfalls sehr gut.

Standard