Generazione automatica di inserzioni e gruppi web

Creato il: 21.05.2025
Le funzionalita' descritte in questa pagina fanno riferimento ad una versione minima di Ready Pro v2025.4
Questo e' uno script di elaborazione generico.
Va inserito come script all'interno delle procedure batch (come operazione successiva si puo' ad esempio programmare una sincronizzazione del sito ecommerce in modo da creare un'unica procedura che se avviata aggiorna le inserzioni e poi sincronizza il sito).
'========================================================================
' Questo script inserisce automaticamente in un gruppo di inserzioni
' i 10 articoli con data di creazione piu' recente
'========================================================================
Option Explicit
 
Dim MyLayout, GruppoInserzioni, NomeGruppo, IdWebSite, AreaWeb
Dim Articolo, ContaInserzioni, MaxInserzioni, NewInserzione, Inserzione
 
' ======================================================
' PARAMETRI
IdWebSite = 1 ' Identificativo del sito web su cui
MaxInserzioni = 10 ' Numero massimo di articoli da inserire nel gruppo
IdGruppo=1 ' Identificativo di uno dei 10 gruppi di inserzioni, da 1 a 10

' ======================================================
If Not(Rdy.ReadyVersionGreaterOrEqualThan("2025.4.0")) Then
   Rdy.ShowMessage "Per utilizzare questo script occorre Ready Pro v2025.4.x o superiore"
Else
   ' Svuota il gruppo di inserzioni
Set MyLayout = Rdy.Website(IdWebSite).WebLayout
   Set GruppoInserzioni = MyLayout.SearchInsertions(IdGruppo,0,False)
   For Each Inserzione In GruppoInserzioni
       Inserzione.Delete()
   Next
 
   ' Ricerca gli articoli in ordine di creazione
ContaInserzioni = 0
   For Each Articolo In Rdy.SearchProducts("","Id DESC")
       If Articolo.ActiveOnWeb Then ' Pubblico solo se l'articolo e' gia' configurato come 'pubblicato su web'
' Crea la nuova inserzione
Set NewInserzione=MyLayout.CreateInsertion(IdGruppo)
           Set NewInserzione.Product = Articolo
           If NewInserzione.Save() Then
               ContaInserzioni =ContaInserzioni +1
 
               ' Collega l'inserzione a tutte le aree web del sito
For Each AreaWeb In MyLayout.WebAreas
                   NewInserzione.AddWebAreaLink(AreaWeb.Id)
               Next
           End If
       End If
       If ContaInserzioni>=MaxInserzioni Then
            Exit For
       End If
   Next
End If

Login