Ciao a tutti, vi scrivo per un problema relativo a una vista che vorrei sviluppare.

Descrivo brevemente:

uso content profile per rendere i profili degli utenti dei nodi e content taxonomy per avere dei cck con delle select list di termini.

Sto facendo questo per creare un miniportale del lavoro. Infatti ogni utente nel campo del proprio profilo (tipo di contenuto uprofile) sotto la voce Lavoro (CCK taxonomy) può selezionare quali lavori sa fare (Grafico, Designer ecc ecc)

Oltre all'utente anche un altro tipo di contenuto chiamato "posto vacante" usa lo stesso vocabolario di tassonomia.

Quello che mi piacerebbe realizzare è una vista con modalità blocco, che a dipendenza di ogni utente mi carica dei titoli dei nodi posti vacanti a dipendenza dei tag degli utenti.

Insomma una specie di contenuti consigliati per te quando sei connesso.

Ho piu o meno provato a realizzare questo, ma non riuscendoci. Ho crato la vista e seguito vari tutorial che spiegavano di aggiungere sotto arguments TERMINE ID, fornendogli un argomento predefinito con PHP

il problema è qui:

$node = node_load(arg(1));
if($node) {
if ($node->taxonomy) {
foreach($node->taxonomy as $term) { $terms[] = $term->tid; }
return implode('+',$terms);
}
else {
return;
}
}
else {
return;
}

usando questo codice dentro la vista su una pagina normale funziona (una pagina del tipo di contenuto posto vacante, infatti mi visualizza gli utenti che hanno lo stesso tag) ma non nei miei content profile, il che mi sfugge perchè a rigor di logica sarebbero comunque dei nodi anche se usano i percorsi degli utenti.

Così ho pensato di modificarlo in questo modo, facendo uno script completo che funzioni ovunque e non solo se si trova su una pagina con dei tags (lo script di prima estrapolava i tag dal nodo, dunque se il blocco si trovava in una pagina senza tassonomia non appariva nulla)

global $user;
$myuid=$user->uid;
$mynid = content_profile_load(uprofile, $myuid);

$node = node_load($mynid);

if($node) {
if ($node->taxonomy) {
foreach($node->taxonomy as $term) { $terms[] = $term->tid; }
return implode('+',$terms);
}
else {
return;
}
}
else {

return;
}

purtroppo nmmeno questo funziona, ho provato ad inserire la prima parte di codice

global $user;
$myuid=$user->uid;
$mynid = content_profile_load(uprofile, $myuid);

$node = node_load($mynid);

dentro ad un blocco e a fare dei vari print, ma l'unico print che stampa è $myuid, se provo a stampare $mynid non accade nulla.

Probabilmente non riesce a caricare il profilo, almeno questo è quello che mi viene da pensare.

Qualcuno sa aiutarmi a scovare l'errore?

Premetto che sto facendo questo sistema autonomo (senza che il blocco funzioni sulle pagine con i tag) perchè mi piacerebbe inserirlo in una dashboard, facendo così vedere subito i posti di lavoro liberi agli utenti senza che vadano fisicamente loro a cercarli, per questo è essenziale che funzioni in questa maniera.

Un sentito ringraziamento in anticipo per il vostro aiuto.

Luca