We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36613
    • 328 Posts
    Ciao a tutti stavo cercando di usare getCache e mi sono bloccato nel cercare di ricreare la voce di meù che mi aggiorna parzialmente la cache. Al modx meetup ho visto che tilli aveva fatto questa cosa che viene spiegata qui:
    https://github.com/opengeek/getCache/wiki/Refresh-Custom-Cache-Partitions

    Io ho creato la voce di menù però non ho capito come devo modificare il codice del javascript cioè questo:

    var topic = '/getcache/cache/partition/refresh/global_cache/';
    if (this.console == null || this.console == undefined) {
        this.console = MODx.load({
           xtype: 'modx-console'
           ,register: 'mgr'
           ,topic: topic
           ,show_filename: 0
        });
    } else {
        this.console.setRegister('mgr', topic);
    }
    this.console.show(Ext.getBody());
    
    MODx.Ajax.request({
        url: MODx.config.assets_url+'components/getcache/connector.php'
        ,params: { action: 'cache/partition/refresh', partitions: 'global_cache', register: 'mgr' , topic: topic }
        ,listeners: {
            'success':{fn:function() {
                this.console.fireEvent('complete');
            },scope:this}
        }
    });
    return false; 


    Mi potete spiegare meglio come lo avete fatto voi ?
    Io ho usato getCache in questi due menù:

    [[!getCache? &element=`getResources` &parents=`-[[*id]]` &depth=`0` &resources=`63,64,65,66,67,68` &sortby=`menuindex` &sortdir=`asc` &limit=`10` &tpl=`menudiservizio.RowTpl` &context=`web`]]
    
    [[!getCache? 
    &element=`Wayfinder`
    &startId=`0`
    &level=`2` 
    &excludeDocs=`1,63,64,65,66,67,68` 
    &rowTpl=`menudinavigazione-primaria.rowTpl` 
    &innerTpl=`menudinavigazione-primaria.innerTpl` 
    &innerRowTpl=`menudinavigazione-primaria.innerRowTpl` 
    &levelClass=`level`
    &where=`{"isfolder":1}`  ]]
    • Ciao Cristian,
      quando l'ho usato io sfruttavo il parametro

      &cacheKey=`directory_dove_vuoi_salvare_la_cache`

      altrimenti mi sembra di ricordare che salvi cmq dentro la cache della risorsa e si ripulisce automaticamente con il resto della cache.

      Se usi il parametro: &cacheKey=`directory_dove_vuoi_salvare_la_cache`

      il tuo script diventa:

      var topic = '/getcache/cache/partition/refresh/directory_dove_vuoi_salvare_la_cache/';
      if (this.console == null || this.console == undefined) {
          this.console = MODx.load({
             xtype: 'modx-console'
             ,register: 'mgr'
             ,topic: topic
             ,show_filename: 0
          });
      } else {
          this.console.setRegister('mgr', topic);
      }
      this.console.show(Ext.getBody());
       
      MODx.Ajax.request({
          url: MODx.config.assets_url+'components/getcache/connector.php'
          ,params: { action: 'cache/partition/refresh', partitions: 'directory_dove_vuoi_salvare_la_cache', register: 'mgr' , topic: topic }
          ,listeners: {
              'success':{fn:function() {
                  this.console.fireEvent('complete');
              },scope:this}
          }
      });
      return false;
      


      o almeno mi sembra... smiley
        TilliLab | MODX Ambassador
        website
        • 36613
        • 328 Posts
        Ciao tilli,
        allora l'ho implementato così:

        [[!getCache@myGetResourcesPropertySet?
        &element=`getResources`
        &cacheKey=`prodotti_getCache`
        &cacheExpires=`0`
        &parents=`[[*id]]`
        &limit=`0`
        &depth=`0`
        &tpl=`Categoria.myRowTpl`
        &includeTVs=`1`
        &includeTVList=`immagine-principale`
        &prepareTVList=`immagine-principale`
        &processTVList=`1`
        ]]


        var topic = '/getcache/cache/partition/refresh/prodotti_getCache/';
        if (this.console == null || this.console == undefined) {
            this.console = MODx.load({
               xtype: 'modx-console'
               ,register: 'mgr'
               ,topic: topic
               ,show_filename: 0
            });
        } else {
            this.console.setRegister('mgr', topic);
        }
        this.console.show(Ext.getBody());
        
        MODx.Ajax.request({
            url: MODx.config.assets_url+'components/getcache/connector.php'
            ,params: { action: 'cache/partition/refresh', partitions: 'prodotti_getCache', register: 'mgr' , topic: topic }
            ,listeners: {
                'success':{fn:function() {
                    this.console.fireEvent('complete');
                },scope:this}
            }
        });
        return false;


        però comunque '/getcache/cache/partition/refresh/prodotti_getCache/' non vedo ho creato la directory fisica.
        • asp non capisco l'ultima frase... smiley

          cmq dovresti creare la cartella "prodotti_getCache" dentro a "core/cache"
            TilliLab | MODX Ambassador
            website
            • 36613
            • 328 Posts
            Quote from: tillilab at Jun 24, 2013, 07:36 AM
            asp non capisco l'ultima frase... smiley

            cmq dovresti creare la cartella "prodotti_getCache" dentro a "core/cache"

            Può essere che si sia creata da sola ?
            Se entro in "core/cache" infatti la trovo, questo passaggio cmq era quello che non mi era chiaro cioè se dovevo creala manualmente e dove, però ora vedo che si è creata da sola.
            • Se si crei da sola non lo so...cmq hai risolto?
                TilliLab | MODX Ambassador
                website
                • 36613
                • 328 Posts
                Quote from: tillilab at Jun 25, 2013, 07:22 AM
                Se si crei da sola non lo so...cmq hai risolto?
                Si il getCache ora funziona smiley
                  • 36613
                  • 328 Posts
                  Mi sono accorto di un problema però non so se sia dovuto a questa frammentazione della cache... io uso phpthumbof e ho visto che quando vado a modificare le immagini su sito vedo tutte le immagini bianche cioè come se non ci siano più.
                    • 36613
                    • 328 Posts
                    Quote from: cristianb88 at Jun 25, 2013, 08:22 AM
                    Mi sono accorto di un problema però non so se sia dovuto a questa frammentazione della cache... io uso phpthumbof e ho visto che quando vado a modificare le immagini su sito vedo tutte le immagini bianche cioè come se non ci siano più.

                    Ho trovato qual'è la problematica. Allora se io metto nel getCache un elenco di risorse con annesse delle immagini, ridimensionate da phpthumbof, lui mette nella cache di phpthumbof le immagini però quando io vado a cacancellare la cache generale del sito vengono cancellate le immagini dentro a "/assets/components/phpthumbof/cache" però getCache tiene ancora il vecchio url delle immagini di phpthumbof che adesso non ci sono più.
                    • Ops, se non hai problemi di spazio potresti evitare di ripulire la cache delle immagini di phpthumb:
                      http://forums.modx.com/thread/80377/give-modx-some-speed?page=3#dis-post-452852

                      inoltre tempo fa ho trovato questo interessante link su una variante di phpthumbof, ma non l'ho provato...
                      praticamente crea le miniature quando le immagini vengono caricate la prima volta e poi basta:

                      http://www.darkstardesign.com/resources/phpthumbsup/


                        TilliLab | MODX Ambassador
                        website