Skip to content
  1. Extras
  2. MiniShop3
  3. System settings

System settings

All MiniShop3 system settings use the prefix ms3_ and are in the minishop3 namespace.

To view settings go to System → System Settings and select namespace minishop3.

Main settings

SettingDefaultDescription
ms3_servicesJSONArray of registered classes for cart, order, delivery, payment. Used to extend functionality via third-party components
ms3_plugins[]Array of registered plugins extending store model objects
ms3_chunks_categoriesComma-separated category IDs for chunk list
ms3_use_schedulerfalseUse Scheduler for background tasks

Product category

SettingDefaultDescription
ms3_template_category_defaultDefault template for new categories
ms3_category_grid_fieldsid,menuindex,pagetitle,article,price,thumb,new,favorite,popularVisible fields in category product table
ms3_category_show_nested_productstrueShow products from subcategories
ms3_category_show_optionsfalseShow product options in category table
ms3_category_remember_tabstrueRemember active category tab
ms3_category_id_as_aliasfalseUse category ID as URL alias
ms3_category_content_defaultDefault content for new categories (snippet call for products)
mgr_tree_icon_mscategoryicon icon-barcodeCSS class for category icon in resource tree

Product

Main fields

SettingDefaultDescription
ms3_template_product_defaultDefault template for new products
ms3_product_main_fieldspagetitle,longtitle,description,introtext,contentMain fields on product panel
ms3_product_extra_fieldsprice,old_price,article,weight,color,size,vendor_id,made_in,tags,new,popular,favoriteExtra product fields
ms3_product_show_in_tree_defaultfalseShow new products in resource tree
ms3_product_id_as_aliasfalseUse product ID as URL alias
ms3_product_remember_tabstrueRemember active product tab
mgr_tree_icon_msproducticon icon-tagCSS class for product icon in resource tree

Product tabs

SettingDefaultDescription
ms3_product_tab_extratrueShow product data tab
ms3_product_tab_gallerytrueShow gallery tab
ms3_product_tab_linkstrueShow product links tab
ms3_product_tab_optionstrueShow options tab
ms3_product_tab_categoriestrueShow categories tab
SettingDefaultDescription
ms3_product_source_default0Default file source ID for gallery
ms3_product_thumbnail_default{assets_url}components/minishop3/img/mgr/ms3_small.pngPlaceholder image path
ms3_product_thumbnail_sizesmallDefault thumbnail size

Price and weight formatting

SettingDefaultDescription
ms3_price_format[2, ".", " "]Price format: [decimals, decimal separator, thousands separator]
ms3_weight_format[3, ".", " "]Weight format: [decimals, decimal separator, thousands separator]
ms3_price_format_no_zerostrueRemove trailing zeros in prices (15.00 → 15)
ms3_weight_format_no_zerostrueRemove trailing zeros in weight
ms3_price_snippetSnippet name for price modifier
ms3_weight_snippetSnippet name for weight modifier
ms3_currency_symbolCurrency symbol (₽, $, €, £, ₴, ¥, ₸)
ms3_currency_positionafterSymbol position: before ($ 100) or after (100 ₽)

Cart

SettingDefaultDescription
ms3_cart_contextfalseUse single cart for all contexts
ms3_cart_max_count1000Maximum items in cart

Orders

General

SettingDefaultDescription
ms3_order_format_numymOrder number format (date() format)
ms3_order_format_num_separator/Separator in order number
ms3_date_formatd.m.y H:MDate format in manager
ms3_order_user_groupsUser groups for customer registration (comma-separated)
ms3_order_show_draftstrueShow drafts in order list
ms3_order_redirect_thanks_id1"Thank you" page ID
ms3_order_success_page_id0Successful payment page ID
ms3_order_register_user_on_submitfalseCreate modUser on checkout
ms3_email_managerManager emails for notifications (comma-separated)
ms3_delete_drafts_afterDelete old drafts (strtotime: -1 year, -2 weeks)
ms3_order_log_actionsstatus,products,field,addressLogged order actions

Manager fields

SettingDefaultDescription
ms3_order_grid_fieldsid,num,customer,status,cost,weight,delivery,payment,createdon,updatedon,commentOrder table fields
ms3_order_address_fieldsfirst_name,last_name,email,phone,index,country,region,city,metro,street,building,entrance,floor,room,comment,text_addressDelivery address fields
ms3_order_product_fieldsproduct_pagetitle,vendor_name,product_article,weight,price,count,costOrder product table fields
ms3_order_product_optionssize,colorEditable product options in order

Order statuses

SettingDefaultDescription
ms3_status_draft1"Draft" status ID
ms3_status_new0New order status ID (set by migration)
ms3_status_paid0Paid order status ID
ms3_status_canceled0Canceled order status ID
ms3_status_for_stat2,3Status IDs for completed order statistics

Customers

Account pages

SettingDefaultDescription
ms3_customer_login_page_id0Login page ID
ms3_customer_register_page_id0Registration page ID
ms3_customer_profile_page_id0Profile page ID
ms3_customer_addresses_page_id0Addresses page ID
ms3_customer_orders_page_id0Order history page ID
ms3_customer_redirect_after_login0Redirect page after login (0 = stay)

Auth and registration

SettingDefaultDescription
ms3_customer_auto_register_on_ordertrueAuto-register customer on order
ms3_customer_auto_login_on_ordertrueAuto-login after order
ms3_customer_auto_login_after_registertrueAuto-login after registration
ms3_customer_require_email_verificationfalseRequire email verification
ms3_customer_send_welcome_emailtrueSend welcome email
ms3_customer_require_privacy_consenttrueRequire privacy consent (GDPR)

modUser sync

SettingDefaultDescription
ms3_customer_sync_enabledfalseEnable msCustomer ↔ modUser sync
ms3_customer_sync_create_moduserfalseCreate modUser on msCustomer registration
ms3_customer_sync_delete_with_userfalseDelete msCustomer when modUser is deleted
ms3_customer_sync_user_group0User group ID for new modUser
ms3_customer_duplicate_fields["email", "phone"]JSON array of fields for duplicate check

Security

Tokens

SettingDefaultDescription
ms3_customer_token_ttl86400Customer token TTL (seconds, 24 hours)
ms3_customer_api_token_ttl86400API token TTL (seconds, 24 hours)
ms3_password_reset_token_ttl3600Password reset token TTL (seconds, 1 hour)
ms3_email_verification_token_ttl86400Email verification token TTL (seconds, 24 hours)
ms3_snippet_token_secret(auto)Secret for snippet tokens
ms3_snippet_cache_ttl3600Snippet parameter cache TTL (seconds)
ms3_payment_secretSecret for payment notifications

Brute-force protection

SettingDefaultDescription
ms3_customer_max_login_attempts5Max failed login attempts
ms3_customer_block_duration300Block duration (seconds, 5 minutes)

Password requirements

SettingDefaultDescription
ms3_password_min_length8Minimum password length
ms3_password_require_uppercasefalseRequire uppercase
ms3_password_require_numberfalseRequire digit
ms3_password_require_specialfalseRequire special character

API

SettingDefaultDescription
ms3_api_debugfalseAPI debug mode (verbose logging)
ms3_cors_allowed_origins*CORS allowed origins (comma or *)
ms3_rate_limit_max_attempts60Max requests per period
ms3_rate_limit_decay_seconds60Rate limit period (seconds)

Frontend

SettingDefaultDescription
ms3_token_namems3_tokenToken name for visitor identification
ms3_register_global_configtrueRegister ms3Config in DOM
ms3_frontend_assetsJSON arrayList of CSS/JS files to load

Path placeholders

In ms3_frontend_assets you can use:

  • [[+assetsUrl]]assets/components/minishop3/
  • [[+jsUrl]]assets/components/minishop3/js/
  • [[+cssUrl]]assets/components/minishop3/css/

Import

SettingDefaultDescription
ms3_utility_import_fieldspagetitle,parent,price,articleImport fields
ms3_utility_import_fields_delimiter;CSV column delimiter
ms3_import_sync_limit300Sync import row limit
ms3_import_preview_rows5Preview rows
ms3_import_upload_pathassets/import/Import file upload path

Notifications

SettingDefaultDescription
ms3_telegram_bot_tokenTelegram bot token for notifications

Usage examples

Get setting in PHP

php
$priceFormat = $modx->getOption('ms3_price_format');
$currencySymbol = $modx->getOption('ms3_currency_symbol');

Get setting in Fenom

fenom
{* Currency symbol *}
{'ms3_currency_symbol' | option}

{* Customer profile page ID *}
{'ms3_customer_profile_page_id' | option}

Price format

ms3_price_format accepts a JSON array:

json
[2, ".", " "]
  • 2 — decimal places
  • "." — decimal separator
  • " " — thousands separator

Result: 1 234.56

Price modifier

Create a snippet to modify price dynamically:

php
<?php
// Snippet: myPriceModifier
// Parameters: $product (msProductData)

$price = $product->get('price');

// 10% discount for a category
if ($product->get('parent') == 5) {
    $price = $price * 0.9;
}

return $price;

Set the snippet name in ms3_price_snippet:

myPriceModifier