Consiglio per calendario eventi con archivio

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Consiglio per calendario eventi con archivio

Post by nervino »

Ciao a tutti, proprio come da oggetto, devo realizzare una gestione degli eventi con un calendario (tipo Calendar) con la possibilità di consultare l'archivio. Mi servirebbe quindi la presenza di un dropdown con gli anni, in modo da selezionare l'anno da consultare senza scorrere con le freccette "mese precedente/prossimo).

Per personalizzare in questo modo il modulo Calendar dovrei modificare pesantemente il codice.
Volevo provare anche CGCalendar ma non sono riuscito ad installarlo nè su versioni recenti di cmsms nè sulle vecchie. Mi dà sempre errore.

Qualcuno ha già affrontato la situazione e può consigliarmi una soluzione?

grazie
alby

Re: Consiglio per calendario eventi con archivio

Post by alby »

nervino wrote: Volevo provare anche CGCalendar ma non sono riuscito ad installarlo nè su versioni recenti di cmsms nè sulle vecchie. Mi dà sempre errore.
Strano, hai visto se ha dipendenze?

Alby
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Re: Consiglio per calendario eventi con archivio

Post by nervino »

CGCalendar dipende da CGExtensions.
Ho fatto prove anche con le varie versioni di entrambi i moduli, su versioni diverse del cms.
Appena installo CGCalendar, sballano tutti i CSS. A volte i CSS rimangono integri ma di CGCalendar nel menu, nemmeno l'ombra.
L'ambiente in cui ho fatto le prove è Linux Debian Lenny, PHP 5 (mi pare 5.3.14) e Mysql 5.

Ho inoltre notato che vecchie versioni di CMSMS, installate nello stesso ambiente, presentano un errorre nel Module Manager e nella pagina dei moduli. Nel primo, non vengono visualizzati i titoli delle due TAB e non c'è il link per l'installazione sulla riga di ogni  modulo; nel secondo, non vengono visualizzati i moduli installati.

Forse dipende dall'upgrade che avevo fatto ad una versione di PHP 5 superiorre, necessaria per gli ultimi CMSMS...
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: Consiglio per calendario eventi con archivio

Post by protempore »

nell'ultima versione di CGCalendar io ho trovato un errore nel file di lingua italiana "it_IT.php"... un "backslash" di troppo fa sballare tutto...

$lang['cal_default_category'] = '\';

il PHP interpreta... giustamente... il backslash come "escape" e si sballa tutto...

...ma non so se è questo il tuo problema...
:)
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Re: Consiglio per calendario eventi con archivio

Post by nervino »

Grazie. Controllerò.
Intanto ho modificato il modulo Calendar - anche se avrei preferito non toccarlo - per ottenere il dropdown per "zompare" da un anno all'altro.
Magari, se interessa, posto il codice.

ciao
User avatar
protempore
Power Poster
Power Poster
Posts: 599
Joined: Mon Jan 14, 2008 9:08 pm

Re: Consiglio per calendario eventi con archivio

Post by protempore »

io ho avuto bisogno di aggiungere un campo "dropdown" ed uno "checkbox" per selezionare il luogo dell'evento e se ad entrata libera o meno... e ho modificato il file "action.admin_add_event.php" così...

Code: Select all

// Add input controls for each of the custom fields that are defined.
$tmp = array();
foreach($fields as $field) 
{
  $field_values = $event['fields'];
  $field_name = $field['field_name'];
  $field_type = $field['field_type'];
  
  $field_value = "";
  if( isset($field_values[$field_name]) )
    {
      $field_value = $field_values[$field_name];
        
  /* START SCRIPT MODIFICATO */
  		if ($field_value=='Hall/Bar') { $selectlist = -1;
  		} else if ($field_value=='Hall/Bar') { $selectlist = 0;
  		} else if ($field_value=='Ludoteca') { $selectlist = 1;
  		} else if ($field_value=='Sala Riunioni') { $selectlist = 2;
  		} else if ($field_value=='Sala Conferenze') { $selectlist = 3;
  		} else if ($field_value=='Sala Mostre') { $selectlist = 4;
  		} else if ($field_value=='Sala Teatro') { $selectlist = 5;
  		} else if ($field_value=='') { $selectlist = 5;
  		}
  /* END SCRIPT MODIFICATO */	
    }

  // Replace spaces with underbars for the form parameter (a bit of an ikky hack I know, 
  // but I can well imagine folk defining custom fields with spaces in the name) 
  // Perhaps it would have been better if custom fields also had a numeric key - hohum live and learn!
  $safefieldname =  str_replace ( " ", "_", $field_name );
  
  /* SCRIPT ORIGINALE DISABILITATO
  $obj = new StdClass();
  $obj->name = $field['field_name'];
  switch( $field_type )
    {
    case 0: // the normal text field
      $obj->field = $this->CreateInputText($id, 'field_'.$safefieldname, $field_value, 50, 255);
      break;
    case 1: // an upload field type
      // display a label with the current value, and then an upload field
      $obj->value = $field_value;
      $obj->field = $this->CreateFileUploadInput($id,'field_'.$safefieldname).
	$this->CreateInputHidden($id,'upload_field_'.$safefieldname,$field_name).
	$this->CreateInputHidden($id,'upload_field_oldvalue_'.$safefieldname,$field_value);
      break;
    }  
  */
  
  /* START SCRIPT MODIFICATO */
	
  $obj = new StdClass();
  $obj->name = $field['field_name'];
  
	if ($obj->name=='00_location') {
		$location = array('Hall/Bar'=>'Hall/Bar',
		  'Ludoteca'=>'Ludoteca',
		  'Sala Riunioni'=>'Sala Riunioni',
		  'Sala Conferenze'=>'Sala Conferenze',
		  'Sala Mostre'=>'Sala Mostre',
		  'Sala Teatro'=>'Sala Teatro');
		// $obj->field = $this->CreateInputSelectList($id,'field_'.$safefieldname,$location,$event['fields'],6);
		
		$obj->field = $this->CreateInputDropdown($id, 'field_'.$safefieldname, $location, $selectlist);
		
	} else if ($obj->name=='00_ingressoLibero') {
		$checked=$field_value;
		$obj->field = $this->CreateInputCheckbox($id, 'field_'.$safefieldname, 'SI', $checked,'id="field_'.$safefieldname.'"');
	} else {
		switch( $field_type )
		{
			case 0: // the normal text field
				$obj->field = $this->CreateInputText($id, 'field_'.$safefieldname, $field_value, 50, 255);
				break;
			case 1: // an upload field type
				// display a label with the current value, and then an upload field
				$obj->value = $field_value;
				$obj->field = $this->CreateFileUploadInput($id,'field_'.$safefieldname).
				$this->CreateInputHidden($id,'upload_field_'.$safefieldname,$field_name).
				$this->CreateInputHidden($id,'upload_field_oldvalue_'.$safefieldname,$field_value);
			case 2:
     			$obj->field = $this->CreateTextArea(false,$id,$field_value,'field_'.$safefieldname);
			break;
		}
	}
  /* END SCRIPT MODIFICATO */	
	
  $tmp[] = $obj;
}
Last edited by protempore on Sat May 22, 2010 7:30 am, edited 1 time in total.
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Re: Consiglio per calendario eventi con archivio

Post by nervino »

Era proprio lo slash!!
Thanks a lot.
Post Reply

Return to “Italian - Italiano”