[Joomla] [HTML] Modifica codice per adattamento app

Stato
Chiusa ad ulteriori risposte.

calciodonne

Nuovo Utente
1 Mag 2018
10
0
1
Salve,

Spero nell'aiuto del forum per risolvere un problema.
Gestisco due portali no profit dedicati allo sport femminile: calcio e ciclismo
Per promuovere maggiormente queste due belle realtà ho pensato di realizzare un APP per ogni sito utilizzando un servizio sul web x creare APP che utilizza il metodo "Web to APP"
I sito sono realizzati in joomla.
Ho quindi utilizzato un template secondario al quale ho associato il menu della applicazione e tutto funzionerebbe alla grande se non quando vado ad aprire il singolo articolo per esteso. In questo caso si apre utilizzando il template principale con il menù e tutto il resto.
Da quanto ho capito, ho due soluzioni ma la piu semplice sembra essere quella di creare un css da installare sullo spazio della app con il quale formattare tutti i contenuti del sito.
Mi potete aiutare?

cordialmente

Walter
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
3.935
292
83
@calciodonne
Quando apri una discussione sei tenuta come da regolamento del forum mettere un titolo conciso ma descrittivo ampiamente del contenuto della discussione.
Per quanto riguarda il tuo problema per me è difficile aiutarti senza vedere contenuti, codice e sapere come è stata creata l'app!
Per giunta il tutto è un CMS!
Ti sposto in Joomla
 
Ultima modifica:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
3.935
292
83

marlev

Utente Attivo
19 Apr 2018
80
1
6
marlev.it
Ciao, secondo me il problema e' dovuto al fatto che "articolo" e' gia assegnato al menu esistente e questo menu a sua volta usa il template principale.
Per me invece la soluzione andrebbe fatta a livello Joomla, ovvero creare una query che viene richiamata da app e a livello del template ad esempio reimpostare css se questa query == "true"
Poi andrebbe fatto il plugin per joomla che aggiunge la query a tutti i link
 

calciodonne

Nuovo Utente
1 Mag 2018
10
0
1
salve e grazie della risposta.
adesso inizio a capire. sai se ci sono dei plugin già pronti a questo uso?
 

marlev

Utente Attivo
19 Apr 2018
80
1
6
marlev.it
Ciao, non penso che ci siano dei plugin cosi.. Ti passo il codice che usiamo noi per cambiare i stili dei nostri template demo. Io te lo modificato facendo la query style e il valore app, quindi la query sarebbe cosi https://example.com?style=app
Devi solo assemblare il tuo plugin, la funzione onAfterRender e' gia inserita
PHP:
  function onAfterRender() {
        $app = JFactory::getApplication();
     $input = JFactory::getApplication()->input;
        $style = $input->getSting("style", "none");
        if ($app->isSite() && $style == "app") {
            $html = JFactory::getApplication()->getBody();
            $new = preg_replace('/<a(.*)href="([^"#]*)"/isU', '<a$1href="$2?style=app', $html);
            JFactory::getApplication()->setBody($new);
        }
      }
Per farti capire, visita questo esempio https://marlev.it/it/template-joomla/matrix
Avvicina il mouse a qualsiasi link nel sito, non in toolbar e vedi nel tuo browser, generalmente sotto, il link di destinazione e che viene aggiunto style=marlev_default, cambia lo stile del template e avvicina di nuovo, vedrai che il valore della query style cambia.
Avendo quindi la query in GET, puoi manipolare a livello di template, e caricare css necessari, ti faccio esempio

PHP:
        $input = JFactory::getApplication()->input;
        $style = $input->getSting("style", "none");
        if($style == "app"){
            //qui carica file css per app
        }
        else {
            //stili di default
        }
In template inoltre puoi usare questa sintesi
<?php if(1==1):?>
qui links
<?php else:?>
altri link
<?php endif;?>
 

calciodonne

Nuovo Utente
1 Mag 2018
10
0
1
facile... x te
ho capito il sistema, ma questi codici dove li devo aggiungere?
al css custom del template APP ?
 

marlev

Utente Attivo
19 Apr 2018
80
1
6
marlev.it
Anche. Ti spiego meglio
1. Hai bisogno di individuare se il sito visitato e' da APP oppure da browser. Per poter individuare se e' da app devi inserire il link del sito seguito dalla query, ad esempio example.com/?style=app dove ?style=app identifica che e' da app. Ora quando c'e questa query ?style=app bisogna fare il modo che tutti i link presenti nella pagina hanno questa query e quando utente clicca qualsiasi link, passa all'altra pagina con la query.
Per fare questo devi creare il tuo plugin di tipo system con il primo codice che ho inviato. Il codice aggiunge a tutti i link ?style=app
2. Avendo quindi nel link del sito la quesry che identifica se e' da app, puoi agire nel file index.php del template, caricando quindi i stili solo per app oppure disattivare le posizioni non necessari per la visualizzazione in APP
 

marlev

Utente Attivo
19 Apr 2018
80
1
6
marlev.it
Numero qui non pubblico ) Contattami usando il link del mio sito, voce di menu assistenza. Link trovi sotto il mio avatar. Se invii il tuo numero ti chiamo io.
 

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
3.935
292
83
Questa è un discussione pubblica e le soluzioni vanno date pubblicamente a vantaggio di tutti gli utenti! Accordi privati si prendono in privato!
Chiudo
 
Stato
Chiusa ad ulteriori risposte.