Autore Topic: Problema velocitÓ con joomfish  (Letto 1778 volte)

Offline _Ardito87_

  • Esploratore
  • **
  • Post: 66
    • Mostra profilo
Problema velocitÓ con joomfish
« il: 05 Lug 2013, 14:41:18 »
Buongiorno,
ho notato dei problemi di velocitÓ e di memoria usando joomFish. Ho un sito abbastanza grande con 5 lingue.


Ho notato questo attivando la modalitÓ debug:
Codice: [Seleziona]
.....
Application 0.927 seconds (+0.004); 25.88 MB (+0.010) - afterRenderModule mod_menu (MenuAddons
Application 0.927 seconds (+0.000); 25.87 MB (-0.008) - beforeRenderModule mod_jflanguageselection (Language)
Application 0.961 seconds (+0.034); 26.03 MB (+0.161) - lang mod start
Application 3.572 seconds (+2.611); 63.32 MB (+37.284) - lang mod end
Application 3.572 seconds (+0.000); 63.26 MB (-0.055) - afterRenderModule mod_jflanguageselection (Language)
Application 3.573 seconds (+0.000); 63.25 MB (-0.008) - beforeRenderModule mod_custom (Fuerteventura)
Application 3.574 seconds (+0.001); 63.26 MB (+0.004) - afterRenderModule mod_custom (Fuerteventura)
Application 3.574 seconds (+0.000); 63.26 MB (-0.001) - beforeRenderModule mod_bt_login (Login)
Application 3.589 seconds (+0.015); 63.64 MB (+0.382) - beforeRenderModule mod_k2_login ()
Application 3.589 seconds (+0.000); 63.64 MB (+0.002) - afterRenderModule mod_k2_login ()
Application 3.596 seconds (+0.007); 63.65 MB (+0.013) - afterRenderModule mod_bt_login (Login)
Application 3.653 seconds (+0.056); 63.78 MB (+0.126) - afterRender

Qualcuno sa come mai accade questo e se c'Ŕ qualche modo per migliorare le prestazioni? Anche perchŔ ho fissato il limite della memoria a 94Mb, ma essendo a metÓ traduzioni non penso mi basti.

Offline _Ardito87_

  • Esploratore
  • **
  • Post: 66
    • Mostra profilo
Re:Problema velocitÓ con joomfish
« Risposta #1 il: 06 Lug 2013, 11:45:06 »
Forse ho capito la problematica.
Quando Joomla carica il modulo di JoomFish pubblicato in una determinata posizione oltre a caricare le varie bandierine fa molto altro:
Esegue  queste query:
Codice: [Seleziona]
SELECT tab.*, tmap.reference_id, tmap.translation_id
  FROM ff1xp_modules as tab
  LEFT JOIN ff1xp_jf_translationmap AS tmap
  ON tmap.reference_table = 'modules'   
  AND tmap.translation_id = tab.id
  AND tmap.language= 'fr-FR'
  WHERE tmap.reference_id IN(2,3,4,8,9,10,12,13,14,15,86,88,110,111,117,118,121,127,128,129,130,131,132,133,134,135,136,137,138,140,145,146,149,153,164,165,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,192,194,196,203,205,207,209,213,214,217,218,220,221,222,223,224,225,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,254,256,257,258,259,260,264,265,266,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315)
  AND tmap.reference_id IS NOT NULL
SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
  FROM ff1xp_menu AS m
  LEFT JOIN ff1xp_extensions AS e
  ON m.component_id = e.extension_id
  WHERE m.published = 1
  AND m.parent_id > 0
  AND m.client_id = 0
  ORDER BY m.lft
Queste query vengono eseguite per ogni lingua (Nel mio caso 5 volte) e questo ogni volta che carica il modulo JoomFish quindi a ogni caricamento della pagina. Ma questo non Ŕ del tutto inutile? Se io visualizzo il sito in inglese cosa serve caricare e creare le istanze del francese,italiano,tedesco e spagnolo?
Disabilitando la riga 88 del file mod_jflanguageselection.php evito che si effettuino tali query e di conseguenza le relative istanze (la memoria usata rimane a 30Mb e non pi¨ 64Mb). Ovviamente ho il problema che non avendo pi¨ le bandierine non posso selezionarle per cambiare lingua.
Non si potrebbe evitare di eseguire quella riga nel caso in cui Joomla stia caricando il modulo joomFish ma di farla eseguire soltanto se clicco su una bandierina per il cambio lingua? Non sarebbe anche pi¨ giusto?


Non so se mi sono spiegato ma spero che qualcuno abbia compreso la problematica
x Moderatori: Forse avrei dovuto postare nella sezione Sviluppo ?!  :(







Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30579
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Problema velocitÓ con joomfish
« Risposta #2 il: 06 Lug 2013, 18:25:24 »
Scusa ma perchŔ se sei con la 2.5 non utilizzi il mulrilingua nayivo? Sembra che joomfish non giri ancora bene nella versione 2.5

 La sezione giusta Ŕ gestione multilingua, ti sposto.
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline _Ardito87_

  • Esploratore
  • **
  • Post: 66
    • Mostra profilo
Re:Problema velocitÓ con joomfish
« Risposta #3 il: 06 Lug 2013, 19:28:38 »
Si sono con la 2.5.9 ma non ho utilizzato il multilingua nativo perchŔ a quanto sapevo e so non permette il multilingua dei moduli. Mi sbaglio?

Ho bisogno di tradurre vari componenti tra cui gli articoli di k2.

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 30579
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:Problema velocitÓ con joomfish
« Risposta #4 il: 06 Lug 2013, 19:47:01 »
No per i moduli li traduci lo stesso come fai con joomfish, diverso il discorso dei componenti che dipende dagli stessi e non cambia la situazione nemmeno con joomfish.
NEWS DataGrill Xataface Installer (Ver. 1.0.1) per Joomla 3.8.x - DEMO Gestione Magazzino

Offline _Ardito87_

  • Esploratore
  • **
  • Post: 66
    • Mostra profilo
Re:Problema velocitÓ con joomfish
« Risposta #5 il: 08 Lug 2013, 12:19:18 »
Diciamo che sono riuscito a risolvere con joomFish e quindi avendo giÓ effettuato molte traduzioni non ho cambiato strada e non ho provato il multilanguage nativo di Joomla. ;)

Il problema Ŕ nell'istruzione riga 129 del file "\libraries\joomfish\route\jfroute.php" (
Codice: [Seleziona]
$menu->__construct(); )

Sostanzialmente ricarica tutti i menu per ogni lingua. Questo comporta un enorme spreco di spazio e di tempo. Commentando questa riga si incappa nel problema che bisogna crearsi una funzione per creare gli indirizzi di destinazione di ogni lingua.
Sostanzialmente se sto visistando index.php/it/articolo1 devo creare una funzione per creare il link in inglese (index.php/en/article1)

Per creare tale funzione ho utilizzato questo:
Codice: [Seleziona]
$item = JFactory::getApplication()->getMenu()->getItem(JSite::getMenu()->getActive()->id;);
$item->tree;

Sostanzialmente in $item->tree si ha un albero in cui ogni nodo Ŕ una voce di menu che bisogna tradurre.

 

Host

Torna su