Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding custom content slider to smartstore v 4.x #1749

Open
wants to merge 17 commits into
base: 4.x
Choose a base branch
from
Original file line number Diff line number Diff line change
Expand Up @@ -530,5 +530,6 @@ public CatalogSettings()
/// Gets or sets a value indicating whether percental values of tierprices should be applied to price adjustments of attributes
/// </summary>
public bool ApplyTierPricePercentageToAttributePriceAdjustments { get; set; }
public int MostRecentlyUsedContentSlidersMaxSize { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
using SmartStore.Core.Domain.Localization;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace SmartStore.Core.Domain.ContentSlider
{

public enum SliderType { HomePageSlider, CategorySlider, ManufacturerSlider };

/// <summary>
/// Represents a ContentSlider
/// </summary>
[DataContract]
public partial class ContentSlider : BaseEntity, ILocalizedEntity
{
[DataMember]
public string SliderName { get; set; }
[DataMember]
public bool IsActive { get; set; }

[DataMember]
public bool RandamizeSlides { get; set; }

[DataMember]
public bool AutoPlay { get; set; }

[DataMember]
public int Delay { get; set; }

[DataMember]
public int Height { get; set; }

[DataMember]
public int SliderType { get; set; }

[DataMember]
public int? ItemId { get; set; }

[DataMember]
public virtual ICollection<Slide> Slides { get; set; }
}
}
48 changes: 48 additions & 0 deletions src/Libraries/SmartStore.Core/Domain/ContentSlider/Slides.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
using SmartStore.Core.Domain.Localization;
using SmartStore.Core.Domain.Media;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace SmartStore.Core.Domain.ContentSlider
{
public enum SlideType { NormalSlide, ProductSlide, CategorySlide, ManufacturerSlide };

/// <summary>
/// Represents a ContentSlider
/// </summary>
[DataContract]
public partial class Slide : BaseEntity, ILocalizedEntity
{
[DataMember]
public bool IsActive { get; set; }

[DataMember]
public int SliderId { get; set; }

[DataMember]
public string SlideTitle { get; set; }
public string SlideContent { get; set; }

[DataMember]
public int? PictureId { get; set; }

[DataMember]
public int SlideType { get; set; }

[DataMember]
public int DisplayOrder { get; set; }

[DataMember]
public bool DisplayPrice { get; set; }

[DataMember]
public bool DisplayButton { get; set; }

[DataMember]
public int? ItemId { get; set; }

public virtual Picture Picture { get; set; }

public virtual ContentSlider Slider { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,6 @@ public static partial class SystemCustomerAttributeNames
public static string WorkingThemeName { get { return "WorkingThemeName"; } }
public static string UseRewardPointsDuringCheckout { get { return "UseRewardPointsDuringCheckout"; } }
public static string UseCreditBalanceDuringCheckout { get { return "UseCreditBalanceDuringCheckout"; } }
}
public static string MostRecentlyUsedContentSliders { get { return "MostRecentlyUsedContentSliders"; } }
}
}
2 changes: 2 additions & 0 deletions src/Libraries/SmartStore.Core/Domain/Media/MediaSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public MediaSettings()
CategoryThumbPictureSize = 250;
ManufacturerThumbPictureSize = 250;
ProductDetailsPictureSize = 600;
SliderPictureSize = 400;
ProductThumbPictureSizeOnProductDetailsPage = 70;
MessageProductThumbPictureSize = 70;
AssociatedProductPictureSize = 600;
Expand All @@ -31,6 +32,7 @@ public MediaSettings()
public int AvatarPictureSize { get; set; }
public int ProductThumbPictureSize { get; set; }
public int ProductDetailsPictureSize { get; set; }
public int SliderPictureSize { get; set; }
public int ProductThumbPictureSizeOnProductDetailsPage { get; set; }
public int MessageProductThumbPictureSize { get; set; }
public int AssociatedProductPictureSize { get; set; }
Expand Down
10 changes: 10 additions & 0 deletions src/Libraries/SmartStore.Core/Domain/Media/Picture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.Runtime.Serialization;
using SmartStore.Core.Domain.Catalog;
using SmartStore.Core.Domain.ContentSlider;

namespace SmartStore.Core.Domain.Media
{
[DataContract]
public partial class Picture : BaseEntity, ITransient, IHasMedia
{
private ICollection<ProductPicture> _productPictures;
private ICollection<Slide> _slides;

/// <summary>
/// Gets or sets the picture binary
Expand Down Expand Up @@ -81,5 +83,13 @@ public virtual ICollection<ProductPicture> ProductPictures
get { return _productPictures ?? (_productPictures = new HashSet<ProductPicture>()); }
protected set { _productPictures = value; }
}


[DataMember]
public virtual ICollection<Slide> Slides
{
get { return _slides ?? (_slides = new HashSet<Slide>()); }
protected set { _slides = value; }
}
}
}
2 changes: 2 additions & 0 deletions src/Libraries/SmartStore.Core/SmartStore.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@
<Compile Include="Domain\Cms\MenuItemRecord.cs" />
<Compile Include="Domain\Cms\WidgetSettings.cs" />
<Compile Include="Domain\Common\PerformanceSettings.cs" />
<Compile Include="Domain\ContentSlider\ContentSlider.cs" />
<Compile Include="Domain\ContentSlider\Slides.cs" />
<Compile Include="Domain\Customers\CustomerLoginType.cs" />
<Compile Include="Domain\Customers\CustomerNumberVisibility.cs" />
<Compile Include="Domain\Customers\CustomerNumberMethod.cs" />
Expand Down
Loading