using Nop.Core.Configuration; namespace Nop.Core.Domain.Catalog; /// /// Catalog settings /// public partial class CatalogSettings : ISettings { public CatalogSettings() { ProductSortingEnumDisabled = new List(); ProductSortingEnumDisplayOrder = new Dictionary(); } /// /// Gets or sets a value indicating details pages of unpublished product details pages could be open (for SEO optimization) /// public bool AllowViewUnpublishedProductPage { get; set; } /// /// Gets or sets a value indicating customers should see "discontinued" message when visiting details pages of unpublished products (if "AllowViewUnpublishedProductPage" is "true) /// public bool DisplayDiscontinuedMessageForUnpublishedProducts { get; set; } /// /// Gets or sets a value indicating whether "Published" or "Disable buy/wishlist buttons" flags should be updated after order cancellation (deletion). /// Of course, when qty > configured minimum stock level /// public bool PublishBackProductWhenCancellingOrders { get; set; } /// /// Gets or sets a value indicating whether to display product SKU on the product details page /// public bool ShowSkuOnProductDetailsPage { get; set; } /// /// Gets or sets a value indicating whether to display product SKU on catalog pages /// public bool ShowSkuOnCatalogPages { get; set; } /// /// Gets or sets a value indicating whether to display manufacturer part number of a product /// public bool ShowManufacturerPartNumber { get; set; } /// /// Gets or sets a value indicating whether to display GTIN of a product /// public bool ShowGtin { get; set; } /// /// Gets or sets a value indicating whether "Free shipping" icon should be displayed for products /// public bool ShowFreeShippingNotification { get; set; } /// /// Gets or sets a value indicating whether short description should be displayed in product box /// public bool ShowShortDescriptionOnCatalogPages { get; set; } /// /// Gets or sets a value indicating whether product sorting is enabled /// public bool AllowProductSorting { get; set; } /// /// Gets or sets a value indicating whether customers are allowed to change product view mode /// public bool AllowProductViewModeChanging { get; set; } /// /// Gets or sets a default view mode /// public string DefaultViewMode { get; set; } /// /// Gets or sets a value indicating whether a category details page should include products from subcategories /// public bool ShowProductsFromSubcategories { get; set; } /// /// Gets or sets a value indicating whether number of products should be displayed beside each category /// public bool ShowCategoryProductNumber { get; set; } /// /// Gets or sets a value indicating whether we include subcategories (when 'ShowCategoryProductNumber' is 'true') /// public bool ShowCategoryProductNumberIncludingSubcategories { get; set; } /// /// Gets or sets a value indicating whether category breadcrumb is enabled /// public bool CategoryBreadcrumbEnabled { get; set; } /// /// Gets or sets a value indicating whether a 'Share button' is enabled /// public bool ShowShareButton { get; set; } /// /// Gets or sets a share code (e.g. ShareThis button code) /// public string PageShareCode { get; set; } /// /// Gets or sets a value indicating product reviews must be approved /// public bool ProductReviewsMustBeApproved { get; set; } /// /// Gets or sets a value indicating that customer can add only one review per product /// public bool OneReviewPerProductFromCustomer { get; set; } /// /// Gets or sets a value indicating the default rating value of the product reviews /// public int DefaultProductRatingValue { get; set; } /// /// Gets or sets a value indicating whether to allow anonymous users write product reviews. /// public bool AllowAnonymousUsersToReviewProduct { get; set; } /// /// Gets or sets a value indicating whether product can be reviewed only by customer who have already ordered it /// public bool ProductReviewPossibleOnlyAfterPurchasing { get; set; } /// /// Gets or sets a value indicating whether notification of a store owner about new product reviews is enabled /// public bool NotifyStoreOwnerAboutNewProductReviews { get; set; } /// /// Gets or sets a value indicating whether customer notification about product review reply is enabled /// public bool NotifyCustomerAboutProductReviewReply { get; set; } /// /// Gets or sets a value indicating whether the product reviews will be filtered per store /// public bool ShowProductReviewsPerStore { get; set; } /// /// Gets or sets a show product reviews tab on account page /// public bool ShowProductReviewsTabOnAccountPage { get; set; } /// /// Gets or sets the page size for product reviews in account page /// public int ProductReviewsPageSizeOnAccountPage { get; set; } /// /// Gets or sets a value indicating whether the product reviews should be sorted by creation date as ascending /// public bool ProductReviewsSortByCreatedDateAscending { get; set; } /// /// Gets or sets a value indicating whether product 'Email a friend' feature is enabled /// public bool EmailAFriendEnabled { get; set; } /// /// Gets or sets a value indicating whether to allow anonymous users to email a friend. /// public bool AllowAnonymousUsersToEmailAFriend { get; set; } /// /// Gets or sets a number of "Recently viewed products" /// public int RecentlyViewedProductsNumber { get; set; } /// /// Gets or sets a value indicating whether "Recently viewed products" feature is enabled /// public bool RecentlyViewedProductsEnabled { get; set; } /// /// Gets or sets a value indicating whether "New products" page is enabled /// public bool NewProductsEnabled { get; set; } /// /// Gets or sets a number of products on the "New products" page /// public int NewProductsPageSize { get; set; } /// /// Gets or sets a value indicating whether customers are allowed to select page size on the "New products" page /// public bool NewProductsAllowCustomersToSelectPageSize { get; set; } /// /// Gets or sets the available customer selectable page size options on the "New products" page /// public string NewProductsPageSizeOptions { get; set; } /// /// Gets or sets a value indicating whether "Compare products" feature is enabled /// public bool CompareProductsEnabled { get; set; } /// /// Gets or sets an allowed number of products to be compared /// public int CompareProductsNumber { get; set; } /// /// Gets or sets a value indicating whether autocomplete is enabled /// public bool ProductSearchAutoCompleteEnabled { get; set; } /// /// Gets or sets a value indicating whether the search box is displayed /// public bool ProductSearchEnabled { get; set; } /// /// Gets or sets a number of products to return when using "autocomplete" feature /// public int ProductSearchAutoCompleteNumberOfProducts { get; set; } /// /// Gets or sets a value indicating whether to show product images in the auto complete search /// public bool ShowProductImagesInSearchAutoComplete { get; set; } /// /// Gets or sets a value indicating whether to show link to all result in the auto complete search /// public bool ShowLinkToAllResultInSearchAutoComplete { get; set; } /// /// Gets or sets a minimum search term length /// public int ProductSearchTermMinimumLength { get; set; } /// /// Gets or sets a value indicating whether to show bestsellers on home page /// public bool ShowBestsellersOnHomepage { get; set; } /// /// Gets or sets a number of bestsellers on home page /// public int NumberOfBestsellersOnHomepage { get; set; } /// /// Gets or sets a number of products per page on the search products page /// public int SearchPageProductsPerPage { get; set; } /// /// Gets or sets a value indicating whether customers are allowed to select page size on the search products page /// public bool SearchPageAllowCustomersToSelectPageSize { get; set; } /// /// Gets or sets the available customer selectable page size options on the search products page /// public string SearchPagePageSizeOptions { get; set; } /// /// Gets or sets a value indicating whether the price range filtering is enabled on search page /// public bool SearchPagePriceRangeFiltering { get; set; } /// /// Gets or sets the "from" price on search page /// public decimal SearchPagePriceFrom { get; set; } /// /// Gets or sets the "to" price on search page /// public decimal SearchPagePriceTo { get; set; } /// /// Gets or sets a value indicating whether the price range should be entered manually on search page /// public bool SearchPageManuallyPriceRange { get; set; } /// /// Gets or sets "List of products purchased by other customers who purchased the above" option is enable /// public bool ProductsAlsoPurchasedEnabled { get; set; } /// /// Gets or sets a number of products also purchased by other customers to display /// public int ProductsAlsoPurchasedNumber { get; set; } /// /// Gets or sets a value indicating whether we should process attribute change using AJAX. It's used for dynamical attribute change, SKU/GTIN update of combinations, conditional attributes /// public bool AjaxProcessAttributeChange { get; set; } /// /// Gets or sets a number of product tags that appear in the tag cloud /// public int NumberOfProductTags { get; set; } /// /// Gets or sets a number of products per page on 'products by tag' page /// public int ProductsByTagPageSize { get; set; } /// /// Gets or sets a value indicating whether customers can select the page size for 'products by tag' /// public bool ProductsByTagAllowCustomersToSelectPageSize { get; set; } /// /// Gets or sets the available customer selectable page size options for 'products by tag' /// public string ProductsByTagPageSizeOptions { get; set; } /// /// Gets or sets a value indicating whether the price range filtering is enabled on 'products by tag' page /// public bool ProductsByTagPriceRangeFiltering { get; set; } /// /// Gets or sets the "from" price on 'products by tag' page /// public decimal ProductsByTagPriceFrom { get; set; } /// /// Gets or sets the "to" price on 'products by tag' page /// public decimal ProductsByTagPriceTo { get; set; } /// /// Gets or sets a value indicating whether the price range should be entered manually on 'products by tag' page /// public bool ProductsByTagManuallyPriceRange { get; set; } /// /// Gets or sets a value indicating whether to include "Short description" in compare products /// public bool IncludeShortDescriptionInCompareProducts { get; set; } /// /// Gets or sets a value indicating whether to include "Full description" in compare products /// public bool IncludeFullDescriptionInCompareProducts { get; set; } /// /// An option indicating whether products on category and manufacturer pages should include featured products as well /// public bool IncludeFeaturedProductsInNormalLists { get; set; } /// /// Gets or sets a value indicating whether to render link to required products in "Require other products added to the cart" warning /// public bool UseLinksInRequiredProductWarnings { get; set; } /// /// Gets or sets a value indicating whether tier prices should be displayed with applied discounts (if available) /// public bool DisplayTierPricesWithDiscounts { get; set; } /// /// Gets or sets a value indicating whether to ignore discounts (side-wide). It can significantly improve performance when enabled. /// public bool IgnoreDiscounts { get; set; } /// /// Gets or sets a value indicating whether to ignore featured products (side-wide). It can significantly improve performance when enabled. /// public bool IgnoreFeaturedProducts { get; set; } /// /// Gets or sets a value indicating whether to ignore ACL rules (side-wide). It can significantly improve performance when enabled. /// public bool IgnoreAcl { get; set; } /// /// Gets or sets a value indicating whether to ignore "limit per store" rules (side-wide). It can significantly improve performance when enabled. /// public bool IgnoreStoreLimitations { get; set; } /// /// Gets or sets a value indicating whether to cache product prices. It can significantly improve performance when enabled. /// public bool CacheProductPrices { get; set; } /// /// Gets or sets a value indicating maximum number of 'back in stock' subscription /// public int MaximumBackInStockSubscriptions { get; set; } /// /// Gets or sets the value indicating how many manufacturers to display in manufacturers block /// public int ManufacturersBlockItemsToDisplay { get; set; } /// /// Gets or sets a value indicating whether to display information about shipping and tax in the footer (used in Germany) /// public bool DisplayTaxShippingInfoFooter { get; set; } /// /// Gets or sets a value indicating whether to display information about shipping and tax on product details pages (used in Germany) /// public bool DisplayTaxShippingInfoProductDetailsPage { get; set; } /// /// Gets or sets a value indicating whether to display information about shipping and tax in product boxes (used in Germany) /// public bool DisplayTaxShippingInfoProductBoxes { get; set; } /// /// Gets or sets a value indicating whether to display information about shipping and tax on shopping cart page (used in Germany) /// public bool DisplayTaxShippingInfoShoppingCart { get; set; } /// /// Gets or sets a value indicating whether to display information about shipping and tax on wishlist page (used in Germany) /// public bool DisplayTaxShippingInfoWishlist { get; set; } /// /// Gets or sets a value indicating whether to display information about shipping and tax on order details page (used in Germany) /// public bool DisplayTaxShippingInfoOrderDetailsPage { get; set; } /// /// Gets or sets the default value to use for Category page size options (for new categories) /// public string DefaultCategoryPageSizeOptions { get; set; } /// /// Gets or sets the default value to use for Category page size (for new categories) /// public int DefaultCategoryPageSize { get; set; } /// /// Gets or sets the default value to use for Manufacturer page size options (for new manufacturers) /// public string DefaultManufacturerPageSizeOptions { get; set; } /// /// Gets or sets the default value to use for Manufacturer page size (for new manufacturers) /// public int DefaultManufacturerPageSize { get; set; } /// /// Gets or sets a list of disabled values of ProductSortingEnum /// public List ProductSortingEnumDisabled { get; set; } /// /// Gets or sets a display order of ProductSortingEnum values /// public Dictionary ProductSortingEnumDisplayOrder { get; set; } /// /// Gets or sets a value indicating whether the products need to be exported/imported with their attributes /// public bool ExportImportProductAttributes { get; set; } /// /// Gets or sets a value indicating whether need to use "limited to stores" property for exported/imported products /// public bool ExportImportProductUseLimitedToStores { get; set; } /// /// Gets or sets a value indicating whether the products need to be exported/imported with their specification attributes /// public bool ExportImportProductSpecificationAttributes { get; set; } /// /// Gets or sets a value indicating whether need create dropdown list for export /// public bool ExportImportUseDropdownlistsForAssociatedEntities { get; set; } /// /// Gets or sets a value indicating whether the products should be exported/imported with a full category name including names of all its parents /// public bool ExportImportProductCategoryBreadcrumb { get; set; } /// /// Gets or sets a value indicating whether the categories need to be exported/imported using name of category /// public bool ExportImportCategoriesUsingCategoryName { get; set; } /// /// Gets or sets a value indicating whether the images can be downloaded from remote server /// public bool ExportImportAllowDownloadImages { get; set; } /// /// Gets or sets a value indicating whether products must be importing by separated files /// public bool ExportImportSplitProductsFile { get; set; } /// /// Gets or sets a value of max products count in one file /// public int ExportImportProductsCountInOneFile { get; set; } /// /// Gets or sets a value indicating whether to remove required products from the cart if the main one is removed /// public bool RemoveRequiredProducts { get; set; } /// /// Gets or sets a value indicating whether the related entities need to be exported/imported using name /// public bool ExportImportRelatedEntitiesByName { get; set; } /// /// Gets or sets count of displayed years for datepicker /// public int CountDisplayedYearsDatePicker { get; set; } /// /// Get or set a value indicating whether it's necessary to show the date for pre-order availability in a public store /// public bool DisplayDatePreOrderAvailability { get; set; } /// /// Get or set a value indicating whether to use a standard menu in public store or use Ajax to load a menu /// public bool UseAjaxLoadMenu { get; set; } /// /// Get or set a value indicating whether to use standard or AJAX products loading (applicable to 'paging', 'filtering', 'view modes') in catalog /// public bool UseAjaxCatalogProductsLoading { get; set; } /// /// Get or set a value indicating whether the manufacturer filtering is enabled on catalog pages /// public bool EnableManufacturerFiltering { get; set; } /// /// Get or set a value indicating whether the price range filtering is enabled on catalog pages /// public bool EnablePriceRangeFiltering { get; set; } /// /// Get or set a value indicating whether the specification attribute filtering is enabled on catalog pages /// public bool EnableSpecificationAttributeFiltering { get; set; } /// /// Get or set a value indicating whether the "From" prices (based on price adjustments of combinations and attributes) are displayed on catalog pages /// public bool DisplayFromPrices { get; set; } /// /// Gets or sets the attribute value display type when out of stock /// public AttributeValueOutOfStockDisplayType AttributeValueOutOfStockDisplayType { get; set; } /// /// Gets or sets a value indicating whether customer can search with manufacturer name /// public bool AllowCustomersToSearchWithManufacturerName { get; set; } /// /// Gets or sets a value indicating whether customer can search with category name /// public bool AllowCustomersToSearchWithCategoryName { get; set; } /// /// Gets or sets a value indicating whether all pictures will be displayed on catalog pages /// public bool DisplayAllPicturesOnCatalogPages { get; set; } /// /// Gets or sets the identifier of product URL structure type (e.g. '/category-seo-name/product-seo-name' or '/product-seo-name') /// /// We have ProductUrlStructureType enum, but we use int value here so that it can be overridden in third-party plugins public int ProductUrlStructureTypeId { get; set; } /// /// Gets or sets an system name of active search provider /// public string ActiveSearchProviderSystemName { get; set; } /// /// Gets or sets a value indicating whether standard search will be used when the search provider throws an exception /// public bool UseStandardSearchWhenSearchProviderThrowsException { get; set; } }