Per neccessità di utilizzo in un mio piccolo progetto mi sono preparato questo piccolo script che permette di generare un blocco (o una lista all'interno di una pagina se inserito nel node.tpl.php) che visualizza tutti i nodi di un detterminato tipo di contenuto (blog in questo caso) filtrandoli in base al creatore del nodo corrente che sto visualizzando.
Se a qualcuno può interessare:
<?php
if ((arg(0) == 'node') && is_numeric(arg(1))) {
$args[0] = arg(1);
$node_id = $args[0];
$node = node_load($node_id);
$user_id = $node->uid;
} else if ((arg(0) == 'blog') && is_numeric(arg(1))) {
$args[0] = arg(1);
$user_id = $args[0];
}
$user_load = user_load($array = array('uid' => $user_id));
$result = db_query("SELECT n.nid, n.title FROM {node} n WHERE n.type = '%s' AND n.uid = '%d' LIMIT 10", "blog", $user_load->uid);
echo '<br/>';
//loop sui risultati della query
while ($row = db_fetch_object($result)) {
//uso node_load per prendere tutte le informazioni sul nodo
$displayContent = node_load($row->nid);
echo '<a href="/test/node/'.$displayContent->nid.'">'.$displayContent->title.'</a>';
echo '<br/>';
//visualizzo i primi 10 caratteri del corpo del testo
echo substr($displayContent->body,0,50);
echo ' ...';
echo '<br/><br/>';
}
?>
La stessa cosa poteva essere fatta tramite una views :D
Detto questo ci sono un paio di cosette che non mi piacciono nel codice che hai scritto, innanzitutto non usare echo, poi prendi e crea il link usando la funzione l() che ti configura correttamente tutti i path e cose del genere.
PS: sper non la prenda come critica, ma come consiglio per migliorare e apprendere.
Ciao
Marco
--
My blog
Working at @agavee