Generazione automatica di inserzioni e gruppi web

Creato il: 01.10.2015
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
NomeGruppo="INPRIMOPIANO"
' I nomi dei 4 gruppi di inserzioni sul template standard sono i seguenti
' 1° gruppo = 'INPRIMOPIANO'
' 2° gruppo = 'CONSIGLIATI'
' 3° gruppo = 'OFFERTE'
' 4° gruppo = 'IVENDUTI'
' ======================================================
If Not(Rdy.ReadyVersionGreaterOrEqualThan("12.6.0")) Then
   Rdy.ShowMessage "Per utilizzare questo script occorre Ready Pro v12.6.0 o superiore"
Else
   ' Svuota il gruppo di inserzioni
Set MyLayout = Rdy.Website(IdWebSite).WebLayout
   Set GruppoInserzioni = MyLayout.SearchInsertions(NomeGruppo,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.CustomField(882)="S" Then ' Pubblico solo se l'articolo e' gia' configurato come 'pubblicato su web'
' Crea la nuova inserzione
Set NewInserzione=MyLayout.CreateInsertion(NomeGruppo)
           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