Problema post installazione in locale

8 contenuti / 0 new
Ultimo contenuto
Problema post installazione in locale

Ciao a tutti,

ho installato Drupal 7 in locale e funziona benissimo, a parte che non riesco a capire a cosa sia dovuto questo problema:

Quote:
Notice: Undefined variable: site_name_and_slogan in include() (line 10 of C:\xampp\htdocs\drupal_7\sites\all\themes\*****\templates\page.tpl.php).
Notice: Undefined variable: site_name_and_slogan in include() (line 12 of C:\xampp\htdocs\drupal_7\sites\all\themes\*****\templates\page.tpl.php).

Ho cercato su internet, anche sul sito ufficiale, ma non c'è una spiegazione chiara. Mi aiutate per favore? Vorrei togliere questo bruttissimo messaggio di errore.

Preciso che ho aggiornato tutto, database, cron ecc. Non ci sono altri problemi.

la variabile site_name_and_slogan non esiste. Il tema cerca di usarla, ma nessuno l'ha inizializzata.
Non è facile suggerire il da farsi, senza un'idea di quale tema (e versione) si tratti

Angelo Turetta

Il tema è "busy". Ultima versione del tema e di Drupal. Nel quote avevo messo gli asterischi sol perché l'ho rinominato come sottotema.

Grazie Angelo per la risposta. Ma ti chiedo, hai una soluzione? Come posso fare per risolvere?

Ecco spiegato il problema.

Il tema non può essere rinominato, altrimenti devi entrare in tutti i file (come template.php) che definiscono degli hook e cambiare il nome a tutte le funzioni (es: busy_preprocess_page() che è quella che definisce la variabile in questione, e non verrà mai più chiamata dopo il rename). Rinominandolo, ti perdi anche la possibilità di installare degli aggiornamenti.

Se vuoi usare un tema derivato da un altro, devi creare un subtheme, http://drupal.org/node/225125

Angelo Turetta

Ok, capito. Grazie mille dell'informazione. Io per creare il sottotema ho agito solo copiando la cartella del tema principale, rinominandola. Poi sono entrata nel file .info (che pure ho rinominato) e ho cambiato qualche informazione così come ho trovato in una guida sulla creazione dei sottotemi, qui su drupalitalia.

Mi par di capire che la cosa del sottotema sia più complessa del previsto.

Ti faccio vedere il file .info del sottotema, perché ho aggiunto "base theme" e mi dà fatal error:

Quote:
; $Id: busy.info,v 1.2.2.2 2011/01/31 18:02:29 stborchert Exp $
name = qui ho messo il nome del sottotema***
description = qui ho messo la descrizione del sottotema***
base theme = busy
// base theme non c'era e l'ho aggiunta io, il resto l'ho lasciato uguale
// la cartella del sottotema è un'altra, ovviamente, copiata e rinominata, il file .info del sottotema l'ho rinominato con lo stesso nome della cartella del sottotema
package = Core
version = VERSION
core = 7.x
engine = phptemplate

stylesheets[all][] = css/style.css
stylesheets[print][] = css/print.css

regions[header] = Header
regions[header_top_right] = Header top right
regions[header_left] = Header left
regions[header_right] = Header right
regions[page_top] = Page top
regions[help] = Help
regions[highlight] = Highlight
regions[content_top] = Content top
regions[content] = Content
regions[sidebar_first] = Sidebar first
regions[page_bottom] = Page bottom
regions[footer] = Footer

; Information added by drupal.org packaging script on January 1, 1970 - 00:00
version = "7.x-1.4"
core = "7.x"
project = "busy"
datestamp = "1296563828"

E questo è il fatal error che mi dà:

Quote:
Fatal error: Cannot redeclare busy_process_html() (previously declared in C:\xampp\htdocs\drupal_7\sites\all\themes\busy\template.php:8) in C:\xampp\htdocs\drupal_7\sites\all\themes\busy_****\template.php on line 13

No, per il sottotema devi partire da una cartella vuota, e poi gli crei dentro il file .info minimale

Man mano che ti serve cambiare qualcosa rispetto al tema base, puoi copiarla nella cartella del sottotema e modificarla. l'unica eccezione è lo stile, che per poter ereditare quelli del tema base devi definirne almeno uno nuovo, anche vuoto (es: stylesheets[all][]=override.css)

Davvero, segui le istruzioni che ti ho postato e non avrai problemi

Angelo Turetta

Grazie Angelo, mi hai chiarito le idee!

Ho fatto come hai detto:
- cartella vuota col nome del sottotema (cambiato rispetto all'originale);
- file .info copiato dal tema principale e rinominato;
- creato foglio di stile nuovo (vuoto);
- ho aggiornato il file .info indicandogli il percorso del nuovo foglio di stile (vuoto) e ho lasciato gli altri fogli di stile indicati.

Ora il sito viene caricato, ma senza alcuna regola css. In cosa sbaglio?

Io vorrei che mi caricasse il template di default così com'è nell'originale, per poi andarci a mettere mani (o aggiunte) a parte tramite foglio di stile nel sottotema.

Non dovevi copiare il file .info dal tema originale.

Dalla tua situazione attuale, secondo me devi togliere tutti i CSS del tema base dal .info del sottotema. Nel sottotema ci devono essere solo i CSS del sottotema stesso, il mio avviso precedente riguardava il fatto che i css del tema base sono ereditati solo se definisci almeno un CSS per il sottotema.

Angelo Turetta