Drupal 6 + smarty ma i temi creati dagli utenti sono temi che estendono i temi base? Ma e' cosi flessibile Drupal? Grazie.
Ciao a tutti,
ho registrato un dominio e sto usando come spazio gratis quello di awardspace.
Sono riuscito ad installare praticamente quasi ogni tipo di applicazione in php che non abbia file di dimensioni superiori ai 500kb.
Ho installato Drupal 6.17 con la traduzione in italiano e smarty per la parte di generazione del tema.
Ora ho un dubbio immane, sto leggendo i libri:
- Pro Drupal development
- Beginning Drupal 7
entrambi della Apress. Ma oggi leggendo la parte relativa ai file .info mi ha generato un dubbio atroce.
Leggo dal primo dei due libri che i temi devono essere estensioni di temi esistenti infatti nel file .info bisogna specificare l'attributo base name.
Mi pare assurdo, ma qualcuno esperto sui temi mi può confermare ciò?
Esiste un modo per creare un proprio tema?
Perchè c'è questo vincolo ed a cosa server?
Vorrei usare smarty per il tema ma anche per customizzare l'output in funzione di alcuni parametri utente, è sufficiente installarlo nella directory \themes\engines\smarty
Ho scaricato il pacchetto tar.zip smarty da drupal per la versione 6 mettendone il contenuto (directory smarty) in \themes\engines\
Poi ho scaricato dal sito ufficiale di smarty l'ultima versione stabile ed ho copiato i files della directory /lib nella directory themes\engines\smarty\libs.
Ho i files html,css e javascript e stavo iniziando a creare i files tpl per la trasformazione e mi imbatto nel file .info
Scopro da quanto scritto che non posso creare un template a mio piacimento ma devo fare riferimento ad un template base (ad esempio garland).
Quindi mi fermo ed inizio a pensare se usare drupal o no.
E' flessibile come CMS? E' questo il dubbio che mi assale.
Grazie per le risposte.
Ciao

Risposte
Mi serve capire il perche' un
Mi serve capire il perche' un tema fatto dall'utente deve essere un'estensione di un tema base.
Ciao, prima di tutto non
Ciao, prima di tutto non leggere il libro su Drupal 7 se stai usando Drupal 6.x. E' inutile e ti confonde solamente le idee.
Per la questione temi: i temi di drupal POSSONO essere creati sulla base di un tema esistente. Non so dove tu abbia letto che DEVONO, ma è falso.
Perchè stai usando smarty e non PHPTemplate che è il template engine standard di Drupal ?
M.
Ciao, inizio con il
Ciao,
inizio con il ringraziarti per la risposta rapida.
La scelta di smarty e' legata alle performance, ho letto in giro che e' il piu' performante come template framework rispetto agli altri due che si possono usare in drupal. E' vero da quanto ne sapete voi?Poi l'ho usato in un lontano passato (4 anni fa).
Ho letto quanto detto sul file .info nel libro Pro Drupal Development 2nd Edition della Apress. Esattamente scrive quanto segue nel capitolo 8 The theme system pagina 173:
E' un commento al codice del file .info
Themes may be based on other themes; for example, they
; may simply override some of the parent theme's CSS.
; See the Minnelli theme at themes/garland/minnelli for
; an example of a theme that does this in Drupal core.
Scusami ho commesso un errore di traduzione, il verbo e' may quindi possono essere basati...
Scusa ancora ...
Ma allora se ho il mio html, css e javascript per il tema non usero' nessun tema base... Dimmi se sbaglio, questa e' una funzionalita' che estende l'"oggetto" tema inteso come insieme di oggetti che formano il tema facendo l'overloading dei css e trasformation files?
ricapitolo ...
Per creare il mio template seguo la procedura e non setto il valore in base name questo dice al core di drupal che e' un tema che non e' un estensione di un tema esistente?
Grazie e scusate per l'errore di traduzione che ho commesso...
Ma il dubbio e' forte...
Ho installato drupal su uno spazio web gratis per un dominio.it del movimento 5 stelle di novara... visto che useremo l'open source dovunque mi e' venuto di provare drupal, joomla, zend e moovable type ...per vedere quale e' piu' performante visto le limitate performance dello spazio hosting free 10% delle risorse totali e 200mb di spazio web e 10 mb di mysql del server di hosting.
Mi sono dovuto fare l'installazione a mano via ftp di ogni applicativo a causa della limitazione di 500kb per ogni file uploadato
Voglio evitare che vada giu' il portale e che funzioni...
Siamo poverini noi, siamo come i LUG mettiamo i soldi di tasca nostra per ogni manifestazione che facciamo, rifiutando il finanziamento pubblico ai partiti, mentre per i gettoni di presenza (visto che non possiamo rifiutarli) li diamo in beneficienza o per progetti del movimento 5 stelle. E stiamo cercando di introdurre l'open source nella pubblica amministrazione per dirottare quei soldi su welfare, sanita', scuola e trasporti pubblici... speriamo di riuscirci... E' veramente dura ma bisogna provarci per cambiare la gestione della PA.
Spero tu mi possa rispondere sulla questione performance dei template framework utilizzabili
Grazie ancora
Volevo aggiungere una
Volevo aggiungere una domanda.
Ho visto che ad esempio esiste un tema in http://drupal.org/project/smarty di cui e' stato fatto il porting Box_grey_smarty questo dovrebbe funzionare per tutte le versioni di smarty?
Provo a usarlo come riferimento per capire come integrare il tema in drupal cosa ne pensi? Va bene come riferimento?
Grazie
Ciao, io ho sempre utilizzato
Ciao, io ho sempre utilizzato phptemplate e quindi non saprei proprio risponderti su qualche sia il più performante sotto Drupal.
Per creare un tuo tema basta che non setti il base name.
Ricordati che i file CSS e JS di default (quelli che valgono per tutte le pagine) vanno messi nel file .info
Ricordati anche che l'ultima riga prima del nei vari file page*.tpl.php deve essere
<?phpecho $closure;
?>
Per il resto segui le indicazioni di Pro Drupal Development e dei documenti che trovi online.
M.
Per il template
Per il template Box_grey_smarty non so risponderti.
Io utilizzerei il template engine standard di Drupal. E vai sul sicuro.
M.
Allora ho appena provato e
Allora ho appena provato e smarty non funziona con il tema smarty_grey_scale.
Non lo visualizza nel pannello di controllo drupal sotto la voce temi.
Cio' che ho fatto e' creare una directory themes\engines\smarty ed ho messo il contenuto della libreria scaricata dal sito di drupal.org per utilizzare smarty.
Poi ho scaricato smarty dal sito ufficiale di smarty ed ho copiato nella directory themes\engines\smarty\libs i file contenuti nella directory lib del pacchetto di smarty.
Poi ho scaricato il pacchetto box_grey_smarty e l'ho scompattato nella directory themes.
Entrando come amministratore ed andando nella sezione temi del pannel contro di drupal non vedo il tema.
Ho cercato la documentazione di installazione di smarty e tutti dicono di fare cosi' l'installazione. Purtroppo riguardo al tema box_grey_smarty non trovo un documento di installazione del tema.
Aiutino?
grazie
Ho notato che nel pacchetto
Ho notato che nel pacchetto del tema manca il file .info potrebbe essere questa la ragione del non funzionamento?
Se non hai info in merito a smarty puoi darmi qualche link se lo conosci su le specifiche di installazione di temi smarty?
Mi sta lasciando un po' allibito il fatto che non esista documentazione sulle librerie smarty e sulla creazione di temi.
Sono sicuro che sia stato testato sulla versione 6 di drupal altrimenti non capisco perche' lo facciano scaricare il modulo smarty per drupal 6 dovrebbe funzionare con il tema di default seguendo i passi descritti come ho trovato nelle guide.
Mi avevano detto che Drupal e' un incubo per gli amministratori ma credevo che fosse uno scherzo.... per demoralizzare.
Mi rendo conto che esiste poca documentazione in merito ad alcune funzionalita'.
Se uno vuole customizzare drupal con i framework che preferisci diventa molto complicato a meno di fare reverse engineering del codice sorgente e vedere quali file cerca il motore o core.
Puoi aiutarmi o a chi posso chiedere?
Grazie.
RISOLTO!!!! Allora per futuri
RISOLTO!!!!
Allora per futuri problemi rilascio la soluzione funzionante all'installazione di smarty su drupal 6.17 e di un tema che puo' essere usato come base per un tema esteso.
Oppure installate questo per capire come generare un vostro tema personale senza estenderne uno gia' esistente (praticamente vi elimina i vincoli per il tema esistente).
1. Installare motore Smarty per interfacciare Smarty con drupal 6.17:
a. Scaricare il pacchetto smarty per integrare smarty su drupal che trovate
all'indirizzo http://drupal.org/project/smarty
b. scompattate il contenuto nella directory path_drupal/themes vi troverete
il pacchetto nella directory path_drupal/themes/box_grey_smarty
2. Installare il pacchetto Smarty
a. Scaricare il pacchetto http://www.smarty.net/download.php
b. scompattate il contenuto nella directory /libs nella corrispondente
directory path_drupal/themes/box_grey_smarty/libs
A questo punto avete smarty installato su drupal 6.17
3. Installiamo un tema di smarty e prendiamo ad esempio il tema box_grey_smarty che trovate all'indirizzo:
a. scarichiamo il pacchetto del tema da http://drupal.org/project/box_grey_smarty
b. decomprimiano nella directory path_drupal/themes/box_grey_smarty
c. settiamo i diritti sulla directory box_grey_smarty 755 ricorsivamente(tutti i files e directory presenti da qui in giu')
d. La cagata pazzesca e' che nel pacchetto manca il file .info e lo creaiamo in path_drupal/themes/box_grey_smarty/box_grey_smarty.info il contenuto del file box_grey_smarty.info sara':
; $Id: box_grey_smarty.info,v 1.0 2010/07/26 15:02:38 dries Exp $
name = box_grey_smarty
description = porting of box grey phptal framework on smarty framework.
version = VERSION
core = 6.x
; Information added by drupal.org packaging script on 2010-07-26
version = "6.17"
project = "drupal"
datestamp = "1280149373"
dove name e' il nome che comparira' nel pannello di amministratore e description la scritta relativa alla descrizione. La versione e' quella dell'installazione 6.17 il core 6.x
datestamp e' il formato unix della data a partire dal 1970 ossia il 26/07/2010 alle 13:05:00 se non ricordo male. Lo generate con linux o attraverso qualche pagina web su internet scrivendo convert datestamp su google.
e. Settate gli attributi di accesso a files e directory con valore 755 ossia owner:rwx group:rx others:rx affinche' si possa accedere ai files e directory del tema in lettura e attraversamento di directory
Andiamo a configurare il nuovo tema
1. Entriamo nel nostro sito dove abbiamo installato drupal puo' essere nomedominio.qualcosa oppure se lo abbiamo installato in una sotto directory del nostro spazio web sara' nomedominio.qualcosa/path_di_drupal nel mio caso nomedominio/drupal
2. Autentichiamoci come amministratore
3. Andiamo in Amministra -> Costruzione del Sito -> Temi e vedremo che il nostro tema appena installato box_grey_smarty comparira'
3. Andiamo a settare il tema box_grey_smarty et voila il nostro tema cambiera' immediatamente
FINITO!!!
Finalmente funziona tutto!!!!
RISOLTO!!!! Allora per futuri
RISOLTO!!!!
Allora per futuri problemi rilascio la soluzione funzionante all'installazione di smarty su drupal 6.17 e di un tema che puo' essere usato come base per un tema esteso.
Oppure installate questo per capire come generare un vostro tema personale senza estenderne uno gia' esistente (praticamente vi elimina i vincoli per il tema esistente).
1. Installare motore Smarty per interfacciare Smarty con drupal 6.17:
a. Scaricare il pacchetto smarty per integrare smarty su drupal che trovate
all'indirizzo http://drupal.org/project/smarty
b. scompattate il contenuto nella directory path_drupal/themes vi troverete
il pacchetto nella directory path_drupal/themes/box_grey_smarty
2. Installare il pacchetto Smarty
a. Scaricare il pacchetto http://www.smarty.net/download.php
b. scompattate il contenuto nella directory /libs nella corrispondente
directory path_drupal/themes/box_grey_smarty/libs
A questo punto avete smarty installato su drupal 6.17
3. Installiamo un tema di smarty e prendiamo ad esempio il tema box_grey_smarty che trovate all'indirizzo:
a. scarichiamo il pacchetto del tema da http://drupal.org/project/box_grey_smarty
b. decomprimiano nella directory path_drupal/themes/box_grey_smarty
c. settiamo i diritti sulla directory box_grey_smarty 755 ricorsivamente(tutti i files e directory presenti da qui in giu')
d. La cagata pazzesca e' che nel pacchetto manca il file .info e lo creaiamo in path_drupal/themes/box_grey_smarty/box_grey_smarty.info il contenuto del file box_grey_smarty.info sara':
; $Id: box_grey_smarty.info,v 1.0 2010/07/26 15:02:38 dries Exp $
name = box_grey_smarty
description = porting of box grey phptal framework on smarty framework.
version = VERSION
core = 6.x
; Information added by drupal.org packaging script on 2010-07-26
version = "6.17"
project = "drupal"
datestamp = "1280149373"
dove name e' il nome che comparira' nel pannello di amministratore e description la scritta relativa alla descrizione. La versione e' quella dell'installazione 6.17 il core 6.x
datestamp e' il formato unix della data a partire dal 1970 ossia il 26/07/2010 alle 13:05:00 se non ricordo male. Lo generate con linux o attraverso qualche pagina web su internet scrivendo convert datestamp su google.
e. Settate gli attributi di accesso a files e directory con valore 755 ossia owner:rwx group:rx others:rx affinche' si possa accedere ai files e directory del tema in lettura e attraversamento di directory
Andiamo a configurare il nuovo tema
1. Entriamo nel nostro sito dove abbiamo installato drupal puo' essere nomedominio.qualcosa oppure se lo abbiamo installato in una sotto directory del nostro spazio web sara' nomedominio.qualcosa/path_di_drupal nel mio caso nomedominio/drupal
2. Autentichiamoci come amministratore
3. Andiamo in Amministra -> Costruzione del Sito -> Temi e vedremo che il nostro tema appena installato box_grey_smarty comparira'
3. Andiamo a settare il tema box_grey_smarty et voila il nostro tema cambiera' immediatamente
FINITO!!!
Finalmente funziona tutto!!!!
Se volete contattarmi skyblackhawk@yahoo.it
(Nessun soggetto)
Bravo. Rimane il fatto che
Bravo. Rimane il fatto che personalmente preferisco il template engine di Drupal.
Occhio alla cache di smarty.
M.
cosa intendi attento con la
cosa intendi attento con la cache di smarty?
Esistono limiti cosi evidenti? Io l'ho usato su un servizio www europeo di una grossa multinazionale ovviamente avevamo server in load balancing per ogni mercato europeo e notturnamente allineamento dei vari mercati per congruenze dei db locali con quello dell'head quarter.
Quando parli di cache di smarty e' cosi' poco performante? Li andava una scheggia, ma su un server ridicolo (hosting di awardspace) come quello che sto usando implica limitazioni rispetto ad usare phptal o il template engine di drupal a livello di quantita' di risorse?
Grazie
Intendo dire che se non mi
Intendo dire che se non mi ricordo male Smarty ha una sua cache e quindi fai le prove del caso per gli utenti anonimi e registrati/loggati.
M.
Forse ho capito cosa
Forse ho capito cosa intendi:
require('Smarty.class.php');
$page = new Smarty();
$page->caching = 2;
$page->cache_lifetime = 1800; // 30 minutes
$page->display('template.tpl');
Ossia che se si usa il caching in smarty ti riempie la directory dei files di cache dipendendo dal lifetime che hai settato e da quando e' stato cached il file la prima volta che e' stato generato.
Creo un cron per ripulire i piu' vecchi files se si supera una certa quota.
Credo che nel mio caso sia la soluzione migliore. Cosa ne pensi?
Nel codice php metto un try catch per catturare l'errore di file cached non esistente
Ringrazio ziobudda per il
Ringrazio ziobudda per il tempo dedicato...
Ciao.
Posso dire che il supporto e' eccellente.
Controlla anche che Drupal
Controlla anche che Drupal visualizzi correttamente i file sia quando sei un utente loggato che quando sei un utente anonimo.
M.
Scusa, intendo dire di
Scusa, intendo dire di controllare che il tuo browser visualizzi la pagina corretta, non Drupal.
M.
Ho visto che puntando su
Ho visto che puntando su nomedominio.it/drupal mi mostra sempre il profilo amministratore.
Ho letto che dovrei puntare su nomedominio.it/drupal/node per vedere la pagina come utente anonimo.
Purtroppo la pagina da utente anonimo non esiste.
Mi aiuti please?
Grazie
P.S. Mi ha risposto Simmon Adrian riguardo al tema box_grey_smarty e non sapeva del porting su drupal.
Ciao, per controllare la
Ciao, per controllare la visualizzazione da utente loggato e da utente anonimo devi usare due browser differenti in cui in uno sei loggato e nell'altro no. Altrimenti puoi usare firefox con il plugin CookieSwap.
M.