Rss Feed
Tweeter button
Facebook button
Linkedin button
Webonews button
Delicious button
Flickr button
May 15

Unser Barcamp im Centrum für Umwelt und Technologie ist Geschichte…zumindest bis zum nächsten 2011!

Wir haben uns sehr über die Eindrücke, vor allem zum Thema OpenSource, gefreut. Es gab spannende Themen und heiße Diskussionen!

Ein paar visuelle Eindrücke gleich hier im Blog von uns. Ganz viel weiteres Material findet Ihr unter www.barcamp-osnabrueck.de: Videos, Folien, Fotos und natürlich weitere Diskussionen, die sich aus dem Barcamp ergeben haben.
Weiteres zu einzelnen Präsentationen noch in den nächsten Wochen.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
May 05

Barcamp Osnabrück

Nun sind es nur noch zwei Tage bis zum Barcamp OpenSource/Enterprise 2.0 bei uns im Centrum für Umwelt und Technologi, Osnabrück. Die Vorfreude ist groß, Themen und Teilnehmer versprechen eine tolle Veranstaltung mit spannenden Diskussionen und inhaltlichen Höhepunkten.

Letzte Woche haben wir das Barcamp auch im Osradio vorgestellt, kurz und knackig kann sich hier jeder auch auf dem Wege noch einen Eindruck machen:

http://osradio-podcast.de/2010/05/04/barcamp-opensourceenterprise-2-0/

Noch sind Plätze frei, wer sich anmelden möchte kann dies nachwievor unter www.barcamp-osnabrueck.de für alle Veranstaltungen machen.

Wir freuen uns!

So siehts übrigens derzeit hier aus:

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!
Apr 22

Schon lange sind die Tage vorbei, bei denen man mit bloßem CSS und ein bißchen Markup einen bombigen Drupal-Theme gebaut hat. Der Themer von heute stützt sich auch gerne mal auf JavaScript für Effekte, die den Kunden dann hoffentlich vom Hocker pusten.
Eine JavaScript-Datei in einem Drupal-Theme einzubinden ist angeblich nicht schwer – sagt zumindest die Seite in der Dokumentation. Ist ja spitze, denkt man sich und das war auch mein Gedanke.

Jetzt hatte ich den Fall, das ich eine gewisse JavaScript-Datei nur dann mit in die Seitenausgabe aufnehmen wollte, wenn bestimmte Page-Variablen gesetzt sind. Also fix die Funktion template_preprocess_page in der entsprechenden template.php meines Themes überladen und brav meinen Aufruf von drupal_add_js eingebaut. Alles auch ganz erwartungsvoll dem oben genannten Artikel folgend umgesetzt. Somit sah das ganze ungefähr so aus:

/**
 * @brief
 * Implementation von template_preprocess_page.
 *
 * @see http://api.drupal.org/api/function/template_preprocess_page/6
 */
function meintheme_preprocess_page(&$variables) {
  // JavaScript nur einhängen, wenn die Variable TRUE ist.
  if ($variables['irgendwas']) {
    drupal_add_js(drupal_get_path('theme', 'meintheme') . '/js/mein.js', 'theme');
  }
}

Alles klar, speichern, hochladen, Drupal Caches leeren, Seite neuladen. Nichts passiert.

Gut, OK kann passieren. Code überprüft, alles schlüssig. Dann Firebug geöffnet und nachgesehen, ob auch ein entsprechender Eintrag im -Bereich der Seitenausgabe steht. Natürlich nicht. Es schien von Anfang an schon zu einfach zu sein -.-
Um das ganze jetzt kurz zu machen, hier die Erklärung warum die Referenz auf die JavaScript-Datei nicht da war, obwohl offensichtlich alles richtig zu sein schien.

Das Problem liegt darin, dass die Page-Variablen in Drupal u.a. auch die Referenzen auf alle registrierten JavaScript-Dateien umfassen. Lässt man sich in der obigen Funktion nämlich einfach mal $variables['scripts'] ausgeben (bspw. mit Hilfe des Devel-Moduls, so sieht man alle entsprechenden Einträge. Der Aufruf von drupal_add_js() findet also zu spät statt, da die Page-Variable $scripts (wie sie in page.tpl.php heißt) bereits gefüllt wurde.
Sieht man sich hierzu die Core-Implementation in Drupal 6 von template_preprocess_page einmal genauer an, stößt man auf diese Zeile:

$variables['scripts'] = drupal_get_js();
 

Genau darin liegt der Trick. Dupliziert man diese Zeile einfach nach dem Aufruf von drupal_add_js in der template.php, so wird auch unsere JavaScript-Datei ausgeben.
Das Endergebnis sieht dann ungefähr so aus:

/**
 * @brief
 * Implementation von template_preprocess_page.
 *
 * @see http://api.drupal.org/api/function/template_preprocess_page/6
 */
function meintheme_preprocess_page(&$variables) {
  ....
  // JavaScript nur einhängen, wenn die Variable TRUE ist.
  if ($variables['irgendwas']) {
    drupal_add_js(drupal_get_path('theme', 'meintheme') . '/js/mein.js', 'theme');
    $variables['scripts'] = drupal_get_js();
  }
  ....
}

Happy Theming, kids!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Jan 25

Zig Content Management Systeme, aber die folgende Online-Präsentation zeigt auf, warum ein Umstieg auf Drupal sinnvoll ist:

http://www.slideshare.net/chrisshattuck/drupal-kick-butt

Von den genannten Gründen profitieren nicht nur wir als Entwickler und Dienstleister für Drupal, sondern auch unsere Kunden, da wir flexibler und schneller arbeiten – ohne Qualität einzubüßen.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Jan 25

Ich begrüße Sie herzlich auf unserem neuen Blog!

Wir wollen Ihnen hier schnell und unkonventionell Trends und Informationen zu aktuellen Themen zur Verfügung stellen. Außerdem werden wir hier auch ganz im Sinne des OpenSource-Gedankens kostenfrei einige unser Modulentwicklungen zur Verfügung stellen.

Beste Grüße,

Ihr Wolf Goertz

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Tweet this!Tweet this!