Skip to main content

Problema con AvReloaded, sh404SEF e i video in lightbox

AvReloaded è una estensione per Joomla che ci facilita la gestione di file multimediali: tramite un apposito modulo e plugin ci consente di riprodurre file audio e video di vari formati, permettendoci anche di creare delle playlist, e dandoci numerosi parametri per personalizzarne l’aspetto. E’ una estensione che rientra nelle nostre fondamentali, ovvero quelle che riteniamo di dover installare sempre sui nostri siti.

Recentemente abbiamo riscontrato e risolto un errore per una condizione particolare, tale per cui aprendo un video si riceveva un errore “Pagina non trovata”. Di seguito tutti i dettagli.

Situazione

Il sito che presentava il problema è realizzato con

  • Joomla 1.5.15
  • AvReloaded 1.2.6
  • sh404SEF 1.5.4.302

Un modulo di AvReloaded presenta sulla colonna destra la possibilità di visualizzare un video. Nella modalità normale, ovvero con il video che scorre nel riquadro esistente, non ci sono stati problemi.

Anomalia

Dopo qualche giorno, riceviamo una segnalazione in merito al fatto che cliccando per far partire i video, si ottiene la pagina di errore di Joomla relativa alla pagina non trovata. Verifichiamo subito il sito, e ci accorgiamo che il problema si presenta perchè nel frattempo è stata attivata la modalità “lightbox” del video: ovvero quando si clicca sulla immagine di anteprima del video, si attiva l’effetto lightbox e il player video diventa una finestra centrale circondata da uno sfondo scuro.

Dopo un po’ di debug, abbiamo finalmente scoperto che il problema era riconducibile all’utilizzo di un link relativo in una pagina “interna” del sito. Ovvero, grazie a sh404SEF la pagina nella quale si trova il video ha un indirizzo del tipo:

http://www.gibilogic.com/paginainterna/

e il plugin di AvReloaded (invocato dal modulo) passa un indirizzo del tipo

index.php?option=com_avreloaded&...

senza la barra iniziale. Il sito cerca quindi di presentare la pagina:

http://www.gibilogic.com/paginainterna/index.php?option=com_avreloaded&...

e ovviamente non la trova.

Soluzione

Si tratta di correggere il file /plugin/content/avreloaded.php, in particolare la funzione _renderToDB, che inizia intorno alla riga 562. La riga

$url = 'index.php?option=com_avreloaded&view=popup&Itemid='.$itemid.'&divid='.$divid;

diventa

$url = '/index.php?option=com_avreloaded&view=popup&Itemid='.$itemid.'&divid='.$divid;

Così il percorso è assoluto e la pagina viene nuovamente trovata.

Nota

L’uso di percorsi relativi è dovuto al fatto che Joomla potrebbe anche essere installato in una sottocartella del sito, ad esempio

http://www.gibilogic.com/sitojoomla/

Tuttavia, se avete intenzione di usare sh404SEF o un altro componente esterno per la riscrittura degli indirizzi, sconsiglio questa modalità di installazione.

Commenti (3)

I commenti sono chiusi.