Mein Video Blog
http://nickiplorer.schaerwebdesign.ch/site/user/1/blog
:) eine entstehende Video Community. Interesse? Dann einfach anmelden und mal ausprobieren...
Webtechniken. Wie werden sie eingesetzt. Praktisch Tricks, Hilfen und Links dazu.
http://nickiplorer.schaerwebdesign.ch/site/user/1/blog
:) eine entstehende Video Community. Interesse? Dann einfach anmelden und mal ausprobieren...
Durch den Umzug hat sich der Internetanschluss ein wenig verspätet... das Leben steht praktisch still. Ich könnte eigentlich auch Ferien machen. Wenn mans nicht hat, merkt man wie sehr man davon abhängig ist...
Drupal ist am Kommen. Im deutschsprachigen Raum gibt es jedoch noch nicht viele Entwickler. Hier eine kleine Liste
Eingestellt von Raphael um 7:00 AM
Labels: drupal, entwicklung
Es gibt sie noch, die kleinen, praktischen, platzsparenden Firefox Addons. Über so eines bin ich heute gerade gestoplert.
Das Addon zeigt unten in der Statusliste an, wie lange die Seite zum laden hatte, und wie viele bytes effektiv geladen wurden. Da ich im Moment gerade eine Plattform am entwickeln bin, welche möglichst platzsparend sein muss, kommt bei mir die Anzeige der geladenen Bytes gerade wie gerufen, da ich so sofort sehe, wie gross die effektiv geladenen bytes (natürlich excl. dem Inhalt, welcher schon im Cache ist) sind.
Hier der Link zum Addon:
Life of request info
Eingestellt von jan um 11:22 AM
Labels: büroanwendungen, entwicklung, firefox, Internet, php, webdesign
Wie ich im gestrigen Post berichtet habe, lässt sich mit Drupal ziemlich einfach eine autocomplete Funktionalität bauen... es geht sogar noch einfacher. Drupal besitzt von Haus auf bereits die entsprechende Funktionalität. Es muss nur noch folgendes gemacht werden:
Die Schnittstelle im hook_menu festlegen:
$items[] = array(
'path' => 'autocomplete',
'callback' => 'autocomplete',
'access' => user_access('access autocomplete'),
'callback arguments' => array('in' => arg(2)),
'type' => MENU_CALLBACK);
Wobei die ungefähr so aussehen könnte. Mittels drupal_to_js werden die Daten in der richtigen Form zurückgegeben.
function autocomplete($in){
...
while($row_3 = db_fetch_array($res_3)){
$matches[$row_3['tag']] = $row_3['tag'];
}
print drupal_to_js($matches);
}
$form['ngroups_search_tags'] = array(
'#type' => 'textfield',
'#title' => t('Tagsuche'),
'#description' => t("Inhalt deiner Gruppe durchsuchen"),
'#autocomplete_path' => 'ngroups/ngroups_autocomplete_search_tag',
);
Die Funktion "Autocomplete" kennt jeder. Die gängigen Browser unterstützen diese bereits seit einiger Zeit. Ich möchte nicht mehr darauf verzichten, da es doch die Arbeit erleichtert. Auch in Drupal lässt es sich relative einfach einbinden. Ich zeige hier ganz kurz die wichtigsten Grundlagen auf.
Update 8.8.07: Es gibt eine einfachere und bessere Möglichkeit.
Zuerst müssen die entsprechenden Daten herunter geladen werden.
Daten laden
Damit steht die entsprechende CSS und Javascript Datei zur Verfügung und kann von Drupal verwendet werden.
drupal_add_js('/jquery.autocomplete.js');
drupal_add_css('/css/jquery.autocomplete.css');
Ajax Schnittstelle erstellen
Als nächstes muss eine entsprechende Ajax Schnittstelle im Modul bereitgestellt werden. Dies gschieht im hook hook_menu():
$items[] = array(Path: Dies ist die Schnittstelle, welche vom Javascript angesprochen werden kann.
'path' => 'autocomplete',
'callback' => 'autocomplete',
'access' => user_access('access autocomplete'),
'type' => MENU_CALLBACK);
$("#input_field").autocomplete("autocomplete", {Es gibt noch viele andere Parameter, welche gewählt werden können. Dafür am Besten das Readme anschauen. "autcomplete" zeicht auf den Pfad, welcher in hook_menu spezifiziert.
delay: 150,
width: 260,
maxItemsToShow:10,
lineSeparator: '%'
});
function nickiplorerm_autocomplete(){
global $user;
$uid = $user->uid;
$q = strtolower($_GET["f"]);
if (!$q || $uid == '') return;
$sql = " SELECT DISTINCT receiver_email FROM {nickiplorerm_sent_content}
WHERE uid = '$uid'
AND receiver_email like '%$q%'";
$res = db_query($sql);
while($row = db_fetch_array($res)){
print $row['receiver_email'].' % ';
}
}
Ich weiss nicht, wie lange diese Funktion schon vorhanden ist, aber sie ist genial. Diese erlaubt es, eine hierarchische Struktur zu machen. Besonders wenn man viele Feeds beobachtet, ist das doch sehr nützlich. Kann ich also nur weiter empfehlen...