Joomla.it Forum
Non solo Joomla... => Sviluppo => : raoul_benneth 07 Feb 2013, 16:02:52
-
Ciao a tutti.
Ho una view di un componente che mi mostra alcune cose, ad esempio degli articoli.
Ora, ogni articolo è stato scritto da un autore, ma può capitare anche che vi sia
un articolo scritto da più autori.
Avrei bisogno di linkare nel nome degli autori il loro profilo.
Ho fatto così:
foreach($array as $value):
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query
->select('autore, id')
->from('`#__testcomponent_autore`')
->where('id = ' .$value);
$db->setQuery($query);
$results = $db->loadObjectList();
$data[] = $results[0]->autore;
//qui dovrei fare in modo che
//escano i nomi dell'autore o degli autori e per ciascuno ci sia il link
//alla sua pagina
endforeach;
//giusto per test ho provato così:
$links = array();
$arr = explode(","$data);
foreach($arr as $value) {
$links[] = "<a href='".JRoute::_('index.php?testcomponent&view=authors&author='). trim($value) ."'>". trim($value) ."</a>";
}
$links_str = implode(", ", $links);
echo $links_str;
Vedo i nomi separati da virgola e che contengono un link ma che non punta alla pagina corretta.
Grazie a tutti !
RaouL.
-
hai "fatto così" dove?
foreach($array as $value):
$db = JFactory::getDbo();
--------------------------------------------
tienio fuori dalla foreach
Perchè fai una query e non una join left alla query degli articoli?
le query supportano anche gli array con where in
-
Hai ragione !!
Ad ogni modo passavo comunque l'id sbagliato ed ecco perchè non mi dava la pagina corretta.
Grazie mille.