Back to top

Autore Topic: gestione parametri del template  (Letto 2794 volte)

Offline miciomao

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
gestione parametri del template
« il: 24 Nov 2014, 23:31:15 »
Ciao a tutti.
Sto realizzando un template da zero e  vorrei poterne controllare il comportamento dal backend (p.es colori, numero colonne, font di default ecc.) con dei parametri nel file templateDetails.xml, per esempio per  la gestione del colore di sfondo imposto una variabile:
Codice: [Seleziona]
<config>
<fields name="params">
<fieldset name="advanced">
<field name="backgroundcolor" type="color" default="#eee" label="colore background" description="il colore di background del body"/>
</fieldset>
</fields>
</config>

se adesso nell' index.php del template inserisco un'istruzione del tipo:
Codice: [Seleziona]
<?php $colore $this->params->get('backgroundcolor'); 
echo 
'colore ',$colore?>

posso visualizzare il valore del parametro impostato.

quello che non riesco a fare e' recuperare il suddetto valore anche nel file parametri_css.php dove dovrei gestire i css dinamici. Il file inizia con la riga:
Codice: [Seleziona]
<?php header("Content-type: text/css"); ?> e seguono istruzioni css scritte in php che funzionano benissimo,
l'unica cosa che proprio non mi riesce e' il recupero dei parametri Ovviamente se non riesco a utilizzare i parametri impostati tutto l'ambaradan e' inutile.....
Dove sbaglio?

In anticipo, grazie

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:gestione parametri del template
« Risposta #1 il: 28 Nov 2014, 22:38:14 »
ciao
non so tu come stia scivendo quel xml

maio di solito se serbe lo faccio in questa maniera

Codice: [Seleziona]
  <field name="backgroundVariation" type="list" default="Blue" label="TPL_SCROLL_BACKGROUND_LAYOUT" description="BACKGROUND variation ">
                    <option value="Blue">Default</option>
                    <option value="bluee">blue</option>
                    <option value="rosso">Red</option>                   
                    <option value="white">White</option>
                   
                        </field>

nel index
ci metto
Codice: [Seleziona]
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/<?php echo $this->params->get('backgroundVariation'); ?>.css" type="text/css" />
   

e poi crei i vari css
vedi che i css devono avere  inomi  uguali a quelli messi  nel file xml

ps: devi far caricare i css che hai creato
ps: questo  esempio postato  e per un template di joomla 2.5  ma joomla 3 non ci dovrebbe esere molta differenza
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline miciomao

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
Re:gestione parametri del template
« Risposta #2 il: 29 Nov 2014, 17:54:03 »
ciao conti1,
il sistema che tu suggerisci  consente di richiamare nell'index.php un determinato foglio di stile in base al valore del parametro.

Io sto cercando invece di rendere disponibile all'interno del foglio di stile il valore del parametro per usarlo direttamente e rendere cosi il css dinamico.

Sulla scrittura dell' xml e  sull'uso del parametro nel file index.php non ho problemi, cosi' come riesco a utilizzare variabili locali nel foglio di stile scritto in php.
Quello che non riesco a fare e' passare il valore del paramentro nel foglio di stile per utilizzarlo da li'.




Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:gestione parametri del template
« Risposta #3 il: 29 Nov 2014, 18:40:20 »
fammi capire
tu allora vuoi fare il cambio dello stile agli utenti dimmi se sbaglio esempio rosso verde giallo   che in base  a cosa cliccano  cambia colore .
altrimenti non oh capito cosa vuoi fare
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline miciomao

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
Re:gestione parametri del template
« Risposta #4 il: 29 Nov 2014, 21:22:32 »
no,  la gestione viene fatta da backend, mettendo nell'xml questa direttiva:
Codice: [Seleziona]
<field name="backgroundcolor" type="color" default="#eee" label="colore background" description="il colore di background del body"/>fa si che chi ha i privilegi, dalla gestione stili del template, nella linguetta 'avanzate' puo' scegliere un colore qualsiasi.

il codice di quel colore lo posso recuperare se metto nell'head dell'index.php

Codice: [Seleziona]
<?php  $colore $this->params->get('backgroundcolor'); ?>
<style type ="text/css">
   body { background-color: <?php echo $colore ?> ; }
</style> 
 
lo sfondo assume il colore impostato nel backend; e fin qui tutto bene, funziona come previsto.

Se pero' voglio fare la stessa operazione con un css esterno gestito in php, come detto nei post precedenti, non so come recuperare il valore del parametro.


Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:gestione parametri del template
« Risposta #5 il: 29 Nov 2014, 22:06:28 »
Css esterno? O forse intendi css inline.

Offline miciomao

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
Re:gestione parametri del template
« Risposta #6 il: 29 Nov 2014, 23:48:05 »
no quello che vorrei utilizzare e' esterno:
Codice: [Seleziona]
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/miotemplate/css/miostile.php" type="text/css" />

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:gestione parametri del template
« Risposta #7 il: 30 Nov 2014, 07:40:18 »
Se css perché  metti estensione .php, deve essere .css o se li vuoi compilati .less

Offline miciomao

  • Nuovo arrivato
  • *
  • Post: 14
    • Mostra profilo
Re:gestione parametri del template
« Risposta #8 il: 30 Nov 2014, 09:34:18 »
perche i parametri che desidero utilizzare per la scrittura del css sono variabili php quindi mi sembrava logico usare php per generare il css
ovviamente considero ogni soluzione alternativa.
quello che mi serve e' portare nel css il valore del parametro che in index.php recupero con
Codice: [Seleziona]
<?php  $colore $this->params->get('backgroundcolor'); ?>
« Ultima modifica: 30 Nov 2014, 09:36:59 da miciomao »

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
Re:gestione parametri del template
« Risposta #9 il: 30 Nov 2014, 10:25:25 »
Mah non mi sembra sia come dici te, il php richiama le classi come variabili ed i file .php devono essere richiamati come include. In ogni caso potresti vedere come sono impostate le variabili ed il loro utilizzo nel framework gantry.

 



Web Design Bolzano Kreatif