Lista dei gruppi in template.php

9 contenuti / 0 new
Ultimo contenuto
Lista dei gruppi in template.php

Salve,
sto cercando tirare su la lista dei gruppi disponibili in drupal con og, per farci dei pulsanti ed identificare il gruppo del contenuto che si sta visualizzando, non avendo molta esperienza con le funzioni di og mi sapreste dire come posso avere nel template.php una funzione che mi restituisca una var con dentro la lista dei gruppi attivi?
C'è un hook in og da poter usare?

grazie,
salumi

Modulo views -> vista di tipo nodo -> filtro che seleziona solo i nodi del tipo che hai impostato come organic group

Aggiungi il campo titolo del nodo e hai la tua lista.

Mario Vercellotti (Vermario)
Freelance
http://www.verdevelop.com

si corretto però chiedevo delle funzioni (api) da usare nel template.php in questo caso non mi interessa farlo con una vista!
:)

digiSin :: Sinergie Digitali
www.digisin.it

questo dovrebbe essere quello che cerchi
http://drupal.org/node/153536#comment-572183
Lo snippet andrebbe inserito all'interno della funzione tuotema_preprocess_page.

Ma è per drupal 5, devi controllare se funziona anche per il 6.
altrimenti bisogna vedere cosa è cambiato
(non credo molto)

Pure questo non va, quel codice tira fuori il title del gruppo, a me serve il nome di TUTTI i gruppi di OG ! :)

digiSin :: Sinergie Digitali
www.digisin.it

tu dici di voler

Quote:
identificare il gruppo del contenuto che si sta visualizzando

il codice che ho suggerito fa proprio quello.

non mi è chiaro cosa devi ottenere...

Si devo identificare il gruppo che si sta utilizzando però nella lista dei gruppi, mi dovrebbe venir fuori una cosa tipo:

gruppo1, gruppo2, gruppo3, etcc

in questo caso il gruppo2 è quello del contenuto che sto visualizzando, comunque a parte il risultato finale quello che non riesco a fare è una funzione che mi restituisca la lista dei gruppi (in un array magari)

digiSin :: Sinergie Digitali
www.digisin.it

Prova a mettere qualcosa di questo tipo in tuotema_preprocess_node (&$vars), in template.php
NOTA:
- non ho testato il codice che ti ho suggerito in #3
- a parte quello, il resto funziona.
- probabilmente dovrai raffinare la query per non includere nodi non pubblicati o altro
- non ho la minima idea dell'efficienza di questo codice, magari è l'approccio sbagliato ;)

<?php
//se il nodo appartiene a un gruppo (preso da drupal.org/node/153536#comment-572183) **NON TESTATO**
if (is_object($group_node=og_get_group_context())) {
   
//carico il nid del gruppo
   
$nid_gruppo = $group_node->nid;
   
//carico nid e title di tutti i nodi di tipo gruppo
   
$results = db_query('SELECT title,nid FROM {node} WHERE type = "%s"', 'gruppo');
    while (
$node = db_fetch_object($results)) {
       
$info[] = $node;
    }
   
//creo la lista
   
$output = '<ul class="lista-gruppi>"';
    foreach (
$info as $gruppi){
       
//se il gruppo ha nid = al gruppo di appartenenza del nodo corrente assegno una classe speciale
       
if ($nid_gruppo == $gruppi->nid){
           
$output .= '<li class="active">' . check_plain($gruppi->title) . '</li>';
        }
       
//altrimenti no
       
else{
           
$output .= '<li>' . check_plain($gruppi->title) . '</li>';
        }
    }
   
$output .= '</ul>';
   
//creo una variabile da usare nei templates
   
$vars['lista_gruppi'] = $output;
}
?>

troppa grazia!! :)
E' la strada che stavo prendendo, posterò gli sviluppi, intanto grazie ancora!

* cercando da sobrio ho trovato quello che mi serviva

http://drupalcontrib.org/api/function/og_all_groups_options/6

digiSin :: Sinergie Digitali
www.digisin.it