Inhalte aufrufen

Profilbild

How to write a Widget for carousel

carousel

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
1 Antwort zu diesem Thema

#1 suat_suphi

suat_suphi

    Member

  • Members
  • PunktPunkt
  • 24 Beiträge

Geschrieben: 24 November 2023 - 11:06

Hi,

 
I am trying to write a carousel slider. I looked at the sample codes. there is a structure like below: 
 
I tried to call ComponentWidget or PartialViewWidget, there is content_before in zone 
 
neither PartialViewWidget nor ComponentWidget is called when I open the homepage. what am I missing ?
namespace Smartstore.Carousel
{
    internal class Module : ModuleBase, IConfigurable, IActivatableWidget
    {  
        public RouteInfo GetConfigurationRoute()
            => new("Configure", "CarouselAdmin", new { area = "Admin" });

        public Widget GetDisplayWidget(string widgetZone, object model, int storeId)
            => new PartialViewWidget("PublicInfo", model);
            //=> new ComponentWidget(typeof(CarouselViewComponent), new { widgetZone, model, storeId });

        public string[] GetWidgetZones() => new string[] {  "content_before","main_column_before" };
        

        public override async Task InstallAsync(ModuleInstallationContext context)
        {
            // Saves the default state of a settings class to the database 
            // without overwriting existing values.
            await TrySaveSettingsAsync<CarouselSettings>();

            // Imports all language resources for the current module from 
            // xml files in "Localization" directory (if any found).
            await ImportLanguageResourcesAsync();

            // VERY IMPORTANT! Don't forget to call.
            await base.InstallAsync(context);
        }

        public override async Task UninstallAsync()
        {
            // Deletes all "MyGreatModuleSettings" properties settings from the database.
            await DeleteSettingsAsync<CarouselSettings>();

            // Deletes all language resource for the current module 
            // if "ResourceRootKey" is module.json is not empty.
            await DeleteLanguageResourcesAsync();

            // VERY IMPORTANT! Don't forget to call.
            await base.UninstallAsync();
        }
    }
}

  • MediArt gefällt das

#2 suat_suphi

suat_suphi

    Member

  • Members
  • PunktPunkt
  • 24 Beiträge

Geschrieben: 25 November 2023 - 00:58

just ctor

 

 

    private readonly IProviderManager _providerManager;
    private readonly WidgetSettings _widgetSettings;


    public Module(IProviderManager providerManager, WidgetSettings widgetSettings)
    {
        _providerManager = providerManager;
        _widgetSettings = widgetSettings;
    }

  • stefanmueller gefällt das