netnode IT services GmbH
Mythenstrasse 7
6003 Luzern
041 450 10 66
Kontaktformular
Newsletter [neu]
If you want to add a menu entry with a link to a lotus notes application then the error message "The path 'notes://path' is either invalid or you do not have access to it." will show up.
The problem is that Drupal does not allow the Protocol "notes" by default.
The filter module will check whether the protocol is allowed or not in the function filter_xss_bad_protocol.
<?php
variable_get('filter_allowed_protocols', array('http', 'https', 'ftp', 'news', 'nntp', 'telnet',
'mailto', 'irc', 'ssh', 'sftp', 'webcal', 'rtsp')));
?>
Von Kundenseite erhalte ich ab und zu die Frage: “Warum Drupal?”. Ich möchte diese Frage beantworten und dabei die Kunden sowie Entwickler Perspektiven berücksichtigen.
Drupal ist einfach in der Nutzung
Die Administration ist logisch und klar strukturiert, auch bei sehr umfangreichen Webseiten.
Drupal ist flexibel und modular
Auf www.drupal.org befinden sich über 4000 zusätzliche Module welche jederzeit installiert werden können und somit die Funktionalität erweitern.
Ab sofort erscheint unsere neue Webseite. Mit dem Release der neuen Webseite ergänzen wir unser Produktportfolio mit einem erweiterten Internet Marketing Angebot sowie Consulting Angeboten.
Neu betreiben wir auch einen Newsletter den wir alle 3 Monate versenden.
Wir freuen uns auf ein aufregendes neues Jahr mit vielen interessanten Projekten und Arbeiten.
Snippets
Image Cache Usage
<?php
print theme('imagecache', $preset, $image['filepath'], $alt, $title, $attributes);
?>Manually load a bunch of nodes with SQL
<?php
$nodes = array();
$sql = "SELECT nid FROM content_type_event";
$result = db_query($sql);
while ($result && ($object = db_fetch_object($result))) {
$nodes[] = node_load($object->nid);
}
?>Manually load a menu
<?php
$menu_global = menu_navigation_links("secondary-links", 0);
$menu1 = menu_navigation_links("primary-links", 0);?>Das DrupalMediaCamp stellt das Content Management Framework Drupal und dessen Nutzen in Medienunternehmen ins Zentrum. Auf dem Camp werden zahlreiche Medienkonzerne berichten, die Drupal bereits heute erfolgreich bei sich einsetzen. Lukas Fischer von netnode wird eine Session über "Die Zukunft von Drupal" halten.
Whenever you have to write your own access function for a menu entry - here is the short explenation how to do this:
The menu entry should have a "access callback" definition. This defines the function which checks the access and returns true or false. You cann pass arguments via the 'access arguments' definition.
<?php
$items['whatever/%/edit'] = array(
'title' => t('Edit'),
'page callback' => 'dosomething_edit',
'page arguments' => array(1),
'access callback' => 'check_edit',
'access arguments' => array(1),
'weight' => 1,
'type' => MENU_LOCAL_TASK,
);?>Inspiriert von http://tinyurl.com/5db7ag habe ich gleich ein eigenes Ubiquity Script ausprobiert. Es kommt oft vor, dass ich Inhalte aus einem Mail oder aus einer Website in ein Drupal Formular kopiere z.B. um einen Blogeintrag zu posten. Ubiquity erlaubt ein fast automatisierter Vorgang.
Das Resultat:
<?php
CmdUtils.CreateCommand({
name: "blog",
execute: function() {
var s = CmdUtils.getTextFromHtml(CmdUtils.getHtmlSelection());
var e = encodeURIComponent;
url = 'http://www.netnode.ch/node/add/blog?t=' + e(s) + '&b=' + e(s);
Utils.openUrlInBrowser(url);?>Ein typische Anwendung in CMS Administrationen ist das tabellarische Auflisten von Einträge. Das händische programmieren von Tabellen nimmt einem Drupal elegant ab.
<?php
// $nodes ist ein Node-Array
foreach ($nodes as $node) {
$rows[] = array('<a href="/node/'.$node->nid.'">'.$node->title.'</a>',
'<a href="/node/'.$node->nid.'/edit">Edit</a>');
}
$header = array('Titel', 'Option');
$output .= theme_table($header, $rows);
?>Es gibt immer wieder Situationen bei denen man die Filter Optionen von Drupal manuell ausführen muss. Das ist ganz einfach. Die Magie liegt im File filter.module (http://api.drupal.org/api/file/modules/filter/filter.module/5).
Die wichtigsten Funktionen:
_filter_url($text, $format), macht aus möglichen URLs klickbare Links, $format ist das Input-Filter-Format das beim Textfeld ausgewählt wurde. (1 = Filtered HTML, 2 PHP code, 3 = Full HTML)
_filter_autop($text), macht aus Newlines
's bzw.
's
Beispiel:
Vergangenes Wochenende fand die Fosdem 2008 (Free and open source software developer's european meeting) in Brüssel statt. Anlässlich dieses Treffens wurden im "Drupal Developers Room" (http://www.fosdem.org/2008/schedule/devroom/drupal) einige Präsentation zu Drupal gehalten.
Auf http://lvb.net/item/6026 sind 8 Präsentationen als Video abrufbar. Es werden interessante Themen wie Usability, Combining Amazon Web Services with Drupal, Drupal and MySQL High Availability, Web Service Development for Managers und Asset Management diskutiert.