Personalizzare pagina di configurazione del tema

9 contenuti / 0 new
Ultimo contenuto
Personalizzare pagina di configurazione del tema

Non prendetemi per scemo, ma non è proprio possibile creare una pagina di personalizzaizone del tema.. personalizzata? per intenderci, con un tema qualsiasi, lo scelgo attivo, vado su configura e posso andare ad inserire le informazioni "standard" come il nome del logo e così via. Se ora volessi aggiungere un nuovo parametro da personalizzare (che ne so, per esempio se il mio tema deve avere un layout fluido o fisso, oppure se deve avere la barra dei menua DX o SX, o altre mille cose)? Sono 2 gg che cerco e provo ma non ce l'ho fatta :(

Domanda di riserva, non è possibile estendere color? O Meglio, se voglio estenderlo devo creare un vero e proprio clone o posso creare delle funzioni che lo estendono (ma poi come faccio a fargliele richiamare)?

Ciao e grazie
Mavimo

Ottima domanda.. mi accodo anche io a Mavimo.. :P

Per la prima domanda non saprei, ma voglio informarmi sul forum english prima o poi. Per la seconda che io sappia devi creare una cartella color nel tuo tema come fa garland...ma devo ancora lavorare su color, per ora non l'ho mai fatto.

Per la prima domanda devi riscrivere (estendendo il codice già esistente o scrivendo da zero) il file phptemplate.engine

TheCrow wrote:
Per la prima domanda devi riscrivere (estendendo il codice già esistente o scrivendo da zero) il file phptemplate.engine

immaginavo....ma come estenderlo? Con delle include immagino, altri metodi non ne esistono?

ci sono delle funzioni hook interessanti come phptemplate_settings e phptemplate_page: la prima gestisce le impostazioni generali, tipo i link primari e secondari ... la seconda crea le variabili che verranno usati dai temi a partire dalle impostazioni memorizzate.
Partendo da li si possono aggiungere altri elementi tra le impostazioni e creare nuove variabili che possono essere sfruttate dai temi.

TheCrow wrote:
ci sono delle funzioni hook interessanti come phptemplate_settings e phptemplate_page: la prima gestisce le impostazioni generali, tipo i link primari e secondari ... la seconda crea le variabili che verranno usati dai temi a partire dalle impostazioni memorizzate.
Partendo da li si possono aggiungere altri elementi tra le impostazioni e creare nuove variabili che possono essere sfruttate dai temi.

certo si estende tramite template.php. Ma mavimo credevo intendesse inserire un menu di amministrazione nel tema, un pò come fa color con garland, iniettando il selettore e permettendo la configurazione del tema. Se esempio vogliamo mettere un form, si potrebbe fare un hook menu nel template.php? non credo.

volevo dire che modificando l'engine si possono creare classi di temi che usano le opzioni che noi definiamo... (controllo sul layout, menu a destra o sinistra) ridefinendo tutte le opzioni che ci sono...

per integrare il modulo color ho dato uno sguardo al tema garland, sembra che per utilizzarlo basti inserire il file template.php di garland e la cartella color, nel particolare ecco la funzione che usa dal tema per iniettare la form (presente sul modulo color) o le variabili in più:

<?php
/**
 * Override or insert PHPTemplate variables into the templates.
 */
function _phptemplate_variables($hook, $vars) {
  if (
$hook == 'page') {
    if (
$secondary = menu_secondary_local_tasks()) {
     
$output = '<span class="clear"></span>';
     
$output .= "<ul class="tabs secondary">\n". $secondary ."</ul>\n";
     
$vars['tabs2'] = $output;
    }
   
// Hook into color.module
   
if (module_exists('color')) {
     
_color_page_alter($vars);
    }
    return
$vars;
  }
  return array();
}
?>

Questo ovviamente è solo l'inizio, per rispondere alla domanda si possono replicare i meccanismi di color?
Se è stato fatto con il modulo color ci sarà di sicuro una via, questa è una parte, l'altra è nel modulo :)

Forse nonmi ero spiegato abbastanza chiaramente :D
color lo uso già ed è abbastanza semplice da configurare, ma ha dei limiti che vorrei poter aggirare. Per esempio posso applicare un solo gradiente sopra lo sfondo, mentre se volessi applicarne due? Uno in un punto e un altro da tutt'altra parte? Ciò non sarebbe fattibile! Per ora non ho fatto altro che modificare la funzione che usa per accettare array di gradienti, anziché solo una, ma ciò fa si che debba rimuovere il color vecchio e metterci il mio modulo (che per ora differisce solo in quello, ma ho anche altre ideuzzole da implementare). Il fatto di creare un modulo parallelo, però, non mi piace molto, sia perché presuppone la rimozione del modulo originale (e quindi tutti i moduli che dipendono da lui, nonostante possano funzionare perfettamente anche con my_color, sia perché difficilmente verrà installato di default il mio modulo, quindi quando scrivo un tema non mi pare logico farlo dipendere da un modulo (non che non sia possibile, ma moduli e temi per me sono cose ben separate).
Detto questo..
..torno nel mio mondo di PDE :D

Ciao
Marco
--
My blog
Working at @agavee