Back to top

Autore Topic: JEvents modulo calendario  (Letto 7732 volte)

dea01

  • Visitatore
JEvents modulo calendario
« il: 21 Mag 2009, 10:25:46 »
Ciao a tutti!

ho installato il modulo di jevents e funziona correttamente però vorrei che il nome del mese non fosse un link.
guardando nel file calendar.php ho visto che il nome del mese è dentro una cella che contiene $linkcurrent

nello stesso file, per $linkcurrent è presente questo codice:
$linkcurrent = $linkpref."month.calendar&day=$cal_day&month=$cal_month&year=$cal_year";
$linkcurrent = JRoute::_($linkcurrent);
$linkcurrent = $this->htmlLinkCloaking($linkcurrent, $month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));


mi dite cosa devo cambiare per far sì che il nome del mese non sia un link??

grazie
Dea

SteveTW

  • Visitatore
Re:JEvents modulo calendario
« Risposta #1 il: 21 Mag 2009, 10:49:46 »
Ciao Dea.... non conosco il componente da te utilizzato......

Nel file di installazione, oltre all'xml, quanti file hai? E' presente anche un template per la visualizzazioen del calendario?

Potresti eventualmente postare tutto il codice del file calendar.php?

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #2 il: 21 Mag 2009, 11:00:53 »
Potresti eventualmente postare tutto il codice del file calendar.php?

ecco qui tutto il codice del file calendar.php che poi è il file presente nella cartella del tmp del modulo...

<?php
/**
 * copyright (C) 2008 GWE Systems Ltd - All rights reserved
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();

/**
 * HTML View class for the component frontend
 *
 * @static
 */
include(dirname(__FILE__)."/../default/calendar.php");


class ExtModCalView extends DefaultModCalView
{
   
   function _displayCalendarMod($time, $startday, $linkString,   &$day_name, $monthMustHaveEvent=false){
         global  $mainframe;
         $db   =& JFactory::getDBO();
         $cfg = & JEVConfig::getInstance();
         $compname = JEV_COM_COMPONENT;

         $cal_day=date("d",$time);
         $cal_year=date("Y",$time);
         $cal_month=date("m",$time);
         $calmonth=date("n",$time);
         $data = $this->datamodel->getCalendarData($cal_year,$cal_month,1,true,$this->modcatids,$this->catidList, $this->myItemid);

         $month_name = JEVHelper::getMonthName($cal_month);
         $to_day     = date("Y-m-d", $this->timeWithOffset);
         $today = mktime(0,0,0,$cal_month, $cal_day, $cal_year);

         $cal_prev_month    = $cal_month - 1;
         $cal_next_month    = $cal_month + 1;
         $cal_next_month_year   = $cal_year;
         $cal_prev_month_year   = $cal_year;

         // additional EBS
         if( $cal_prev_month == 0 ) {
            $cal_prev_month    = 12;
            $cal_prev_month_year    -=1;
         }
         if( $cal_next_month == 13 ) {
            $cal_next_month    = 1;
            $cal_next_month_year    +=1;
         }

         $viewname = $this->getTheme();
         $viewpath = JURI::root() . "components/$compname/views/".$viewname."/assets";
         $viewimages = $viewpath . "/images";

         $linkpref = "index.php?option=$compname&Itemid=".$this->myItemid.$this->cat."&task=";
         //$linkprevious = $linkpref."month.calendar&day=$cal_day&month=$cal_prev_month&year=$cal_prev_month_year";
         //$linkprevious = JRoute::_($linkprevious);
         //$linkprevious = $this->htmlLinkCloaking($linkprevious, '<img border="0" title="previous month" alt="previous month" src="'.$viewimages.'/mini_arrowleft.gif"/ >' );
         
         $linkcurrent = $linkpref."month.calendar&day=$cal_day&month=$cal_month&year=$cal_year";
         $linkcurrent = JRoute::_($linkcurrent);
         $linkcurrent = $this->htmlLinkCloaking($linkcurrent, $month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));

         //$linknext = $linkpref."month.calendar&day=$cal_day&month=$cal_next_month&year=$cal_next_month_year";
         //$linknext = JRoute::_($linknext);
         //$linknext = $this->htmlLinkCloaking($linknext, '<img border="0" title="next month" alt="next month" src="'.$viewimages.'/mini_arrowright.gif"/ >' );


         $content = <<<START
<div id="extcal_minical">
   <table cellspacing="1" cellpadding="0" border="0" align="center" style="border: 1px solid rgb(190, 194, 195); background-color: rgb(255, 255, 255);">
      <tr>
         <td>
            <table width="100%" cellspacing="0" cellpadding="2" border="0" class="extcal_navbar">
               <tr>
                  <td valign="middle" height="18" align="center">
                     $linkprevious
                      </td>
                      <td width="98%" valign="middle" nowrap="nowrap" height="18" align="center" class="extcal_month_label">
                     $linkcurrent
                      </td>
                  <td valign="middle" height="18" align="center">
                          $linknext
                      </td>
               </tr>
            </table>
            <table class="extcal_weekdays">
START;
         $lf="\n";


         // Days name rows - with blank week no.
         $content   .= "<tr>\n<td/>\n";
         for ($i=0;$i<7;$i++) {
            $content.="<td  class='extcal_weekdays'>".$day_name[($i+$startday)%7]."</td>".$lf   ;
         }
         $content.="</tr>\n";

         $datacount = count($data["dates"]);
         $dn=0;
         for ($w=0;$w<6 && $dn<$datacount;$w++){
            $content .="<tr>\n";
            // the week column
            list($week,$link) = each($data['weeks']);
            $content .= '<td class="extcal_weekcell">';
            $content .= $this->htmlLinkCloaking($link, "<img width='5' height='20' border='0' alt='week ".$week."' src='".$viewimages."/icon-mini-week.gif'/>" );
            $content .= "</td>\n";

            for ($d=0;$d<7 && $dn<$datacount;$d++){
               $currentDay = $data["dates"][$dn];
               switch ($currentDay["monthType"]){
                  case "prior":
                  case "following":
                     $content .= "<td class='extcal_othermonth'/>\n";
                     break;
                  case "current":

                     $dayOfWeek=strftime("%w",$currentDay["cellDate"]);

                     $class = ($currentDay["today"]) ? "extcal_todaycell" : "extcal_daycell";
                     $linkclass = "extcal_daylink";
                     if($dayOfWeek==0 && !$currentDay["today"]) {
                        $class = "extcal_sundaycell";
                        $linkclass = "extcal_sundaylink";
                     }

                     if ($currentDay["events"]) {
                        $linkclass = "extcal_busylink";
                     }
                     $content .= "<td class='".$class."'>\n";
                     $content .= $this->htmlLinkCloaking($currentDay["link"], $currentDay['d'], array("class"=>$linkclass,"title"=>JText::_('JEV_CLICK_TOSWITCH_DAY')));

                     $content .="</td>\n";
                     break;

               }
               $dn++;
            }
            $content .="</tr>\n";
         }
         $content .= "</table>\n";
         $content .= "</td></tr></table></div>\n";

         // Now check to see if this month needs to have at least 1 event in order to display
//         if (!$monthMustHaveEvent || $monthHasEvent) return $content;
//         else return '';
         return $content;
      }
   
}

SteveTW

  • Visitatore
Re:JEvents modulo calendario
« Risposta #3 il: 21 Mag 2009, 12:18:59 »
Scusa.... ma è quello originale, o già modificato? Vedo che alcune voci sono solo in comment!!!  :)

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #4 il: 21 Mag 2009, 12:28:08 »
Scusa.... ma è quello originale, o già modificato? Vedo che alcune voci sono solo in comment!!!  :)

ho commentato $linkprevious e $linknext perchè non voglio che siano evidenti per il resto è tutto originale

SteveTW

  • Visitatore
Re:JEvents modulo calendario
« Risposta #5 il: 21 Mag 2009, 12:34:31 »
Scusa.... ma è quello originale, o già modificato? Vedo che alcune voci sono solo in comment!!!  :)

ho commentato $linkprevious e $linknext perchè non voglio che siano evidenti per il resto è tutto originale

include(dirname(__FILE__)."/../default/calendar.php");

nelle prime righe vedo questo, c'è un template? nella cartella default, che chiama un altro calendar.php?

Non riesco ad avere la panoramica completa, però vedo attorno alla riga 62 quanto segue:

Codice: [Seleziona]
         $linkcurrent = $this->htmlLinkCloaking($linkcurrent, $month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));
Per caso, il nome del mese a link è senza decorazioni?

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #6 il: 21 Mag 2009, 14:25:08 »
allora..ricapitoliamo :-)

il modulo che utilizzo contienela cartella tmp che a sua volta contiene 4 cartelle: alternative, default, ext e geraint. il file calendar.php che cerco di modificare io si trova nella cartella ext perchè sto utilizzando questo template.
il file calendar.php al quale fa riferimento si trova nella cartella default e per comodità tua te lo allego in questo post.

per quanto riguarda il link, confermo che è senza decorazioni.

[allegato eliminato da un amministratore perchè più vecchio di 365 giorni]

SteveTW

  • Visitatore
Re:JEvents modulo calendario
« Risposta #7 il: 21 Mag 2009, 15:13:37 »
in effetti si evince che non ci sono decorazioni da quel codice, ma non capisco se questo calendar.php è presente in ogni template o meno.

Dovrei provare il componente per darti una ulteriore mano.... o altrimenti un link per vedere il codice html generato

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #8 il: 21 Mag 2009, 15:16:39 »
Dovrei provare il componente per darti una ulteriore mano.... o altrimenti un link per vedere il codice html generato

eccolo http://www.corrierepadano.it/index.php?option=com_content&view=category&layout=blog&id=128&Itemid=113

SteveTW

  • Visitatore
Re:JEvents modulo calendario
« Risposta #9 il: 21 Mag 2009, 15:23:59 »
Codice: [Seleziona]
In questa parte di codice

[code$linkcurrent = $this->htmlLinkCloaking($linkcurrent, $month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));

prova a togliere $linkcurrent e diventa cosi:

[code$linkcurrent = $this->htmlLinkCloaking($month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));[/code]

Se non è li, è nel template e devi togliere il riferimento <a href

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #10 il: 21 Mag 2009, 15:34:04 »
Codice: [Seleziona]
In questa parte di codice

[code$linkcurrent = $this->htmlLinkCloaking($linkcurrent, $month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));

prova a togliere $linkcurrent e diventa cosi:

[code$linkcurrent = $this->htmlLinkCloaking($month_name." ".$cal_year, array("style"=>"text-decoration:none;color:inherit;"));[/code]

Se non è li, è nel template e devi togliere il riferimento <a href

se cambio il codice, invece del mese esce 'Array' che è cmq sempre linkato
provo a fare l'altro cambio e ti so dire! crossed fingers

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #11 il: 21 Mag 2009, 15:44:18 »
so bene di essere tarata, ma non riesco a trovare il riferimento nel template...
e poi scusa un attimo il template del modulo è proprio il file calendar.php che sto usando...o sbaglio?  ::)

Offline speedman

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re:JEvents modulo calendario
« Risposta #12 il: 21 Mag 2009, 17:26:38 »
premetto che nn ho mai provato qs modulo..
quindi salva prima il file e fai qs prova:
alla riga 284 del file calendar
troverai la funzione che ti rende linkato il mese:
$content .= $this->htmlLinkCloaking($seflinkActMonth, $month_name, array('class'=>"mod_events_link",'title'=> JText::_('JEV_CLICK_TOSWITCH_MON')))." ";

adesso potresti provare a sostituirlo con:
$content .= '<class="mod_events_link" >' . $seflinkActMonth . '"< title="' . JEV_CLICK_TOSWITCH_MON . '">' . $month_name .  . "\n";

è probabile che uscirà fuori qualche errore..ma se mi fai sapere quale cerchiamo di risolverlo...

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #13 il: 21 Mag 2009, 17:39:32 »
premetto che nn ho mai provato qs modulo..
quindi salva prima il file e fai qs prova:
alla riga 284 del file calendar
troverai la funzione che ti rende linkato il mese:
$content .= $this->htmlLinkCloaking($seflinkActMonth, $month_name, array('class'=>"mod_events_link",'title'=> JText::_('JEV_CLICK_TOSWITCH_MON')))." ";

adesso potresti provare a sostituirlo con:
$content .= '<class="mod_events_link" >' . $seflinkActMonth . '"< title="' . JEV_CLICK_TOSWITCH_MON . '">' . $month_name .  . "\n";

è probabile che uscirà fuori qualche errore..ma se mi fai sapere quale cerchiamo di risolverlo...


facendo questo cambiamento non si visualizza più nulla! pagina totalmente bianca

Offline speedman

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re:JEvents modulo calendario
« Risposta #14 il: 21 Mag 2009, 18:11:22 »
installo il componente e ti aggiorno prima di sera

Offline speedman

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re:JEvents modulo calendario
« Risposta #15 il: 21 Mag 2009, 18:58:06 »
Allora
ho installato il modulo...
ecco mi scuso per la modifica al codice che ti ho fatto fare prima, ma era un modo per saltare la funzione link che è generalizzata su qs modulo..
A questo punto ti chiedo
nella sezione gestione moduli di joomla..cliccando su jevents
ti appare qs schermata

a dx su parametri modulo:
puoi selezionare se far vedere il mese prec e successivo o l'anno, e per il mese corrente puoi selezionarlo "as text" così come vedi nell'immagine. salva e vedi se il tuo problema è risolto (in locale il mese risulta non cliccabile).

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #16 il: 22 Mag 2009, 08:40:48 »
Allora
ho installato il modulo...
ecco mi scuso per la modifica al codice che ti ho fatto fare prima, ma era un modo per saltare la funzione link che è generalizzata su qs modulo..
A questo punto ti chiedo
nella sezione gestione moduli di joomla..cliccando su jevents
ti appare qs schermata

a dx su parametri modulo:
puoi selezionare se far vedere il mese prec e successivo o l'anno, e per il mese corrente puoi selezionarlo "as text" così come vedi nell'immagine. salva e vedi se il tuo problema è risolto (in locale il mese risulta non cliccabile).

purtroppo a me questa opzione non funziona...

Offline speedman

  • Nuovo arrivato
  • *
  • Post: 29
    • Mostra profilo
Re:JEvents modulo calendario
« Risposta #17 il: 22 Mag 2009, 13:22:13 »
uhmmm qs è un poblema..
x' se n come credo sul tuo server hai disabilitato la visualizzazione degli errori, non riusciamo a sistemare il codice x' la pagina ti risulta bianca enon dà informazioni.
se si utilizza la funzione del modulo non ti visualizza il mese come testo....
provo a modificare lo script in locale e vediamo un po'

dea01

  • Visitatore
Re:JEvents modulo calendario
« Risposta #18 il: 22 Mag 2009, 14:57:16 »
ok grazie mille

 



Web Design Bolzano Kreatif