Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 Re : Modules, Tags » [Résolu] CG Calendar 1.14.3 : Bug lié à la navigation entre les mois » 16/10/2014 14:17:55

Bonjour,

Merci pour ton implication à propos de mon problème.

Bon j'ai compris mon problème. Je n'ai tout simplement pas lu la doc et j'avais inséré directement la balise du module dans mon gabarit au lieu de l'insérer dans mon {content} ...

Toutefois, il est possible de faire fonctionner le module de cette façon, mais en désactivant JQuery et en jonglant avec le CSS car deux éléments <table> sont alors générés. Je ne pense pas que ce soit très utile mais bon.

En tout cas je suis vraiment désolé de t'avoir fait perdre du temps, le module fonctionne à merveille à présent.

Je passe mon sujet en "résolu", n'hésite pas à tout bonnement le supprimer si tu pense qu'il est inutile.

#2 Re : Modules, Tags » [Résolu] CG Calendar 1.14.3 : Bug lié à la navigation entre les mois » 15/10/2014 17:52:14

Merci de se pencher si rapidement sur mon cas.

Bon j'ai corrigé mon doctype et certaines erreurs.

Par contre j'ai toujours le même soucis j'ai donc du mal comprendre la solution.

J'avais comme fonctions de gabarit :

{if !isset($smarty.get.nojs)}
<script type="text/javascript">{jsmin}
// the jsmin plugin is included with CGExtensions.
if( typeof jQuery != 'undefined' ) {
  $(document).ready(function(){
    $(document).on('click','a.calendar-nav',function(ev){
      // allow paginating through months via ajax.
      var url = $(this).attr('href').replace(/amp;/g,'')+'nojs=1&showtemplate=false';
      $('#cal-calendar').load(url);
      ev.preventDefault();
    });

    if( jQuery().dialog ) {
      $(document).on('click','a.calendar-daylist',function(ev){
        // demonstrate viewing a day list in a popup dialog
        // and mixing smarty and javascript code.
        // uses jquery ui dialog... but could just as easily use fancybox etc.
        // you could add parameters here for changing the template from the default, etc, or even filter by category.
        ev.preventDefault();
        var day = new Date( $(this).data('day') * 1000 );
        var m = day.getMonth()+1;
        var d = day.getDate();
        var y = day.getFullYear();
        var url = '{module_action_link module=CGCalendar display=list day=DDDD  month=MMMM year=YYYY jsfriendly=1}&showtemplate=false';
        url = url.replace('MMMM',m).replace('DDDD',d).replace('YYYY',y);
        $('#cal-dayview').load(url,function(data){
          $('#cal-dayview').dialog({
            title: '{$mod->Lang('dayview')}'
          })
        });
      });
    }
  })
} // jquery test
{/jsmin}</script>
{/if}

{strip}
<div style="display: none;">{* a simple wrapper *}
  <div id="cal-dayview"></div>
</div>
<table class="calendar" id="cal-calendar">
<caption class="calendar-month">
   <span class="calendar-prev"><a class="calendar-nav" href="{$navigation.prev}">&laquo;</a></span>
     {$date|date_format:'%b %Y'}
   <span class="calendar-next"><a class="calendar-nav" href="{$navigation.next}">&raquo;</a></span>
</caption>
<tbody><tr>
{foreach from=$day_names item=day key=key}
<th class="cal-dayhdr" abbr="{$day}">{$day_short_names[$key]}</th>
{/foreach}</tr>

<tr>
{* initial empty days *}
{if $first_of_month_weekday_number > 0}
<td colspan="{$first_of_month_weekday_number}">&nbsp;</td>
{/if}

{* iterate over the days of this month *}
{assign var=weekday value=$first_of_month_weekday_number}
{foreach from=$days item=day key=key}
{if $weekday == 7}
  {assign var=weekday value=0}
</tr>
<tr>
{/if}
<td {if isset($day.class)}class="{$day.class} cal-day"{/if}>
{if isset($day.events.0)}<a class="calendar-daylist" data-day="{$day.date}" href="{$day.ni_url}">{$key}</a>{* by default use the non inline (replace content tag) version of the URL *}
<ul>
{foreach from=$day.events item=event}
<li>
  {* some simple smarty logic to use the foreground and background colors assigned to an event *}
  {$style=''}{if $event.bgcolor}{$style="style=\"color: {$event.fgcolor}; background-color: {$event.bgcolor}\""}{/if}
  <a class="calendar-event" href="{$event.url}" {$style}>{$event.event_title|summarize:20}</a></li>
{/foreach}
</ul>
{else}{$key}{/if}
</td>
{math assign=weekday equation="x + 1" x=$weekday}
{/foreach}

{* remaining empty days *}
{if $weekday != 7}
<td colspan="{math equation="7-x" x=$weekday}">&nbsp;</td>
{/if}


</tr>
</tbody></table>

{/strip}

que j'ai donc changé en

{if !isset($smarty.get.nojs)}
<script type="text/javascript">{jsmin}
// the jsmin plugin is included with CGExtensions.
if( typeof jQuery != 'undefined' ) {
  $(document).ready(function(){
    $(document).on('click','a.calendar-nav',function(ev){
      // allow paginating through months via ajax.
      var url = $(this).attr('href').replace(/amp;/g,'')+'nojs=1&showtemplate=false';
      ///
      $.get( url, function( data ) {
        $( '#cal-calendar' ).html( data );
      });
      ///
      ev.preventDefault();
    });

    if( jQuery().dialog ) {
      $(document).on('click','a.calendar-daylist',function(ev){
        // demonstrate viewing a day list in a popup dialog
        // and mixing smarty and javascript code.
        // uses jquery ui dialog... but could just as easily use fancybox etc.
        // you could add parameters here for changing the template from the default, etc, or even filter by category.
        ev.preventDefault();
        var day = new Date( $(this).data('day') * 1000 );
        var m = day.getMonth()+1;
        var d = day.getDate();
        var y = day.getFullYear();
        var url = '{module_action_link module=CGCalendar display=list day=DDDD  month=MMMM year=YYYY jsfriendly=1}&showtemplate=false';
        url = url.replace('MMMM',m).replace('DDDD',d).replace('YYYY',y);
        $('#cal-dayview').get(url,function(data){
          $('#cal-dayview').dialog({
            title: '{$mod->Lang('dayview')}'
          })
        });
      });
    }
  })
} // jquery test
{/jsmin}</script>
{/if}

{strip}
<div style="display: none;">{* a simple wrapper *}
  <div id="cal-dayview"></div>
</div>
<table class="calendar" id="cal-calendar">
<caption class="calendar-month">
   <span class="calendar-prev"><a class="calendar-nav" href="{$navigation.prev}">&laquo;</a></span>
     {$date|date_format:'%b %Y'}
   <span class="calendar-next"><a class="calendar-nav" href="{$navigation.next}">&raquo;</a></span>
</caption>
<tbody><tr>
{foreach from=$day_names item=day key=key}
<th class="cal-dayhdr" abbr="{$day}">{$day_short_names[$key]}</th>
{/foreach}</tr>

<tr>
{* initial empty days *}
{if $first_of_month_weekday_number > 0}
<td colspan="{$first_of_month_weekday_number}">&nbsp;</td>
{/if}

{* iterate over the days of this month *}
{assign var=weekday value=$first_of_month_weekday_number}
{foreach from=$days item=day key=key}
{if $weekday == 7}
  {assign var=weekday value=0}
</tr>
<tr>
{/if}
<td {if isset($day.class)}class="{$day.class} cal-day"{/if}>
{if isset($day.events.0)}<a class="calendar-daylist" data-day="{$day.date}" href="{$day.ni_url}">{$key}</a>{* by default use the non inline (replace content tag) version of the URL *}
<ul>
{foreach from=$day.events item=event}
<li>
  {* some simple smarty logic to use the foreground and background colors assigned to an event *}
  {$style=''}{if $event.bgcolor}{$style="style=\"color: {$event.fgcolor}; background-color: {$event.bgcolor}\""}{/if}
  <a class="calendar-event" href="{$event.url}" {$style}>{$event.event_title|summarize:20}</a></li>
{/foreach}
</ul>
{else}{$key}{/if}
</td>
{math assign=weekday equation="x + 1" x=$weekday}
{/foreach}

{* remaining empty days *}
{if $weekday != 7}
<td colspan="{math equation="7-x" x=$weekday}">&nbsp;</td>
{/if}


</tr>
</tbody></table>

{/strip}



Mais j'ai tout de même le même problème.

J'ai du mal comprendre quelque chose. D'ailleurs j'ai du mal à comprendre pourquoi je suis le seul à avoir ce souci mais bon.

Je suis nul en Ajax, et je n'ai que des notion de JS / JQuery ce qui peut expliquer mon incompréhension.  sad

#3 Modules, Tags » [Résolu] CG Calendar 1.14.3 : Bug lié à la navigation entre les mois » 15/10/2014 13:21:03

7im3r
Réponses : 8

#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.10
#~ Url du site : ours-blanc-vars.fr
#~ Hébergeur / Soft : ovh
#~ Informations Système :
#~      ----------------------------------------------
#~      Cms Version: 1.11.11
#~      Installed Modules:
#~          CMSMailer: 5.2.2
#~          CMSPrinting: 1.0.5
#~          FileManager: 1.4.5
#~          MenuManager: 1.8.6
#~          MicroTiny: 1.2.7
#~          ModuleManager: 1.5.8
#~          News: 2.14.4
#~          Search: 1.7.11
#~          ThemeManager: 1.1.8
#~          AdvancedContent: 0.9.4.3
#~          CGSimpleSmarty: 1.7.4
#~          CGExtensions: 1.42.2
#~          CGCalendar: 1.14.3
#~      Config Information:
#~          php_memory_limit:
#~          process_whole_template:
#~          max_upload_size: 64000000
#~          url_rewriting: mod_rewrite
#~          page_extension:
#~          query_var: page
#~          image_manipulation_prog: GD
#~          auto_alias_content: true
#~          locale: fr_FR.utf-8
#~          default_encoding: utf-8
#~          admin_encoding: utf-8
#~          set_names: true
#~      Php Information:
#~          phpversion: 5.4.30
#~          md5_function: On (Vrai)
#~          gd_version: 2
#~          tempnam_function: On (Vrai)
#~          magic_quotes_runtime: Off (Faux)
#~          E_STRICT: 2048
#~          E_DEPRECATED: 8192
#~          memory_limit: 512M
#~          max_execution_time: 300
#~          output_buffering: 4096
#~          safe_mode: Off (Faux)
#~          file_uploads: On (Vrai)
#~          post_max_size: 64M
#~          upload_max_filesize: 64M
#~          session_save_path: /tmp (0700)
#~          session_use_cookies: On (Vrai)
#~          xml_function: On (Vrai)
#~          xmlreader_class: On (Vrai)
#~      Server Information:
#~          Server Api: fpm-fcgi
#~          Server Db Type: MySQL (mysqli)
#~          Server Db Version: 5.1.73
#~          Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
#~          Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~      ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,


J'ai un site en Pré-prod sur lequel j'ai un souci avec le module CGCalendar 1.14.3

Lorsque je navigue entre les mois, un nombre exponentiel de requêtes  est généré à chaque click successif, entrainant un fort ralentissement voir même une quasi impossibilité de naviguer entre les mois au bout de 10 clicks.

Dans la partie "console" de FireBug, on se rend bien compte du problème.

J'ai essayé pas mal de forums sans trouver de conversation sur ce point, et mon client me presse de livrer. Je me décide donc à faire ma première demande d'aide concernant CMSMS wink


Merci !

Pied de page des forums

Propulsé par FluxBB

  Flux Rss Twitter FaceBook