flamingo.me/flamingo-commerce/v3@v3.11.0/w3cdatalayer/module.go (about)

     1  package w3cdatalayer
     2  
     3  import (
     4  	"flamingo.me/dingo"
     5  	"flamingo.me/flamingo/v3/framework/flamingo"
     6  
     7  	"flamingo.me/flamingo-commerce/v3/w3cdatalayer/application"
     8  	"flamingo.me/flamingo-commerce/v3/w3cdatalayer/interfaces/templatefunctions"
     9  )
    10  
    11  type (
    12  	// Module represents our w3cdatalayer module
    13  	Module struct{}
    14  )
    15  
    16  // Configure the product URL
    17  func (m *Module) Configure(injector *dingo.Injector) {
    18  	flamingo.BindTemplateFunc(injector, "w3cDatalayerService", new(templatefunctions.W3cDatalayerService))
    19  	flamingo.BindEventSubscriber(injector).To(application.EventReceiver{})
    20  }
    21  
    22  // CueConfig schema and configuration
    23  func (m *Module) CueConfig() string {
    24  	return `
    25  commerce: w3cDatalayer: {	
    26  	pageInstanceIDPrefix?: string
    27  	pageInstanceIDStage?: string
    28  	pageNamePrefix?: string
    29  	siteName?: string
    30  	defaultCurrency?: string
    31  	version?: string
    32  	hashUserValues: bool | *false
    33  	hashEncoding: string | *"base64url" 
    34  	productMediaBaseUrl?: string
    35  	productMediaThumbnailUrlPrefix?: string
    36  	productMediaUrlPrefix?: string
    37  }
    38  `
    39  }
    40  
    41  // FlamingoLegacyConfigAlias mapping
    42  func (m *Module) FlamingoLegacyConfigAlias() map[string]string {
    43  	return map[string]string{
    44  		"w3cDatalayer.pageInstanceIDPrefix":           "commerce.w3cDatalayer.pageInstanceIDPrefix",
    45  		"w3cDatalayer.pageInstanceIDStage":            "commerce.w3cDatalayer.pageInstanceIDStage",
    46  		"w3cDatalayer.pageNamePrefix":                 "commerce.w3cDatalayer.pageNamePrefix",
    47  		"w3cDatalayer.siteName":                       "commerce.w3cDatalayer.siteName",
    48  		"w3cDatalayer.defaultCurrency":                "commerce.w3cDatalayer.defaultCurrency",
    49  		"w3cDatalayer.version":                        "commerce.w3cDatalayer.version",
    50  		"w3cDatalayer.hashUserValues":                 "commerce.w3cDatalayer.hashUserValues",
    51  		"w3cDatalayer.hashEncoding":                   "commerce.w3cDatalayer.hashEncoding",
    52  		"w3cDatalayer.productMediaBaseUrl":            "commerce.w3cDatalayer.productMediaBaseUrl",
    53  		"w3cDatalayer.productMediaThumbnailUrlPrefix": "commerce.w3cDatalayer.productMediaThumbnailUrlPrefix",
    54  		"w3cDatalayer.productMediaUrlPrefix":          "commerce.w3cDatalayer.productMediaUrlPrefix",
    55  	}
    56  }