Home

Stefano Mallozzi Sviluppo web professionaleStefano Mallozzi Sviluppo web professionale

Condividi contenuti
  • Chi sono
  • Preferiti
  • Suggerimenti utili
  • Tutorial
  • Contattami
  • Feed aggregator
Home

Lingue

  • Italiano
  • English

Contattami

Links

Tag

connessione drupal foto gaeta ics immagini internet lan node images php rete seo
Tutti i tag

Foto gallery

  • Foto di Gaeta
  • Le meraviglie del Golfo di Gaeta

Risolvere il problema del mancato caricamento di Javascript e CSS nell'hook_form_alter() quando la form del nodo non viene validata

Dom, 20/03/2011 - 01:49 — stefano

Se nell'hook_form_alter() di un modulo vengono chiamate le funzioni drupal_add_js() oppure drupal_add_css() per caricare dei Javascript o dei CSS nella form di creazione/modifica di un nodo, e la form non viene validata correttamente, all'apertura successiva non vengono caricati i Javascript e i CSS.
Il problema si può risolvere aggiungendo alla form il parametro #after_build e spostando le chiamate a drupal_add_js() e drupal_add_css() nella funzione da esso definita. In questo modo l'hook_form_alter() contiene esclusivamente gli elementi form, mentre nel #after_build ci sarà solo il caricamento dei Javascript e dei CSS.

Tag:
  • Drupal
  • drupal
  • form
  • validazione
»
  • English

Errore sulla funzione mb_strlen() con elementi di tipo date_popup

Mer, 08/12/2010 - 17:45 — stefano

Installando il modulo date_popup presente nel pacchetto date si può creare un elemento calendario per inserire date. Basta assegnare ad una normale casella di testo il tipo date_popup, ad esempio:

  $form['data_inizio'] = array(
    '#type' => 'date_popup',
    '#title' => 'Data iniziale',
    '#default_value' => $values['data_inizio'],
    '#date_format' => 'd/m/Y',
    '#size' => 13,
  );


Cliccando dentro la casella viene fuori un widget calendario per scegliere la data.
Bisogna fare attenzione a NON INSERIRE la proprietà #maxlength, altrimenti verrà fuori un errore come questo:

warning: mb_strlen() expects parameter 1 to be string, array given in D:\localhost\drupal\includes\unicode.inc on line 410.

L'errore è dovuto al fatto che il modulo date_popup trasforma il valore della data in un array, quindi il controllo sulla lunghezza massima fatto durante la validazione della form si trova a eseguire la funzione drupal_strlen su un array anziché su una stringa, e genera quell'errore.

Tag:
  • Drupal
  • date_popup
  • drupal
  • errori
  • moduli
»
  • English

Node images: gestione immagini e fotogallery per Drupal

Sab, 24/01/2009 - 02:54 — stefano

Il progetto Node images è un modulo Drupal per creare gallerie fotografiche. Per ogni contenuto inserito si possono caricare delle immagini, che poi saranno visualizzate come fotogallery. Le immagini possono essere caricate durante la creazione dei contenuti, e poi gestite in una pagina apposita, per modificare quelle già inserite o caricarne delle nuove.
Queste le caratteristiche principali del modulo:

  • Gestione delle immagini caricate, con possibilità di caricarne altre, scegliere quali mostrare, cambiare l'ordine di visualizzazione.
  • Caricamento delle immagini anche nella pagina di creazione del contenuto.
  • Fotogallery in Ajax, con miniature delle immagini caricate, e immagine corrente in formato Polaroid.
  • Impostazioni dettagliate di caricamento (dimensioni delle immagini, numero massimo di immagini caricabili, nomi dei file in formato md5, scelta dei tipi di contenuto a cui si può associare le immagini).
  • Gestione granulare dei permessi di accesso (aggiunta delle immagini a tutti i tipi di contenuto o solo ad alcuni, modifica/cancellazione delle immagini di tutti gli utenti o solo delle proprie).
  • Internazionalizzazione delle descrizioni, tramite il modulo i18strings (contenuto nel pacchetto Internazionalizzazione): le descrizioni delle immagini sono disponibili come stringhe da tradurre nell'interfaccia di traduzione.

Demo della fotogallery: Foto di Gaeta

Tag:
  • Drupal
  • drupal
  • foto
  • gallery
  • i18n
  • immagini
  • node images
  • php
  • sviluppo
  • traduzione
»
  • English

Aggiungere il supporto multilingua a un sito in Drupal 6

Mar, 30/12/2008 - 21:49 — stefano
  1. Installare le lingue
    • Nella pagina Configurazione del sito ⇒ Lingue installare le lingue del sito.
    • Nella sezione Configura selezionare Soltanto il prefisso del percorso.
  2. Attivare i moduli
    • Nella pagina Moduli attivare i seguenti moduli core: Locale, Content Translation.
    • Installare il modulo Internationalization (i18n) e attivare tutti i moduli multilingua tranne Poll aggregate e Profile translation.
    • Nella pagina Permessi assegnare i giusti permessi generati dai moduli attivati precedentemente.
  3. Configurazione multilingua
    • Nella pagina Configurazione del sito ⇒ Lingue modificare ciascuna lingua (tranne quella predefinita) aggiungendo il prefisso del percorso (di solito pari al codice della lingua, ad es. "en" per l'inglese).
    • Nella pagina Configurazione del sito ⇒ Lingue ⇒ Sistema multilingua selezionare Lingua corrente e lingua neutra.
    • Aprire il file settings.php di Drupal e inserire l'array $conf['i18n_variables'] con tutte le variabili che si vuole tradurre, ad esempio:

      $conf['i18n_variables'] = array(
      // Site configuration
      'site_slogan',
      'site_mission',
      'anonymous',
      // User configuration
      'user_registration_help',
      'usermail_welcome_subject',
      'user_mail_welcome_body',
      'user_mail_approval_subject',
      'user_mail_approval_body',
      'user_mail_pass_subject',
      'user_mail_pass_body',
      // Primary and secondary links
      'menu__primary_links_source',
      'menu__secondary_links_source',
      // Theme settings. This is an 'all or nothing' for each theme
      // This is for 'garland' theme, for other theme it would be 'theme_[themename]_settings'
      'theme_garland_settings',
      );

      Queste variabili saranno traducibili cambiando la lingua corrente del sito.
  4. Traduzione dell'interfaccia del sito
    • Aprire la pagina di amministrazione dei Blocchi e attivare il blocco Language switcher. Saranno visualizzati dei link alle diverse lingue attive, per cambiare la lingua corrente del sito.
  5. Traduzione dei blocchi
    Creare un blocco per ogni lingua, inserendo direttamente il contenuto tradotto e selezionando la lingua nel campo Lingua.
  6. Traduzione dei contenuti
    • Nella pagina di amministrazione dei Tipi di contenuto modificare ciascun tipo scegliendo nella sezione Impostazioni del flusso di lavoro l'opzione Abilitato, traduzione inclusa. Si potranno quindi scrivere i contenuti direttamente nella lingua predefinita, poi aprire la sezione Traduci e per ogni lingua scrivere il contenuto tradotto.
  7. Traduzione dei menu
    • Aprire la pagina di gestione Menu, aggiungere o modificare un elemento e selezionare la lingua desiderata nel campo Lingua.
    • Per mostrare nella pagina solo i menu nella lingua corrente, ad esempio i Link primari in italiano quando è selezionato Italiano, bisogna modificare il file template.php, aggiungendo questo codice alla funzione phptemplate_preprocess_page():

      global $language;
      if (!empty($vars['primary_links'])) {
      foreach ((array)$vars['primary_links'] as $id => $link) {
      if ($link['langcode'] && strcmp($link['langcode'], $language->language) != 0) unset($vars['primary_links'][$id]);
      }
      }
  8. Traduzione della tassonomia
    • Nella pagina di creazione o modifica di un vocabolario, scegliere nella sezione Opzioni multilingua l'opzione Imposta una lingua per il vocabolario..., e selezionare la lingua desiderata. I termini aggiunti in ogni vocabolario saranno mostrati solo quando la lingua selezionata è attivata come lingua corrente del sito.
  9. Aggiornamento delle traduzioni
    • Per visualizzare in tutte le lingue i termini e i menu appena inseriti, aprire la pagina Interfaccia di traduzione, nella sezione Aggiorna selezionare tutti i gruppi di testo e cliccare su Aggiorna stringhe.
Tag:
  • Tutorial
  • drupal
  • lingue
  • multilingua
  • traduzione
»
  • English
Condividi contenuti

© Stefano Mallozzi
P.IVA 02155580596
Valid XHTML 1.0 Strict Valid CSS Valid RSS
Powered by Drupal Powered by Apache Powered by MySQL Powered by PHP