Back to top

Autore Topic: Phocagallery profili utenti e immagini preferite  (Letto 2941 volte)

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Phocagallery profili utenti e immagini preferite
« il: 30 Mag 2012, 16:29:25 »
Uso phocagallery e vorrei sapere se esiste un'estensione per joomla 2.5 che permetta di estendere le funzionalità della galleria in modo che ogni utente possa crearsi una lista di immagini preferite ed abbia una pagina simile a quella di una galleria dove poter vedere solo quelle, ed anche solo quelle caricate da lui.

So che esiste il pannello di controllo utente ma questo serve in sostanza solo se ogni utente ha una galleria propria (infatti mostra solo le immagini che fanno parte delle gallerie create dall'utente e non quelle che ha caricato in altre gallerie), mentre nel mio caso le immagini vengono caricate in gallerie prefissate.

Clastiweb

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:Phocagallery profili utenti e immagini preferite
« Risposta #1 il: 30 Mag 2012, 20:39:13 »
il sito di phoca è ben fornito di plug in che fanno un sacco di cose con i loro componenti, ci hai guardato?
Inoltre devi guardare nella jed nella sezione extension specific, ci potrebbe essere qualcuno che lo abbia realizzato.

Se non c'è potresti crearlo o commisionarlo.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Phocagallery profili utenti e immagini preferite
« Risposta #2 il: 31 Mag 2012, 09:49:44 »
Ho guardato il sito cercando di capire se esiste qualcosa di pronto ma non ho trovato niente. Ora cerco meglio.
Clastiweb

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Phocagallery profili utenti e immagini preferite
« Risposta #3 il: 31 Mag 2012, 19:20:06 »
No, non si trova niente. A questo punto proverò ad inventarmi qualcosa io anche se il codice è abbastanza complesso. Sicuramente il file da modificare è quello della query models/category.php dove forma la where.
Clastiweb

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Phocagallery profili utenti e immagini preferite
« Risposta #4 il: 02 Giu 2012, 16:58:54 »
Dunque per la pagina con le immagini postate dal singolo utente in altre categorie ho risolto quindi tanto vale che ci metto come ho fatto visto che potrebbe interessare a qualcun altro.
Ho modificato il file models/category.php dove c'è la query di ricerca, più o meno alla riga 140, da così:
Codice: [Seleziona]

$leftTag = '';
if ((int)$tagId > 0) {
$leftTag = ' LEFT JOIN #__phocagallery_tags_ref AS t ON t.imgid = a.id';
}
if ((int)$tagId > 0) {
$wheres[] = ' t.tagid= '.(int)$tagId;
} else {
$wheres[] = ' a.catid= '.(int)$this->_id;
}
a così:
Codice: [Seleziona]

$leftTag = '';
if ((int)$tagId > 0) {
$leftTag = ' LEFT JOIN #__phocagallery_tags_ref AS t ON t.imgid = a.id';
}
if ((int)$tagId > 0) {
$wheres[] = ' t.tagid= '.(int)$tagId;
} else if ( (int)$_GET['userid'] >0) {
$wheres[] = ' ua.id= '.(int)$_GET['userid'];
} else {
$wheres[] = ' a.catid= '.(int)$this->_id;
}
Poi ho modificato il file views/category/tmpl/default.php più o meno alla riga 50, da così:
Codice: [Seleziona]

$this->checkRights = 1;
if ((int)$this->tagId > 0) {
// Search by tags
$this->checkRights = 1;

// Categories View in Category View
if ($this->tmpl['displaycategoriescv']) {
echo $this->loadTemplate('categories');
}
a così:
Codice: [Seleziona]

$this->checkRights = 1;
if (((int)$this->tagId > 0)||((int)$_GET['userid'] > 0)) {
// Search by tags
$this->checkRights = 1;

// Categories View in Category View
if ($this->tmpl['displaycategoriescv']) {
echo $this->loadTemplate('categories');
}
Infine ho modificato il file views/detail/default_multibox.php (dato che gli zoom li mostro con il multibox) più o meno alla riga 86, da così:
Codice: [Seleziona]

// Uploaded By
if ($this->tmpl['mb_uploaded_by']) {
echo '<div class="pg-multibox-user" >' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . '<>';
if ($this->tmpl['useravatarimg'] != '') {
echo '<div class="pg-multibox-avatar">'.$this->tmpl['useravatarimg'].'<>';
}
echo '<div class="pg-multibox-username" style="padding-top: '.$this->tmpl['useravatarmiddle'].'px;">'.$this->item->usernameno.'<>';
echo '<div style="clear:both"><>';
}
a così:
Codice: [Seleziona]

// Uploaded By
if ($this->tmpl['mb_uploaded_by']) {
echo '<div class="pg-multibox-user" >' . JText::_('COM_PHOCAGALLERY_UPLOADED_BY') . '<>';
if ($this->tmpl['useravatarimg'] != '') {
echo '<div class="pg-multibox-avatar">'.$this->tmpl['useravatarimg'].'<>';
}
$immagini_utente=explode("gallerie",$_SERVER["HTTP_REFERER"]);
$immagini_utente=$immagini_utente[0]."gallerie/category/user?userid=".$this->item->userid;


echo '<div class="pg-multibox-username" style="padding-top: '.$this->tmpl['useravatarmiddle'].'px;"><a href="'.$immagini_utente.'" target="_blank">'.$this->item->usernameno.'</a><>';
echo '<div style="clear:both"><>';
}
In questo modo l'username è linkato ed apre una pagina simile a quella di ricerca per tag, con le solo immagini postate dall'utente, indifferentemente dalla categoria.
Le uniche cose da perfezionare sarebbero il passaggio della variabile GET con i metodi set e get come avviene con il GET del tag,  e il fatto che andrebbe fatto un override. Comunque non credo che il passaggio diretto della variabile GET generi problemi più di tanto, dal momento che viene filtrata come valore intero.
Clastiweb

 



Web Design Bolzano Kreatif