Visualizzazione post con etichetta joomla. Mostra tutti i post
Visualizzazione post con etichetta joomla. Mostra tutti i post

mercoledì 7 ottobre 2015

Alcuni semplici ma utili script per Joomla!

Ottenere il nome del template corrente di Joomla!

Questo script può tornare utile quando si sta scrivendo il percorso di un css su Joomla e lo si sta caricando tramite il metodo addStylesheet() di JDocument.

Ottenere il prefisso delle tabelle indicato nella configurazione in Joomla!

Questo script (da usare solo in debug) è particolarmente comodo quando si fa scrive la query di un modello nell'output della pagina e lo si vuole incollare in phpMyAdmin o Heidi per eseguire la query, in questo modo eliminerete gli antipatici cancelletti.

Caricare un modulo di Joomla con il codice

Con questo script potrete caricare all'interno di qualsiasi file un modulo di Joomla! Vi consiglio di impostare la visibilità del modulo su Tutte le pagine e assegnare come posizione un non nome dedicato (in questo Gist "statistics"), in questo modo il modulo comparirà solo nelle pagine dove avrete inserito il codice.

Effettuare il dump di un DB Joomla senza accedere a phpMyAdmin

In questo caso al posto del Gist inserisco direttamente il link allo script su GitHub.
Basta copiarlo sulla root e lanciare lo script dalla barra dell'indirizzo, creerà automaticamente il dump in una cartella dedicata sulla root.

Provatelo e commentatelo su GitHub!

sabato 10 gennaio 2015

Comandi utili da terminale su Debian / Ubuntu / Mint

Lista di comandi utili per ottenere informazioni da termina su un web server LAMP (Linux Apache MySQL PHP)



Nell’ordinaria amministrazione di un server web vengono utilizzati vari comandi ed istruzioni da eseguire su terminale per ottenere informazioni e/o compiere rapide operazioni su cartelle e file.


Presento di seguito i più comuni, spesso determinanti per risparmiare tempo su un server di sviluppo, vanno utilizzati con cautela su un server in produzione, magari solo per ottenere delle informazioni veloci e poi contattare l’amministratore di sistema. Ovviamente, se siete voi l’amministratore di sistema, dovreste già conoscerli e la lista di seguito può essere utile solo per un veloce ripasso. Le istruzioni sono state testate su un server Debian / Ubuntu / Mint


sudo -s
Accedi come amministratore (non ti sarà nuovamente richiesta la password)


du -h
Mostra la dimensione di tutte le sottocartelle della cartella corrente


du -h --max-depth=1
Mostra la dimensione di un livello di sottocartelle della cartella corrente. Se l’output è troppo lungo si può usare du -h --max-depth=1
-s è un’opzione che sta per “summarize”, mostra quindi solo la lunghezza

du -a /var | sort -n -r | head -n 10
Mostra le 10 cartelle più grandi presenti sul sistema

truncate -s 0 /path/to/log.log
Pulire un file log


Miniguide
Sono sequenze di operazioni semplici che sono utili in diverse situazioni.

  1. Vai alla directory dei log di Apache


cd /var/log/apache2/


  1. Rimuovi tutti i file


rm -rf /var/log/apache2/*


  1. Ricarica apache

service apache2 reload

lunedì 19 dicembre 2011

Cambiare il percorso delle immagini visualizzate nel Menu Joomla

Per cambiare l'immagine di menu nella voce del menu di Joomla! è sufficiente modificare il file COMPONENT.XML (scritto minuscolo) che trovate in questa cartella:

administrator/components/com_menus/models/metadata


al posto del valore /images/stories nell'attributo directory, inserite il percorso delle Vs. immagini.

A quel punto il gioco è fatto

sabato 17 settembre 2011

Come eliminare il problema di INVALID TOKEN su Joomla!

Problema INVALID TOKEN con il modulo login di Joomla! o di Virtuemart?

Sei in ottima compagnia :-)

 Adesso ti do qualche consiglio per venire fuori dalla melma..

TOKEN, QUESTO SCONOSCIUTO..

Il token è un meccanismo di sicurezza presente in Joomla! 1.5 per evitare che durante tentativi di hacking qualcuno si intrufoli nel nostro sito web. In pratica quando inseriamo i nostri dati nel modulo di Login di Joomla! ci viene assegnato un “GETTONE” (Token in inglese) che ci segue per tutta la durata della sessione.

Se un utente si trova nel sito e non è attivo il Token significa che non è entrato dalla porta principale (cioè il form di login che gli ha assegnato il token) ma da una porta sul retro (backdoor, termine ricorrente quando si parla di queste cose) o addirittura dalla finestra (cioè da qualche bug della sicurezza di Joomla!).

A questo punto però può scattare un meccanismo non previsto. Supponiamo di avere la cache attivata. Ora supponiamo che la sessione del nostro sito duri 15 minuti (valore default della cache di Joomla!)

Quando la sessione scade l’utente viene buttato fuori dal sito, ma se la cache è attiva il token (che è un valore memorizzato in un campo hidden del modulo di login) rimane in circolazione, però non è più valido! E da qui: INVALID TOKEN.

La riga evidenziata dovrebbe cambiare, questo non succede..


la riga del codice modulo login di Joomla con invalid token
Ovviamente rinunciare alla cache di Joomla! può significare rallentare il sito web (su Aruba in certi momenti della giornata significa addirittura scaricare una pagina ogni 30 secondi) quindi la cosa da fare è semplicemente disabilitarla esclusivamente per il modulo login.

Problema con il modulo login di Virtuemart
Il modulo login di Virtuemart non supporta l’opzione di caching quindi hai un nuovo problema: non puoi disabilitare la cache su tutto il sito perché le prestazioni si ridurebbero drasticamente, soprattutto se hai un sito con oltre 100 prodotti!!

Putroppo il modulo di login Virtuemart non è neanche MVC, quindi è proprio un disastro perchè dovremmo rimodificarlo ad ogni upgrade :-)

Joomla 1.5.23

Nell'ultimo update di Joomla! 1.5 il problema è stato risolto impostando su MAI le opzioni CACHE del modulo login, per cui i problemi dovrebbero essere risolti.. su Virtuemart putroppo non non è così..


Evidenziata la causa, proviamo a trovare una soluzione

Ho creato un plug-in che cancella la cache al momento del login, per scaricarlo basta andare alla mia PAGINA FAN su Facebook 

sabato 9 ottobre 2010

facebook e joomla - condivisione e possibili interazioni

Joomla! e Facebook. Programmazione di base

La condivisione di Joomla! con Facebook è un'esigenza che sta diventando sempre più diffusa.

Se aveste ricercato la stessa cosa 6 mesi fa avreste trovato ben poco.

Ora invece l'interesse sta crescendo sempre di più e nonostante Wordpress sia già avanti da tempo su questo fronte, ci sono numerose estensioni che permettono la condivisioni di utenti e post tra Joomla! e Facebook, in questa pagina potete trovare una lista esauriente:

http://extensions.joomla.org/extensions/social-web/facebook-integration

Purtroppo la maggior parte delle estensioni è commerciale.

In ogni caso é utile conoscere come funziona la programmazione Facebook per poterle utilizzare al meglio e personalizzare.

Per questo motivo ho creato il nuovo blog programmatore Facebook dove pubblico nuovi articoli sulla programmazione con il suo framework.

mercoledì 23 giugno 2010

Joomla - Effettuare ricerche in base ai campi del componente CONTATTI

Personalizzazione del componente COM_CONTACT su Joomla

(APPUNTI - IL POST VERRA' ARRICCHITO CON ULTERIORI DETTAGLI)
Specifiche Richieste

  • Il cliente ha dei contatti da raggruppare per categoria
  • Alcune categorie sono visualizzabili solo in una lingua
  • Occorre filtrare i risultati in base al valore inserito nel campo PROVINCIA nei contatti




Operazione 1:
Per mantenere l'applicazione upgrade-safe utilizzeremo il template override di Joomla!

A questo proposito creiamo due nuovi file per la vista CATEGORY del componente COM_CONTACT e copiamoli nelle seguenti cartelle del template predefinito del sito web:
  • html/com_contact/category/default.php
  • html/com_contact/category/default_items.php
Non sarà necessario modificare altri file. Ora analizziamo il codice dei file.

MODIFICHE al file html/com_contact/category/default.php

Il file default.php conterrà il seguente codice:


Le variabili $Itemid e $catid conterranno le variabili necessarie per effettuare il filtro per province.

Dopodichè creeremo la seguente funzione per ordinare e filtrare i dati restituiti dal modello del componente in base ai criteri scelti dall'utente:


Poichè i dati vengono restituiti dal modello e noi stiamo effettuando un semplice override dei layout del componente, utilizzeremo una funzione che si limiterà a stampare a video i soli $item coerenti con la richiesta effettuata dal client.

Inserico la select per il filtro sulla ricerca basandomi sul campo per cui voglio effettuare il filtro:

Creo il link dove mandare l'utente dopo la selezione


MODIFICHE al file html/com_contact/category/default_items.php

Ottengo la provincia selezionata in base alla selezione dell'utente

 


Filtro i risultati con un "if(){}" in base alla selezione effettuata


A questo punto creo categorie e contatti in base alle mie esigenze e automaticamente il filtro della ricerca sarà popolato.

Per ridurre la visualizzazione solo ad alcune lingue utilizzerò soltanto i componenti del Club di Joomfish! Multilingual Menu Add-on

Ultimi ritocchi:
Se volessi utilizzare lo stesso campo per italia e estero ma definizione non è coerente posso cambiare l'etichetta del campo amministrazione modificando il file administrator/language/it-IT/it-IT.com_contact.ini


Aggiornamento
1. Per mantenere un'ordinamento corretto è bene che i valori del campo "state" siano tutti maiuscoli o minuscoli dunque conviene inserire una funzione strtower()


foreach($arr_filtro as $item){
array_push($arr_regioni, strtolower($item->state));
}

 
2. Una minaccia alla riuscita del nostro progetto è la limitazione della lista dei risultati restituiti, infatti nel modello CATEGORY.PHP e presente questa riga:


return $this->_getList( $query, @$options['limitstart'], @$options['limit'] );

da cambiare in:

return $this->_getList( $query, 0, 1000 );

oppure cambiando le lunghezze delle liste (mantenendo quindi l'upgrade safe.