خبرخوان

نوشته های بلاگ  "2026"  از "مرداد"

آموزش کامل ناپ کامرس | راهنمای جامع صفر تا صد فروشگاه‌سازی

ناپ کامرس چیست و چرا انتخاب آن هوشمندانه است؟

ناپ کامرس یک موتور تجارت الکترونیک قدرتمند است که ابزارهای لازم برای ساخت یک فروشگاه آنلاین و کسب درآمد را در اختیار شما قرار می‌دهد [citation:1]. این پلتفرم با بیش از ۱۵۰۰ افزونه، قالب و بسته زبانی، نیازهای فروشگاه‌های کوچک تا بزرگ را پوشش می‌دهد و از قابلیت‌های پیشرفته‌ای مانند چندفروشندگی (Multi-Vendor) و چندمغازه‌ای (Multi-Store) پشتیبانی می‌کند [citation:5].

مزایای اصلی ناپ کامرس عبارتند از:

  • رایگان و متن‌باز: بدون نیاز به پرداخت هزینه لایسنس، از کد منبع کامل بهره‌مند شوید.
  • قابل شخصی‌سازی: با معماری افزونه‌پذیر، هر قابلیتی را به فروشگاه خود اضافه کنید [citation:2].
  • امن و مقیاس‌پذیر: مناسب برای فروشگاه‌های کوچک تا سازمان‌های بزرگ [citation:9].
  • پشتیبانی از فناوری‌های مدرن: مبتنی بر ASP.NET Core با عملکرد بالا و بهینه [citation:2].

پیش‌نیازهای راه‌اندازی ناپ کامرس

قبل از شروع آموزش کامل ناپ کامرس، باید با ابزارها و پیش‌نیازهای لازم آشنا شوید.

نیازمندی‌های فنی

  • .NET Core Runtime: برای اجرای برنامه روی سرور ضروری است [citation:2].
  • پایگاه داده: پشتیبانی از SQL Server، MySQL و PostgreSQL [citation:2].
  • وب‌سرور: IIS (ویندوز) یا Nginx/Apache (لینوکس) [citation:9].
  • Redis (اختیاری): برای کش‌سازی و افزایش سرعت [citation:2].

ابزارهای توسعه (برای توسعه‌دهندگان)

  • Visual Studio 2022: برای باز کردن و توسعه پروژه [citation:2].
  • Git: برای دریافت کد از مخزن.

مراحل نصب ناپ کامرس

در این بخش از آموزش کامل ناپ کامرس، نحوه نصب سیستم را بررسی می‌کنیم.

روش اول: نصب با استفاده از بسته بدون کد منبع (No Source)

این روش برای افرادی که نیاز به توسعه ندارند و فقط می‌خواهند فروشگاه را راه‌اندازی کنند، مناسب است.

مرحله ۱: دانلود بسته نصب

به وب‌سایت رسمی www.nopcommerce.com مراجعه کرده و بسته No Source را دانلود کنید. این بسته شامل فایل‌های کامپایل شده است [citation:2].

مرحله ۲: استخراج فایل‌ها

فایل دانلود شده را در پوشه ریشه وب‌سرور خود (مانند wwwroot یا public_html) استخراج کنید [citation:9].

مرحله ۳: تنظیم مجوزهای پوشه‌ها

برای اطمینان از عملکرد صحیح، مجوزهای پوشه‌های /App_Data و /wwwroot را به حالت قابل نوشتن (Writeable) تغییر دهید.

روش دوم: نصب با استفاده از کد منبع (Source Code)

این روش برای توسعه‌دهندگانی که قصد شخصی‌سازی و سفارشی‌سازی افزونه ناپ کامرس را دارند، توصیه می‌شود [citation:2].

مرحله ۱: دانلود کد منبع

از وب‌سایت رسمی، بسته با کد منبع را دانلود کنید. برای دانلود نیاز به ثبت‌نام دارید [citation:2].

مرحله ۲: باز کردن پروژه در Visual Studio

فایل .sln را با Visual Studio باز کنید [citation:2].

مرحله ۳: ساخت (Build) پروژه

پروژه را با استفاده از دستور Build کامپایل کنید. فایل‌های خروجی در پوشه /Nop.Web قرار می‌گیرند.

نصب و راه‌اندازی از طریق ویزارد

پس از انتقال فایل‌ها به سرور، نوبت به اجرای ویزارد نصب می‌رسد. این بخش از آموزش کامل ناپ کامرس بسیار مهم است [citation:5].

مرحله ۱: دسترسی به صفحه نصب

آدرس وب‌سایت خود را در مرورگر باز کنید. صفحه نصب‌کننده به صورت خودکار نمایش داده می‌شود [citation:5].

مرحله ۲: انتخاب زبان

زبان مورد نظر خود را انتخاب کنید. ناپ کامرس از زبان فارسی نیز پشتیبانی می‌کند.

مرحله ۳: تنظیمات پایگاه داده

اطلاعات اتصال به پایگاه داده را وارد کنید [citation:5]:

  • نوع پایگاه داده: SQL Server، MySQL یا PostgreSQL [citation:8].
  • نام سرور (Server Name): آدرس سرور پایگاه داده.
  • نام پایگاه داده (Database Name): نام دیتابیسی که برای فروشگاه ایجاد کرده‌اید.
  • نام کاربری و رمز عبور: اطلاعات کاربری پایگاه داده [citation:8].

مرحله ۴: تنظیمات فروشگاه

در این بخش، اطلاعات زیر را وارد کنید:

  • نام فروشگاه: عنوان فروشگاه شما.
  • آدرس فروشگاه: URL وب‌سایت.
  • واحد پول پیش‌فرض: انتخاب ریال، دلار یا سایر ارزها.

مرحله ۵: ایجاد حساب کاربری مدیر

یک نام کاربری و رمز عبور قوی برای دسترسی به پنل مدیریت ایجاد کنید [citation:5].

مرحله ۶: تکمیل نصب

روی دکمه نصب (Install) کلیک کنید. پس از چند دقیقه، نصب به پایان می‌رسد. برای امنیت بیشتر، پوشه /Install را از روی سرور حذف کنید.

ورود به پنل مدیریت

پس از نصب موفق، می‌توانید وارد پنل مدیریت شوید. آدرس پنل مدیریت به صورت زیر است [citation:5]:

http://YourDomain.com/Admin

با استفاده از اطلاعات کاربری که در مرحله قبل ایجاد کردید، وارد شوید [citation:8].

آشنایی با بخش‌های اصلی پنل مدیریت

در این بخش از آموزش کامل ناپ کامرس، مهم‌ترین بخش‌های پنل مدیریت را بررسی می‌کنیم [citation:1].

مدیریت محصولات (Catalog)

برای افزودن محصول جدید، به مسیر Catalog > Products بروید و روی Add new کلیک کنید. اطلاعات زیر را وارد کنید:

  • عنوان محصول (برای سئو و جستجو بسیار مهم است) [citation:1].
  • توضیحات کوتاه و بلند.
  • قیمت (قیمت اصلی و قیمت ویژه برای تخفیف).
  • موجودی (تعداد موجود در انبار).
  • تصاویر (آپلود تصاویر با گالری داخلی).
  • دسته‌بندی و برچسب‌ها.

مدیریت سفارشات (Orders)

همه سفارشات در بخش Sales > Orders قابل مشاهده است. شما می‌توانید وضعیت هر سفارش را تغییر دهید، فاکتور چاپ کنید و به مشتری ایمیل ارسال کنید [citation:1].

مدیریت مشتریان (Customers)

در بخش Customers > Customers، لیست کامل کاربران ثبت‌نام شده را مشاهده می‌کنید. می‌توانید جزئیات هر مشتری را ببینید و برای آنها کد تخفیف ایجاد کنید.

تنظیمات درگاه‌های پرداخت (Payment Methods)

برای تنظیم درگاه پرداخت، به Configuration > Payment methods بروید. ناپ کامرس از درگاه‌های معروفی مانند PayPal پشتیبانی می‌کند [citation:1]. برای فروشگاه‌های ایرانی، افزونه‌های اختصاصی درگاه‌های داخلی توسط توسعه‌دهندگان ارائه می‌شود.

شخصی‌سازی فروشگاه با افزونه‌ها و ویجت‌ها

یکی از قدرتمندترین قابلیت‌های ناپ کامرس، سیستم افزونه‌ها و ویجت‌ها است [citation:2]. این سیستم به شما امکان می‌دهد بدون تغییر در کد هسته، امکانات جدید به فروشگاه اضافه کنید.

نصب افزونه از مارکت‌پلیس

برای نصب افزونه، مراحل زیر را دنبال کنید:

  • به بخش Configuration > Local plugins بروید.
  • روی دکمه Upload plugin or theme کلیک کنید.
  • فایل افزونه را آپلود و نصب کنید.

بهینه‌سازی فروشگاه برای موتورهای جستجو (سئو)

ناپ کامرس به صورت پیش‌فرض دارای ساختار سئو دوستانه است. برای بهبود بیشتر، این نکات را رعایت کنید:

  • متاتگ‌ها: برای هر محصول و صفحه، متاتگ‌های عنوان و توضیحات منحصربه‌فرد بنویسید.
  • URL بهینه: از ساختار URL کوتاه و شامل کلمات کلیدی استفاده کنید.
  • نقشه سایت (Sitemap): نقشه سایت را فعال کنید و به کنسول گوگل ارسال کنید.
  • سرعت بارگذاری: از Redis برای کش‌سازی استفاده کنید [citation:2].

جمع‌بندی

آموزش کامل ناپ کامرس به شما نشان داد که چگونه می‌توانید یک فروشگاه اینترنتی حرفه‌ای را از صفر تا صد راه‌اندازی کنید. از نصب و راه‌اندازی اولیه گرفته تا مدیریت محصولات، سفارشات و شخصی‌سازی با افزونه‌ها، تمام مراحل را گام‌به‌گام پوشش دادیم. ناپ کامرس با معماری مدرن و جامعه فعال خود، انتخابی عالی برای هر کسب‌وکار اینترنتی است. با به‌کارگیری نکات این مقاله، می‌توانید فروشگاهی موفق و بهینه داشته باشید.

اگر در هر مرحله از آموزش کامل ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم. موفق و پیروز باشید!


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه کاربران حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی مراجعه کنید.

آموزش اتصال به ناپ کامرس | راهنمای جامع API، وب‌هوک و یکپارچه‌سازی

روش‌های اصلی اتصال به ناپ کامرس

برای اتصال به ناپ کامرس، سه روش اصلی وجود دارد که هر کدام برای سناریوهای خاصی مناسب هستند. در این بخش از آموزش اتصال به ناپ کامرس، این روش‌ها را معرفی می‌کنیم.

۱. استفاده از افزونه‌های API رسمی

ناپ کامرس یک افزونه RESTful Web API رسمی ارائه می‌دهد که در مارکت‌پلیس آن قابل تهیه است [citation:15]. این افزونه با استفاده از سرویس‌های بومی ناپ کامرس، امنیت و کارایی بالایی را فراهم می‌کند و بیش از ۲۰۰ متد API برای پوشش تمام جنبه‌های فرانت‌اند فروشگاه در اختیار توسعه‌دهندگان قرار می‌دهد [citation:11].

۲. توسعه افزونه اتصال سفارشی

برای نیازهای خاص، می‌توانید یک افزونه اتصال سفارشی توسعه دهید. این روش انعطاف‌پذیری کامل را فراهم می‌کند و امکان پیاده‌سازی منطق دلخواه را به شما می‌دهد [citation:7].

۳. استفاده از وب‌هوک (Webhook)

وب‌هوک‌ها امکان دریافت رویدادهای لحظه‌ای از سرویس‌های خارجی را فراهم می‌کنند. برای مثال، درگاه‌های پرداخت مانند PayPal یا Crypto.com از وب‌هوک برای ارسال وضعیت پرداخت استفاده می‌کنند [citation:2][citation:12].

نصب و راه‌اندازی افزونه API در ناپ کامرس

در این بخش از آموزش اتصال به ناپ کامرس، مراحل نصب و راه‌اندازی یک افزونه API را بررسی می‌کنیم.

مرحله ۱: تهیه افزونه API

افزونه API را از مارکت‌پلیس ناپ کامرس تهیه کنید. این افزونه به صورت پولی ارائه می‌شود و شامل مستندات کامل Swagger است [citation:11].

مرحله ۲: نصب افزونه

برای نصب افزونه، مراحل زیر را دنبال کنید:

  • به پنل مدیریت ناپ کامرس بروید.
  • از مسیر Configuration → Local Plugins وارد شوید.
  • افزونه API را در لیست پیدا کنید و روی Install کلیک کنید.

مرحله ۳: ایجاد اپلیکیشن و دریافت API Key

پس از نصب، به صفحه Applications بروید و یک اپلیکیشن جدید ایجاد کنید. با این کار، یک Application API Key منحصربه‌فرد تولید می‌شود که باید در تمام درخواست‌های API در هدر X-API-KEY ارسال شود [citation:3].

مرحله ۴: دریافت توکن JWT

برای اکثر متدهای API، به یک توکن JWT نیاز دارید. برای دریافت توکن مهمان (Guest Token)، درخواستی به آدرس /api/PublicCustomer/GetGuestToken با هدر X-API-KEY ارسال کنید [citation:3]:

    var client = new RestClient("https://yourstore.com/api/PublicCustomer/GetGuestToken");
    var request = new RestRequest(Method.GET);
    request.AddHeader("X-API-KEY", "YOUR_API_KEY");
    IRestResponse response = client.Execute(request);
    

پاسخ شامل AccessToken خواهد بود که باید در هدر Authorization تمام درخواست‌های بعدی ارسال شود [citation:3].

مرحله ۵: احراز هویت کاربر

برای ورود کاربران ثبت‌نام شده، از آدرس /api/PublicCustomer/Login با بدنه شامل UsernameOrEmail و Password استفاده کنید [citation:3].

مدیریت وب‌هوک (Webhook) در ناپ کامرس

وب‌هوک‌ها یکی از مهم‌ترین ابزارها در آموزش اتصال به ناپ کامرس هستند که امکان دریافت داده‌های لحظه‌ای از سرویس‌های خارجی را فراهم می‌کنند.

وب‌هوک چیست و چرا به آن نیاز داریم؟

وب‌هوک مکانیزمی است که به سرویس‌های خارجی اجازه می‌دهد رویدادهای مهم را به صورت لحظه‌ای به فروشگاه شما ارسال کنند. برای مثال، درگاه پرداخت پس از تأیید یا رد تراکنش، یک درخواست HTTP به آدرس وب‌هوک شما ارسال می‌کند [citation:2].

پیاده‌سازی یک وب‌هوک ساده

برای ایجاد یک وب‌هوک در ناپ کامرس، مراحل زیر را دنبال کنید:

مرحله ۱: ایجاد کنترلر و اکشن

یک کنترلر جدید با یک اکشن برای دریافت درخواست وب‌هوک ایجاد کنید [citation:10]:

    [IgnoreAntiforgeryToken]
    public virtual async Task WebhookHandler(int? orderId)
    {
        // دریافت داده‌های ارسال شده
        var requestBody = await new StreamReader(Request.Body).ReadToEndAsync();
        
        // پردازش داده‌ها
        // ...
        
        return Ok();
    }
    

مرحله ۲: ثبت مسیر (Route)

برای ثبت مسیر وب‌هوک، از کد زیر در RouteProvider استفاده کنید [citation:10]:

    endpointRouteBuilder.MapControllerRoute(
        name: "Plugin.Webhook",
        pattern: "Plugins/Webhook/{orderId:regex(\\d*)}",
        defaults: new { controller = "Webhook", action = "WebhookHandler" }
    );
    

مرحله ۳: تست وب‌هوک

برای تست، می‌توانید از ابزارهایی مانند Postman استفاده کنید یا به آدرس زیر مراجعه کنید [citation:10]:

yourwebsite.com/Plugins/Webhook/1

مثال عملی: تنظیم وب‌هوک درگاه پرداخت

درگاه‌های پرداخت مانند PayPal و Crypto.com از وب‌هوک برای ارسال وضعیت پرداخت استفاده می‌کنند [citation:2][citation:12]. برای تنظیم وب‌هوک در این درگاه‌ها، باید آدرسی مانند https://yourdomain.com/Plugins/PaymentGateway/Webhook را در پنل درگاه ثبت کنید [citation:4].

یکپارچه‌سازی با سرویس‌های خارجی

یکی از کاربردهای اصلی آموزش اتصال به ناپ کامرس، یکپارچه‌سازی با سرویس‌های خارجی مانند گوگل آنالیتیکس، سیستم‌های ERP و درگاه‌های پرداخت است [citation:7].

ساختار یک افزونه یکپارچه‌سازی

هر افزونه یکپارچه‌سازی معمولاً شامل اجزای زیر است [citation:7]:

  • Plugin.cs: شامل اطلاعات متادیتا و منطق نصب و حذف.
  • Services: حاوی منطق کسب‌وکار و فراخوانی APIهای خارجی.
  • Controllers: برای نمایش تنظیمات یا دریافت وب‌هوک.
  • Views: برای رابط کاربری تنظیمات (اختیاری).

مثال: ارسال رویداد به گوگل آنالیتیکس

برای ارسال رویداد خرید به گوگل آنالیتیکس نسخه ۴ (GA4)، یک سرویس با کد زیر ایجاد کنید [citation:7]:

    public class GoogleAnalyticsService
    {
        private readonly HttpClient _httpClient;
        private readonly string _measurementId = "G-XXXXXXX";
        private readonly string _apiSecret = "your_api_secret";

        public GoogleAnalyticsService(HttpClient httpClient)
        {
            _httpClient = httpClient;
        }

        public async Task SendPurchaseEventAsync(string clientId, decimal value)
        {
            var url = $"https://www.google-analytics.com/mp/collect?measurement_id={_measurementId}&api_secret={_apiSecret}";
            var body = new
            {
                client_id = clientId,
                events = new[]
                {
                    new
                    {
                        name = "purchase",
                        params_ = new { value = value }
                    }
                }
            };
            
            var json = JsonSerializer.Serialize(body);
            var response = await _httpClient.PostAsync(url, new StringContent(json, Encoding.UTF8, "application/json"));
            response.EnsureSuccessStatusCode();
        }
    }
    

امنیت در اتصال به ناپ کامرس

امنیت یکی از مهم‌ترین جنبه‌های آموزش اتصال به ناپ کامرس است. در این بخش به نکات کلیدی امنیتی اشاره می‌کنیم.

استفاده از HTTPS

همیشه از گواهی SSL برای تمام درخواست‌های API و وب‌هوک استفاده کنید [citation:4]. این کار از حملات Man-in-the-Middle جلوگیری می‌کند.

احراز هویت دو لایه

افزونه‌های API معتبر معمولاً از احراز هویت دو لایه استفاده می‌کنند [citation:3][citation:11]:

  • لایه اول: توکن JWT که بر اساس Secret Key تولید می‌شود و برای احراز هویت کاربران استفاده می‌شود.
  • لایه دوم: Application API Key که در هدر X-API-KEY ارسال می‌شود و دسترسی به API را برای اپلیکیشن‌های خاص فراهم می‌کند.

مدیریت توکن‌ها

برای مدیریت توکن‌های JWT و Refresh Token، از مکانیزم‌های زیر استفاده کنید [citation:11]:

  • توکن‌ها را به صورت امن در سمت کلاینت ذخیره کنید.
  • برای تمدید توکن‌ها از Refresh Token استفاده کنید.
  • توکن‌های منقضی شده را به صورت دوره‌ای پاک‌سازی کنید.

بهترین شیوه‌های توسعه API در ناپ کامرس

  • استفاده از صفحه‌بندی: برای داده‌های حجیم، از پارامترهای pageNumber و pageSize استفاده کنید تا از بار اضافی جلوگیری شود [citation:9].
  • اعتبارسنجی داده‌ها: از Data Annotations یا Fluent Validation برای اعتبارسنجی ورودی‌ها استفاده کنید [citation:9].
  • مدیریت خطا: از کدهای وضعیت HTTP مناسب و لاگ‌گیری با ابزارهایی مانند Serilog استفاده کنید [citation:9].
  • مستندسازی: از Swagger برای مستندسازی خودکار API استفاده کنید [citation:11].
  • استفاده از کش: برای پاسخ‌های API که به ندرت تغییر می‌کنند، از کش استفاده کنید [citation:11].

نتیجه‌گیری

آموزش اتصال به ناپ کامرس نشان می‌دهد که این پلتفرم با ارائه افزونه‌های API قدرتمند، پشتیبانی از وب‌هوک و معماری انعطاف‌پذیر، بستری ایده‌آل برای یکپارچه‌سازی با سیستم‌های خارجی فراهم می‌کند. با استفاده از روش‌های معرفی شده در این مقاله، می‌توانید فروشگاه خود را به ابزارهای تحلیل، بازاریابی، پرداخت و مدیریت متصل کنید و تجربه بهتری برای مشتریان خود ایجاد نمایید.

اگر در هر مرحله از آموزش اتصال به ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم.


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه توسعه‌دهندگان حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی و مارکت‌پلیس ناپ کامرس مراجعه کنید.

آموزش سئو ناپ کامرس | راهنمای جامع بهینه‌سازی فروشگاه برای موتورهای جستجو

تنظیمات کلی سئو در ناپ کامرس

اولین گام در آموزش سئو ناپ کامرس، آشنایی با تنظیمات کلی سئو است که برای کل فروشگاه اعمال می‌شوند. برای دسترسی به این تنظیمات، از مسیر Configuration → Settings → General settings وارد شده و به پنل SEO بروید [citation:9].

تنظیمات اصلی SEO

  • Default page title: عنوان پیش‌فرض برای صفحات فروشگاه [citation:9].
  • Page title SEO adjustment: نحوه نمایش عنوان صفحه را مشخص می‌کند (مثلاً نام فروشگاه قبل یا بعد از نام صفحه) [citation:9].
  • Default meta keywords: کلمات کلیدی پیش‌فرض که در صورت عدم تعریف اختصاصی برای صفحات استفاده می‌شوند [citation:9].
  • Default meta description: توضیحات متا پیش‌فرض برای صفحات [citation:9].
  • Home page title و Home page meta description: تنظیمات اختصاصی برای صفحه اصلی [citation:9].

تنظیمات پیشرفته SEO

  • Generate product meta description: با فعال کردن این گزینه، توضیحات متا محصولات به صورت خودکار از توضیحات کوتاه محصول تولید می‌شود [citation:9].
  • WWW prefix requirement: تعیین اینکه آیا URL فروشگاه باید با www باشد یا خیر [citation:9].
  • Enable canonical URLs: با فعال‌سازی این گزینه، URLهای متعارف برای جلوگیری از محتوای تکراری ایجاد می‌شوند [citation:6][citation:9].
  • Twitter META tags و Open Graph META tags: برای بهینه‌سازی اشتراک‌گذاری در شبکه‌های اجتماعی [citation:9].
  • Microdata tags: برای تولید داده‌های ساختاریافته در صفحات محصول [citation:9].
  • Custom <head> tag: برای افزودن تگ‌های سفارشی مانند کدهای تأیید یا اسکریپت‌های تحلیلی [citation:9].

بهینه‌سازی صفحات محصولات

صفحات محصولات قلب فروشگاه شما هستند و بهینه‌سازی آنها برای سئو تأثیر مستقیمی بر دیده شدن و فروش دارد [citation:1][citation:2]. در این بخش از آموزش سئو ناپ کامرس، نکات کلیدی برای بهینه‌سازی صفحات محصول را بررسی می‌کنیم.

عنوان محصول (Product Title)

از عناوین واضح، توصیفی و حاوی کلمات کلیدی مرتبط استفاده کنید. به جای عنوان عمومی مانند "لپ‌تاپ"، از عنوانی خاص مانند "لپ‌تاپ فوق‌باریک ۱۴ اینچی با SSD و ۸ گیگابایت رم" استفاده کنید [citation:1][citation:2].

توضیحات محصول (Product Description)

توضیحات دقیق و غنی از کلمات کلیدی بنویسید که بر ویژگی‌ها و مزایای محصول تمرکز دارد [citation:1][citation:2]. از کلمات کلیدی فرعی (Secondary Keywords) نیز در توضیحات استفاده کنید [citation:1].

متن جایگزین تصاویر (Image Alt Text)

برای هر تصویر محصول، یک متن جایگزین (Alt Text) توصیفی با کلمات کلیدی مرتبط اضافه کنید. این کار به بهینه‌سازی برای جستجوی تصاویر گوگل کمک می‌کند [citation:1][citation:2].

تنظیمات سئوی اختصاصی محصول

در پنل مدیریت ناپ کامرس، برای هر محصول می‌توانید تنظیمات سئوی اختصاصی تعریف کنید [citation:9]:

  • Search engine friendly page name (Slug): نام دوستانه برای URL محصول. به جای URLهای پیش‌فرض مانند "yourstore.com/product12345"، از URLهای توصیفی مانند "yourstore.com/ultra-slim-laptop-ssd-8gb" استفاده کنید [citation:1][citation:2][citation:9].
  • Meta title: عنوان اختصاصی برای صفحه محصول.
  • Meta keywords: کلمات کلیدی اختصاصی برای محصول.
  • Meta description: توضیحات متا اختصاصی که در نتایج جستجو نمایش داده می‌شود [citation:9]. طول توضیحات متا باید بین ۵۰ تا ۱۶۰ کاراکتر باشد [citation:9].

سئوی تگ‌های محصولات (Product Tags)

تگ‌های محصول در ناپ کامرس می‌توانند به صفحات فرود (Landing Pages) سئو شده تبدیل شوند. افزونه SEO-Optimized Product Tags این امکان را فراهم می‌کند [citation:4]. ویژگی‌های کلیدی این افزونه عبارتند از:

تبدیل تگ‌ها به صفحات فرود

با این افزونه، می‌توانید برای هر تگ، توضیحات غنی (Rich Text) و متادیتای سئوی اختصاصی (عنوان، کلمات کلیدی و توضیحات) تعریف کنید [citation:4]. این کار تگ‌ها را به صفحات ارزشمندی برای کاربران و موتورهای جستجو تبدیل می‌کند.

مدیریت ابر برچسب‌ها (Tag Cloud)

ابر برچسب‌ها را در بخش‌های مختلف فروشگاه مانند هدر، فوتر یا صفحه اصلی نمایش دهید تا لینک‌های داخلی غنی از کلمات کلیدی ایجاد کنید [citation:4].

کنترل نقشه سایت (Sitemap)

می‌توانید تعیین کنید که کدام تگ‌ها در نقشه سایت گنجانده شوند تا بودجه خزش (Crawl Budget) بهینه شود و صفحات با ارزش بیشتر ایندکس شوند [citation:4].

تحقیق کلمات کلیدی و ردیابی عملکرد

تحقیق کلمات کلیدی (Keyword Research) اساس هر استراتژی سئوی موفق است [citation:1][citation:2]. در آموزش سئو ناپ کامرس، استفاده از ابزارهایی مانند Ranktracker برای تحقیق و ردیابی کلمات کلیدی توصیه می‌شود [citation:1][citation:2][citation:3].

یافتن کلمات کلیدی با ارزش بالا

با ابزارهای تحقیق کلمات کلیدی، می‌توانید کلمات کلیدی پربازدید و مرتبط با محصولات خود را شناسایی کنید. برای مثال، اگر لوازم جانبی گیمینگ می‌فروشید، کلماتی مانند "هدفون گیمینگ بی‌سیم" یا "کیبورد مکانیکی RGB" را هدف قرار دهید [citation:1][citation:2].

ردیابی رتبه کلمات کلیدی

پس از پیاده‌سازی کلمات کلیدی، عملکرد آنها را با ابزارهای ردیابی رتبه (Rank Tracking) پایش کنید تا بتوانید استراتژی خود را بر اساس داده‌های واقعی بهینه‌سازی کنید [citation:1][citation:2].

داده‌های ساختاریافته (Structured Data) و JSON-LD

داده‌های ساختاریافته به موتورهای جستجو کمک می‌کنند محتوای صفحات شما را بهتر درک کنند و نمایش غنی (Rich Snippets) در نتایج جستجو ایجاد کنند. افزونه JSON-LD برای ناپ کامرس که توسط nopStation ارائه شده است، این قابلیت را فراهم می‌کند [citation:10].

پشتیبانی از اسکیماهای مختلف

این افزونه از اسکیماهایی مانند Organization، BreadcrumbList، Product، Blog، WebPage و NewsArticle پشتیبانی می‌کند [citation:10].

ویژگی‌های پیشرفته

  • محاسبه دامنه قیمت پویا (Dynamic price range calculation)
  • ردیابی موجودی در زمان واقعی (Real-time availability tracking)
  • نگاشت برند (Brand mapping)
  • ادغام با نظرات و شبکه‌های اجتماعی [citation:10]

سرعت بارگذاری و تأثیر آن بر سئو

سرعت بارگذاری سایت (Site Speed) یک فاکتور رتبه‌بندی حیاتی برای گوگل است و تأثیر مستقیمی بر تجربه کاربری دارد [citation:1][citation:2]. فروشگاه‌های با سرعت پایین می‌توانند رتبه و نرخ تبدیل پایین‌تری داشته باشند [citation:1].

بهبود سرعت در ناپ کامرس

  • بهینه‌سازی تصاویر: از تصاویر با حجم کم و فرمت‌های مدرن مانند WebP استفاده کنید.
  • استفاده از کش (Caching): از قابلیت‌های کش داخلی ناپ کامرس یا ابزارهایی مانند Redis استفاده کنید.
  • فشرده‌سازی (Minification): فایل‌های CSS و JavaScript را فشرده کنید.
  • CDN: از شبکه توزیع محتوا برای بارگذاری سریع‌تر منابع استاتیک استفاده کنید.

مدیریت URLهای متعارف (Canonical URLs)

URLهای متعارف به موتورهای جستجو نشان می‌دهند که کدام نسخه از یک صفحه، نسخه اصلی است. این کار برای جلوگیری از مشکلات محتوای تکراری (Duplicate Content) ضروری است [citation:9].

تنظیم URL متعارف در ناپ کامرس

ناپ کامرس به صورت پیش‌فرض امکان فعال‌سازی URLهای متعارف را دارد [citation:6][citation:9]. برای تنظیمات پیشرفته‌تر، مانند تنظیم URL متعارف برای محصولات مشابه در دو فروشگاه مختلف، می‌توانید از ویژگی‌های اختصاصی محصول یا افزونه‌های سفارشی استفاده کنید [citation:6].

نقشه سایت (Sitemap) و مدیریت آن

نقشه سایت به موتورهای جستجو کمک می‌کند صفحات فروشگاه شما را کشف و ایندکس کنند [citation:4]. با افزونه‌هایی مانند SEO-Optimized Product Tags، می‌توانید کنترل دقیقی بر گنجاندن تگ‌ها در نقشه سایت داشته باشید [citation:4].

نتیجه‌گیری

آموزش سئو ناپ کامرس نشان می‌دهد که با ترکیب تنظیمات داخلی، بهینه‌سازی صفحات محصول، تحقیق کلمات کلیدی، استفاده از داده‌های ساختاریافته و بهبود سرعت، می‌توان فروشگاه را در نتایج جستجو به رتبه‌های بالاتر رساند. سئو یک فرآیند مستمر است و نیاز به پایش و بهینه‌سازی مداوم دارد. با پیاده‌سازی راهکارهای ذکر شده در این مقاله، می‌توانید ترافیک ارگانیک و فروش خود را به طور چشمگیری افزایش دهید.

اگر در هر مرحله از آموزش سئو ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم.


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و منابع معتبر سئو تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی و منابع به‌روز سئو مراجعه کنید.

آموزش امنیت ناپ کامرس | راهنمای جامع محافظت از فروشگاه اینترنتی

آسیب‌پذیری بحرانی در ناپ کامرس (CVE-2025-11699)

یکی از مهم‌ترین تهدیدات امنیتی که اخیراً در ناپ کامرس شناسایی شده، آسیب‌پذیری با شناسه CVE-2025-11699 است. این آسیب‌پذیری مربوط به بی‌اعتبار نکردن کوکی‌های نشست (Session Cookies) پس از خروج کاربر می‌باشد [citation:2][citation:5].

آسیب‌پذیری چگونه کار می‌کند؟

در نسخه‌های آسیب‌پذیر ناپ کامرس (نسخه ۴.۷۰ و قبل از آن، و نسخه ۴.۸۰.۳)، وقتی کاربر از سیستم خارج می‌شود، کوکی نشست او به درستی باطل نمی‌شود [citation:2][citation:7][citation:9]. این یعنی اگر مهاجم بتواند کوکی نشست یک کاربر (به ویژه مدیر فروشگاه) را از طریق حملاتی مانند XSS یا رهگیری شبکه به دست آورد، می‌تواند حتی پس از خروج کاربر، از آن کوکی برای دسترسی به بخش‌های خصوصی مانند پنل مدیریت (/admin) استفاده کند [citation:2][citation:5][citation:7].

راه‌حل و برطرف‌سازی

به‌روزرسانی فوری: مهم‌ترین اقدام برای مقابله با این تهدید، به‌روزرسانی ناپ کامرس به نسخه ۴.۹۰.۳ یا بالاتر است. طبق گزارش‌های رسمی، این آسیب‌پذیری در نسخه‌های بالای ۴.۷۰ به جز ۴.۸۰.۳ برطرف شده است و نسخه ۴.۹۰.۳ به عنوان نسخه پایدار و ایمن توصیه می‌شود [citation:2][citation:5][citation:9].

اقدامات موقت: اگر امکان به‌روزرسانی فوری وجود ندارد، می‌توانید اقدامات زیر را انجام دهید [citation:5]:

  • دسترسی به مسیرهای حساس مانند /admin را محدود کنید.
  • فعالیت‌های مشکوک را به دقت رصد کنید.
  • از مکانیزم‌های تکمیلی مانند IP Binding (اتصال نشست به IP کاربر) برای افزایش امنیت استفاده کنید.

تنظیمات امنیتی داخلی ناپ کامرس

ناپ کامرس امکانات داخلی مناسبی برای افزایش امنیت فروشگاه دارد که در این بخش از آموزش امنیت ناپ کامرس به آنها می‌پردازیم.

محدود کردن دسترسی به پنل مدیریت با IP

یکی از ساده‌ترین و مؤثرترین راه‌ها برای محافظت از پنل مدیریت، محدود کردن دسترسی به آن بر اساس آدرس IP است. در تنظیمات امنیتی ناپ کامرس، بخشی به نام Admin area allowed IP وجود دارد که می‌توانید لیست IPهای مجاز را در آن وارد کنید [citation:6].

برای تنظیم این گزینه، به مسیر Configuration → Settings → General settings بروید و در بخش Security، آدرس‌های IP مجاز را با کاما جدا کنید (مثلاً 127.0.0.10, 232.18.204.16) [citation:6].

فعال‌سازی honeypot

سیستم honeypot یک تله امنیتی است که برای شناسایی و مقابله با ربات‌های خودکار طراحی شده است. با فعال کردن این گزینه در تنظیمات امنیتی، می‌توانید از ثبت‌نام خودکار و ارسال فرم‌های اسپم توسط ربات‌ها جلوگیری کنید [citation:6].

مدیریت کلید رمزنگاری (Encryption Private Key)

ناپ کامرس از یک کلید رمزنگاری برای ذخیره‌سازی اطلاعات حساس مانند اطلاعات کارت اعتباری استفاده می‌کند [citation:6]. این کلید در بخش Security قابل مشاهده و تغییر است. توصیه می‌شود پیش از تغییر این کلید، از پایگاه داده خود پشتیبان کامل تهیه کنید [citation:6].

استفاده از CAPTCHA

ناپ کامرس از reCAPTCHA گوگل برای محافظت از فرم‌های مختلف در برابر اسپم و حملات خودکار پشتیبانی می‌کند [citation:6]. شما می‌توانید در بخش تنظیمات CAPTCHA، نوع (نسخه ۲ یا ۳) و صفحاتی که باید CAPTCHA روی آنها نمایش داده شود (مانند صفحه ورود، ثبت‌نام، تماس با ما و...) را مشخص کنید [citation:6].

مدیریت دسترسی‌ها و مجوزها (Access Control List - ACL)

یکی از اصول اساسی امنیت، اعطای کمترین دسترسی ممکن به کاربران است. ناپ کامرس با سیستم ACL (Access Control List) این امکان را به شما می‌دهد تا دسترسی به بخش‌های مختلف فروشگاه را کنترل کنید [citation:3].

افزودن مجوزهای سفارشی

توسعه‌دهندگان می‌توانند از طریق افزونه‌ها، مجوزهای جدیدی به سیستم اضافه کنند. برای این کار، باید یک کلاس ایجاد کنید که از IPermissionConfigManager ارث‌بری کند و مجوزهای جدید را تعریف کند [citation:3].

سپس، در هر جایی از کد که نیاز به بررسی دسترسی کاربر دارید، از متد AuthorizeAsync() سرویس IPermissionService استفاده کنید [citation:3]:

    // بررسی دسترسی کاربر فعلی به Web API
    if (await _permissionService.AuthorizeAsync(WebApiBackendPermissionConfigManager.ACCESS_WEB_API))
        return;
    

استفاده از ویژگی CheckPermission

روش دیگر، استفاده از ویژگی [CheckPermission] بر روی اکشن‌های کنترلر است که به صورت خودکار دسترسی را بررسی می‌کند [citation:3]:

    [CheckPermission(WebApiBackendPermissionConfigManager.ACCESS_WEB_API)]
    public virtual async Task<IActionResult> Configure()
    {
        // ...
    }
    

محافظت پیشرفته با افزونه‌های امنیتی

علاوه بر امکانات داخلی، می‌توانید با استفاده از افزونه‌های تخصصی، امنیت فروشگاه خود را به سطح بالاتری ببرید. در ادامه به برخی از قابلیت‌های کلیدی این افزونه‌ها اشاره می‌کنیم.

مسدودسازی هوشمند IP و محافظت در برابر ربات‌ها

افزونه‌هایی مانند IP Blacklist and Bot Protection از miniOrange، امکانات پیشرفته‌ای برای شناسایی و مسدودسازی ترافیک مخرب ارائه می‌دهند [citation:1][citation:8].

فیلتر کردن IP و کنترل دسترسی جغرافیایی

با این افزونه‌ها می‌توانید [citation:1][citation:8]:

  • دسترسی از IPهای خاص یا محدوده‌های IP را مسدود یا مجاز کنید.
  • دسترسی را بر اساس کشور یا منطقه محدود کنید (مثلاً فقط کاربران ایران به فروشگاه دسترسی داشته باشند).
  • لیست‌های IP را به راحتی با فایل CSV وارد یا صادر کنید.

تشخیص و مسدودسازی ربات‌ها و حساب‌های جعلی

ربات‌ها می‌توانند با ایجاد حساب‌های کاربری جعلی، داده‌های تحلیلی را مختل کنند و زمینه را برای کلاهبرداری فراهم آورند. این افزونه‌ها با تحلیل رفتار کاربران و الگوهای ایمیل، می‌توانند [citation:1][citation:8]:

  • ایمیل‌های یکبار مصرف یا لیست سیاه را رد کنند.
  • از ارسال فرم‌های ثبت‌نام خودکار توسط ربات‌ها جلوگیری کنند.
  • از سوءاستفاده ربات‌ها از فرآیند تسویه‌حساب (Checkout) جلوگیری کنند.

گزارش‌گیری و تحلیل امنیتی در زمان واقعی

این ابزارها داشبوردهایی برای نمایش آمار حملات و فعالیت‌های مشکوک ارائه می‌دهند که به شما کمک می‌کند تا درک بهتری از وضعیت امنیتی فروشگاه خود داشته باشید و تنظیمات را بهینه کنید [citation:1][citation:10].

مزایای استفاده از افزونه‌های امنیتی

استفاده از این افزونه‌ها مزایای متعددی دارد [citation:1][citation:10][citation:11]:

  • پیشگیری از کلاهبرداری: با مسدودسازی تراکنش‌های جعلی و سوءاستفاده از کدهای تخفیف.
  • بهبود عملکرد: با کاهش ترافیک اضافی ناشی از ربات‌ها و در نتیجه کاهش مصرف منابع سرور.
  • صرفه‌جویی در زمان: با خودکارسازی فرآیند شناسایی و مسدودسازی تهدیدات.
  • پشتیبانی از انطباق با استانداردها: مانند PCI-DSS که نیازمند کنترل دسترسی قوی است [citation:1].

بهترین شیوه‌های کلی امنیت در ناپ کامرس

  • همیشه از آخرین نسخه استفاده کنید: به‌روزرسانی‌های امنیتی را جدی بگیرید و فروشگاه خود را به آخرین نسخه پایدار به‌روز کنید.
  • رمزهای عبور قوی: برای حساب‌های کاربری به خصوص حساب مدیر، از رمزهای عبور پیچیده و منحصربه‌فرد استفاده کنید.
  • پشتیبان‌گیری منظم: به طور منظم از فایل‌ها و پایگاه داده فروشگاه خود پشتیبان تهیه کنید.
  • محتوای استاتیک را فیلتر نکنید: در تنظیمات افزونه‌های IP Filtering، گزینه Ignore IP filter for static content را فعال کنید تا فایل‌های CSS، JS و تصاویر تحت تأثیر فیلتر IP قرار نگیرند و عملکرد سایت تحت تأثیر قرار نگیرد [citation:8].

نتیجه‌گیری

آموزش امنیت ناپ کامرس نشان می‌دهد که با ترکیب به‌روزرسانی‌های به موقع، استفاده از تنظیمات داخلی، مدیریت دقیق دسترسی‌ها و بهره‌گیری از افزونه‌های امنیتی تخصصی، می‌توان فروشگاه اینترنتی را در برابر طیف وسیعی از تهدیدات سایبری ایمن کرد. آسیب‌پذیری CVE-2025-11699 یک هشدار جدی است که اهمیت به‌روزرسانی را بیش از پیش آشکار می‌سازد. با پیاده‌سازی راهکارهای ذکر شده در این مقاله، می‌توانید گام‌های مؤثری در جهت حفظ امنیت فروشگاه و اعتماد مشتریان خود بردارید.

اگر در هر مرحله از آموزش امنیت ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم.


توجه: این مقاله بر اساس مستندات رسمی و گزارش‌های امنیتی معتبر تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی ناپ کامرس و گزارش‌های امنیتی به‌روز مراجعه کنید.

آموزش عملکرد ناپ کامرس | راهنمای جامع معماری، هسته و نحوه کار فروشگاه‌ساز حرفه‌ای

معماری کلی ناپ کامرس | ساختار پیازی (Onion Architecture)

ناپ کامرس بر اساس معماری پیازی (Onion Architecture) طراحی شده است. در این معماری، همه کدها می‌توانند به لایه‌های مرکزی‌تر وابسته باشند، اما کدها نمی‌توانند به لایه‌های بیرونی‌تر از هسته وابسته شوند [citation:3]. به عبارت دیگر، تمام وابستگی‌ها به سمت مرکز است. این ویژگی باعث کاهش وابستگی (Decoupling) کدها و افزایش قابلیت تست‌پذیری و نگهداری می‌شود.

مزیت اصلی این معماری این است که می‌توانید هسته برنامه را بدون نیاز به هیچ رابط کاربری (UI) تست کنید، یا فریم‌ورک UI خود را از Razor View به Angular، React یا Vue تغییر دهید بدون اینکه تغییری در هسته اصلی ایجاد شود [citation:3].

پروژه‌های اصلی ناپ کامرس | لایه‌های هسته (Application Core)

هسته برنامه (Application Core) در پوشه Libraries قرار دارد و شامل سه پروژه اصلی است که به ترتیب از مرکز به بیرون، وابستگی‌های یک‌طرفه دارند [citation:3][citation:11].

پروژه Nop.Core | مرکز معماری

پروژه Nop.Core در مرکز معماری قرار دارد و به هیچ پروژه دیگری در راه‌حل وابسته نیست [citation:3][citation:11]. این پروژه شامل کلاس‌های اصلی و مشترک در کل سیستم است، از جمله:

  • موجودیت‌های دامنه (Domain Entities): مانند کلاس‌های Order، Customer و Product.
  • سیستم کش (Caching): رابط‌ها و پیاده‌سازی‌های مربوط به کش‌سازی.
  • سیستم رویداد (Events): ساختارهای مورد نیاز برای مدیریت رویدادها.
  • کلاس‌های کمکی (Helpers): توابع و ابزارهای عمومی مورد استفاده در کل سیستم [citation:3][citation:11].

پروژه Nop.Data | لایه دسترسی به داده

پروژه Nop.Data به پروژه Nop.Core وابسته است و در میانه معماری قرار دارد [citation:3][citation:11]. این پروژه وظیفه ارتباط با پایگاه داده و جداسازی منطق دسترسی به داده از اشیاء کسب‌وکار را بر عهده دارد. ناپ کامرس از رویکرد Code-First با استفاده از Linq2DB و FluentMigrator استفاده می‌کند [citation:8][citation:11].

در این رویکرد، موجودیت‌ها در کد منبع (پروژه Nop.Core) تعریف می‌شوند و سپس از Linq2DB و FluentMigrator برای تولید ساختار پایگاه داده از این کلاس‌های C# استفاده می‌شود [citation:8][citation:11]. همچنین، برای شخصی‌سازی نگاشت (Mapping) جداول، از API روان (Fluent API) در کلاس‌های Builder موجود در پوشه Mapping استفاده می‌شود [citation:8].

پروژه Nop.Services | لایه سرویس‌ها و منطق کسب‌وکار

پروژه Nop.Services بیرونی‌ترین لایه هسته برنامه است که به هر دو پروژه Nop.Core و Nop.Data وابسته است [citation:3][citation:8][citation:11]. این پروژه شامل سرویس‌های اصلی، منطق کسب‌وکار (Business Logic)، اعتبارسنجی‌ها و محاسبات مربوط به داده‌ها است [citation:3][citation:11].

ویژگی کلیدی این لایه: استفاده از الگوی Repository و Dependency Injection است. برای مثال، سرویس‌های مربوط به بلاگ (Blog) در پوشه Blogs قرار دارند و شامل یک سرویس و یک اینترفیس هستند. این طراحی به شما امکان می‌دهد تا پیاده‌سازی سرویس را بدون تغییر در کنترلرها و سایر بخش‌ها، به سادگی تعویض کنید [citation:8].

سیستم کش (IStaticCacheManager) در عملکرد ناپ کامرس

یکی از اجزای حیاتی در آموزش عملکرد ناپ کامرس، سیستم کش‌سازی است. ناپ کامرس از رابط IStaticCacheManager با سه پیاده‌سازی مختلف استفاده می‌کند [citation:1]:

  • MemoryCacheManager: برای سرورهای تک‌واحدی (Single-Server) که از حافظه سرور برای کش استفاده می‌کند.
  • SynchronizedMemoryCacheManager: برای محیط‌های چندسروره با سیگنال‌های اعتبارسنجی (Invalidation Signals).
  • DistributedCacheManager: برای استفاده از کش توزیع‌شده مانند Redis یا SQL Server.

همچنین، ناپ کامرس از ILocker برای قفل‌های توزیع‌شده جهت جلوگیری از هجوم همزمان به کش (Cache Stampede) استفاده می‌کند [citation:1].

سیستم افزونه‌پذیری (Plugin System) در عملکرد ناپ کامرس

یکی از قوی‌ترین بخش‌های آموزش عملکرد ناپ کامرس، سیستم افزونه‌پذیری آن است. افزونه‌ها مجموعه‌هایی از کد هستند که قابلیت‌های خاصی را به فروشگاه اضافه می‌کنند و می‌توانند شامل لایه‌های داده، منطق کسب‌وکار و رابط کاربری خود باشند [citation:8].

ساختار افزونه‌ها

افزونه‌ها در پوشه /Plugins در ریشه راه‌حل قرار دارند. اما فایل‌های DLL آنها به طور خودکار به پوشه Presentation\Nop.Web\Plugins کپی می‌شوند تا شامل فایل‌های استاتیک (مانند CSS یا JS) نیز باشند [citation:8][citation:11].

چرخه‌حیات افزونه (BasePlugin)

هر افزونه یک کلاس اصلی دارد که از BasePlugin ارث‌بری می‌کند و متدهای زیر را پیاده‌سازی می‌کند [citation:1]:

  • InstallAsync / UninstallAsync: برای نصب و حذف افزونه.
  • UpdateAsync: برای به‌روزرسانی افزونه بین نسخه‌ها.
  • PreparePluginToUninstallAsync / InstallSampleDataAsync: برای آماده‌سازی حذف یا نصب داده‌های نمونه.

مهاجرت‌های پایگاه داده در افزونه‌ها

افزونه‌ها می‌توانند از ویژگی NopMigrationAttribute با نسخه‌گذاری زمان‌محور (Timestamp-based) استفاده کنند تا مهاجرت‌های پایگاه داده خود را مدیریت کنند. این روش از تداخل نسخه‌ها در افزونه‌های مختلف جلوگیری می‌کند [citation:1].

سیستم رویداد (Event System) و IConsumer

سیستم رویداد در ناپ کامرس یکی از ابزارهای قدرتمند برای افزونه‌نویسی است. هر افزونه می‌تواند با پیاده‌سازی اینترفیس IConsumer<T> به رویدادهای مختلفی مانند OrderPlacedEvent، EntityInsertedEvent و EmailSubscribedEvent گوش دهد [citation:1].

نکته مهم: متدهای InsertAsync، UpdateAsync و DeleteAsync در IRepository<TEntity> به طور پیش‌فرض رویدادهای EntityInsertedEvent، EntityUpdatedEvent و EntityDeletedEvent را فعال می‌کنند. این ویژگی به بسیاری از توسعه‌دهندگان افزونه امکان می‌دهد بدون تغییر در کد هسته، به هر تغییری در موجودیت‌ها واکنش نشان دهند [citation:1].

لایه نمایش (Presentation Layer) و مسیریابی

لایه نمایش (Presentation Layer) در پوشه Presentation قرار دارد و شامل دو پروژه اصلی است [citation:8][citation:11].

پروژه Nop.Web | لایه نمایش عمومی و مدیریت

پروژه Nop.Web یک پروژه MVC است که هم رابط کاربری عمومی فروشگاه و هم پنل مدیریت (به عنوان یک Area) را شامل می‌شود [citation:8][citation:11]. این پروژه نقطه شروع (Startup Project) برنامه است و شامل کنترلرها، مدل‌ها، ویوها و فایل‌های استاتیک (wwwroot) می‌باشد [citation:8][citation:11].

پروژه Nop.Web.Framework | چارچوب لایه نمایش

پروژه Nop.Web.Framework یک پروژه Class Library است که شامل موارد مشترک لایه نمایش مانند کلاس‌های پایه کنترلر، فیلترها و ابزارهای کمکی است [citation:8][citation:11].

ثبت سرویس‌ها و INopStartup

ناپ کامرس از الگوی Dependency Injection با استفاده از Autofac استفاده می‌کند [citation:1]. هر ماژول با پیاده‌سازی اینترفیس INopStartup، سرویس‌های خود را ثبت می‌کند. موتور اصلی (NopEngine) با استفاده از ITypeFinder این کلاس‌ها را پیدا کرده، بر اساس Order مرتب‌سازی کرده و به ترتیب اجرا می‌کند [citation:1].

مدیریت فروشگاه‌های چندگانه (Multi-Store) در عملکرد ناپ کامرس

یکی از قابلیت‌های پیشرفته ناپ کامرس، پشتیبانی از فروشگاه‌های چندگانه است. WebStoreContext با بررسی هدر Host درخواست، فروشگاه مربوطه را شناسایی کرده و تمام سرویس‌های پایین‌دست را بر اساس آن اسکوپ می‌کند. همچنین، IStoreMappingService.AuthorizeAsync برای اعمال دسترسی‌های هر فروشگاه بر روی رکوردهای مشترک استفاده می‌شود [citation:1].

نتیجه‌گیری

آموزش عملکرد ناپ کامرس نشان می‌دهد که این پلتفرم با معماری لایه‌ای و انعطاف‌پذیر خود، یکی از بهترین گزینه‌ها برای فروشگاه‌های اینترنتی است. از هسته مرکزی (Nop.Core) و لایه دسترسی به داده (Nop.Data) تا لایه سرویس‌ها (Nop.Services) و سیستم افزونه‌پذیری قدرتمند، همه چیز به گونه‌ای طراحی شده که توسعه‌دهندگان بتوانند به راحتی فروشگاه را شخصی‌سازی کرده و قابلیت‌های جدید اضافه کنند [citation:1][citation:5].

اگر در هر مرحله از آموزش عملکرد ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم. موفق و پیروز باشید!


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه توسعه‌دهندگان حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی و مخزن GitHub مراجعه کنید.

افزونه فارسی ناپ کامرس | راهنمای جامع معرفی، نصب و استفاده از پلاگین‌های فارسی

افزونه فارسی ناپ کامرس چیست و چرا به آن نیاز داریم؟

افزونه فارسی ناپ کامرس پلاگین‌هایی هستند که توسط تیم‌های ایرانی مانند ناپ فارسی (NopFarsi) توسعه یا بومی‌سازی شده‌اند. این افزونه‌ها مشکلات و نیازهای خاص فروشگاه‌های ایرانی مانند استفاده از تقویم شمسی، اتصال به درگاه‌های پرداخت داخلی، مدیریت مالیات بر ارزش افزوده و ارائه قالب‌های کاملاً فارسی را برطرف می‌کنند. استفاده از این افزونه‌ها مزایای زیر را دارد:

  • سازگاری کامل با قوانین و بازار ایران
  • پشتیبانی از زبان و تقویم فارسی
  • امکان استفاده از درگاه‌های پرداخت معتبر ایرانی
  • دسترسی به پشتیبانی فارسی‌زبان
  • افزایش فروش و بهبود تجربه کاربری برای مشتریان ایرانی

معرفی بهترین افزونه‌های فارسی ناپ کامرس

در این بخش از افزونه فارسی ناپ کامرس، به معرفی محبوب‌ترین و کاربردی‌ترین پلاگین‌های تولید شده توسط تیم‌های داخلی می‌پردازیم.

افزونه فرمول محاسبه قیمت بر اساس ویژگی

این افزونه که توسط ناپ فارسی توسعه یافته است، به مدیران فروشگاه اجازه می‌دهد تا قیمت نهایی محصولات را با استفاده از فرمول‌های ریاضی و منطقی بر اساس ویژگی‌های انتخاب شده توسط مشتری محاسبه کنند [citation:4]. این افزونه برای فروشگاه‌هایی که محصولات پیچیده با قیمت‌گذاری شرطی دارند، بسیار کاربردی است.

ویژگی‌های کلیدی:

  • محاسبه قیمت با استفاده از ویژگی‌های محصول با تعداد نامحدود [citation:4].
  • استفاده از عملگرهای ریاضی مانند جمع، تفریق، ضرب و تقسیم [citation:4].
  • استفاده از عملگرهای منطقی مانند AND، OR و NOT [citation:4].
  • استفاده از عبارات شرطی با تابع IF((Condition), (True Part), (False Part)) [citation:4].
  • امکان تعریف ۱۰ مقدار ثابت برای استفاده در فرمول‌ها [citation:4].
  • پشتیبانی از فیلدهای متنی، دکمه‌های رادیویی، فهرست آبشاری و چک‌باکس برای دریافت ورودی از مشتری [citation:4].

مثال کاربردی:

فرض کنید فروشگاهی خدمات بیمه شخص ثالث خودرو را ارائه می‌دهد. قیمت نهایی این خدمت با انتخاب ترکیبی از ویژگی‌ها (مانند نوع خودرو، میزان پوشش بیمه و ...) محاسبه می‌شود. با استفاده از این افزونه، مدیر فروشگاه می‌تواند یک فرمول ریاضی برای محاسبه قیمت نهایی تعریف کند [citation:4].

پلاگین‌های پرداخت و درگاه‌های مالی

یکی از مهم‌ترین دسته‌های افزونه فارسی ناپ کامرس، پلاگین‌های اتصال به درگاه‌های پرداخت داخلی هستند. این افزونه‌ها امکان پذیرش پرداخت اینترنتی از طریق بانک‌های ایرانی را فراهم می‌کنند. برخی از معروف‌ترین آنها عبارتند از:

  • درگاه پرداخت زیبال (Zibal): یکی از محبوب‌ترین درگاه‌های پرداخت ایرانی که افزونه آن برای ناپ کامرس نسخه ۴.۶ به صورت اختصاصی توسعه یافته است [citation:5].
  • درگاه پرداخت سیزپی (SizPay): توسعه یافته توسط تیم ناپ فارسی و قابل نصب بر روی فروشگاه ساز ناپ کامرس [citation:7].

پلاگین‌های مدیریت محتوا و تجربه کاربری

این دسته از افزونه فارسی ناپ کامرس به بهبود ظاهر و کارایی فروشگاه کمک می‌کنند:

  • Nop One Page Checkout (صورتحساب یک صفحه): این پلاگین فرآیند تسویه‌حساب را به یک صفحه ساده تبدیل می‌کند و تجربه خرید مشتری را بهبود می‌بخشد [citation:3].
  • پلاگین HTML Widgets (محتوا در همه جا): به شما امکان می‌دهد در هر بخش از فروشگاه که می‌خواهید، کدهای HTML قرار دهید [citation:3].
  • پلاگین Nop Ajax Filters Pro (فیلتر پیشرفته): این افزونه یک جستجوی پیشرفته و فیلتر قدرتمند برای صفحه اول سایت فراهم می‌کند و راه‌حلی فوق‌العاده سریع برای جستجو در فروشگاه ارائه می‌دهد [citation:3].

پلاگین‌های بازاریابی و فروش

این افزونه‌ها به افزایش فروش و مدیریت بهتر مشتریان کمک می‌کنند:

  • پلاگین Customer Reminders (یادآوری به مشتری): شامل یادآوری سبد خرید رها شده، تاریخ تولد و سایر رویدادهای مهم مشتریان است [citation:3].
  • پلاگین Sales Campaigns (جشنواره فروش): برای ایجاد تخفیف‌های ویژه و جشنواره‌های فروش طراحی شده است [citation:3].
  • پلاگین همکاری در فروش پیشرفته و کمیسیون: این افزونه به مدیران فروشگاه اجازه می‌دهد تا سیستم بازاریابی وابسته (Affiliate Marketing) را مدیریت کرده و به بازاریابان کمیسیون پرداخت کنند [citation:9].

پلاگین‌های پشتیبانی و خدمات مشتریان

برای بهبود ارتباط با مشتریان، افزونه‌های زیر بسیار مفید هستند:

  • Nop Help Desk - تیکت پشتیبانی: این پلاگین امکان ثبت و مدیریت درخواست‌های پشتیبانی (تیکت) را در فروشگاه فراهم می‌کند [citation:3].
  • سیستم تیکت - خدمات مشتریان: یک سیستم تیکتینگ کامل با پشتیبانی از چندین بخش اداری برای پیگیری بهینه مسائل مشتریان [citation:9].

سایر افزونه‌های کاربردی

برخی افزونه‌های دیگر که می‌توانند به بهبود عملکرد فروشگاه شما کمک کنند:

  • افزونه محدود کردن روش‌های پرداخت: این پلاگین امکان نمایش یا عدم نمایش درگاه‌های پرداخت بر اساس قوانین خاص را فراهم می‌کند [citation:9].
  • افزونه مدیریت موجودی بر اساس ویژگی محصول: برای مدیریت موجودی محصولات با ویژگی‌های مختلف طراحی شده است [citation:9].
  • گزارشساز فروشگاه ناپ کامرس: این افزونه گزارش‌های تحلیلی دقیقی از عملکرد فروشگاه در اختیار شما قرار می‌دهد [citation:9].

نحوه نصب و فعال‌سازی افزونه فارسی ناپ کامرس

فرآیند نصب افزونه فارسی ناپ کامرس بسیار ساده است و مشابه نصب سایر افزونه‌های ناپ کامرس انجام می‌شود. مراحل زیر را دنبال کنید:

مرحله ۱: دانلود فایل افزونه

فایل افزونه را از وب‌سایت توسعه‌دهنده معتبر (مانند ناپ فارسی) دانلود کنید. فایل معمولاً به صورت یک آرشیو ZIP است.

مرحله ۲: ورود به پنل مدیریت

به پنل مدیریت فروشگاه خود وارد شوید. از منوی اصلی به مسیر Configuration > Local plugins بروید.

مرحله ۳: آپلود افزونه

روی دکمه Upload plugin or theme کلیک کنید. فایل ZIP دانلود شده را انتخاب و آپلود کنید. سیستم به طور خودکار فایل را پردازش می‌کند.

مرحله ۴: نصب و فعال‌سازی

پس از آپلود، افزونه در لیست نمایش داده می‌شود. روی دکمه Install کلیک کنید. سپس برای فعال‌سازی، روی دکمه Edit کلیک کرده و تیک گزینه Is enabled را فعال کنید.

مرحله ۵: پیکربندی افزونه

برخی افزونه‌ها نیاز به پیکربندی دارند. روی دکمه Configure کلیک کرده و تنظیمات مورد نیاز (مانند اطلاعات درگاه پرداخت) را وارد کنید.

نکات مهم در انتخاب افزونه فارسی ناپ کامرس

  • سازگاری با نسخه ناپ کامرس: قبل از خرید یا دانلود، از سازگاری افزونه با نسخه ناپ کامرس خود اطمینان حاصل کنید. برای مثال، افزونه زیبال برای نسخه ۴.۶ توسعه یافته است [citation:5].
  • منبع معتبر: افزونه‌ها را فقط از منابع معتبر مانند وب‌سایت ناپ فارسی یا مارکت‌پلیس رسمی دانلود کنید تا از امنیت و کیفیت کد اطمینان داشته باشید [citation:3][citation:4].
  • پشتیبانی و به‌روزرسانی: افزونه‌ای را انتخاب کنید که پشتیبانی فعال و به‌روزرسانی منظم داشته باشد.
  • هزینه: برخی افزونه‌ها رایگان و برخی پولی هستند. هزینه را با ارزشی که برای فروشگاه شما ایجاد می‌کنند، مقایسه کنید.

جمع‌بندی

افزونه فارسی ناپ کامرس ابزاری قدرتمند برای بومی‌سازی و بهبود عملکرد فروشگاه‌های ایرانی است. از درگاه‌های پرداخت داخلی و تقویم شمسی گرفته تا قالب‌های فارسی و ابزارهای بازاریابی، این افزونه‌ها نیازهای خاص بازار ایران را پوشش می‌دهند. با انتخاب و نصب افزونه‌های مناسب، می‌توانید تجربه خرید بهتری برای مشتریان خود فراهم کرده و فروش خود را افزایش دهید.

اگر در هر مرحله از نصب یا پیکربندی افزونه فارسی ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم. موفق و پیروز باشید!


توجه: این مقاله بر اساس منابع معتبر و تجربه کاربران حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به وب‌سایت‌های توسعه‌دهندگان مانند ناپ فارسی مراجعه کنید.

نسخه جدید افزونه ناپ کامرس | راهنمای جامع به‌روزرسانی و آشنایی با آخرین تغییرات

ناپ کامرس ۴.۹۰ و اهمیت آن برای افزونه‌ها

نسخه ۴.۹۰ ناپ کامرس یک به‌روزرسانی اساسی محسوب می‌شود که سازگاری کامل با افزونه‌های جدید و بهبودهای عملکردی را به همراه دارد [citation:1]. این نسخه نه تنها برای هسته اصلی، بلکه برای توسعه‌دهندگان افزونه‌ها نیز بسیار حائز اهمیت است. بسیاری از افزونه‌های معروف مانند Advanced Topic Pages Plugin به طور کامل برای این نسخه به‌روزرسانی شده‌اند و از امکانات جدید آن بهره می‌برند [citation:1].

ویژگی‌های کلیدی نسخه ۴.۹۰ برای افزونه‌ها

بر اساس مستندات رسمی و تجربه توسعه‌دهندگان، نسخه جدید افزونه ناپ کامرس در نسخه ۴.۹۰ شامل بهبودهای زیر است:

  • سازگاری کامل با جدیدترین نسخه هسته [citation:1].
  • بهبود عملکرد و افزایش سرعت اجرای افزونه‌ها [citation:1].
  • رفع باگ‌های جزئی و افزایش پایداری سیستم [citation:1].
  • مدیریت بهتر در بخش‌های مختلف مانند مدیریت موضوعات و مجموعه‌ها [citation:1].

معرفی افزونه‌های جدید و به‌روز شده برای نسخه ۴.۹۰

با انتشار نسخه جدید افزونه ناپ کامرس، توسعه‌دهندگان افزونه‌های متعددی را برای این نسخه عرضه کرده‌اند. در ادامه به برخی از مهم‌ترین آنها اشاره می‌کنیم:

Advanced Topic Pages Plugin

این افزونه که توسط NopAdvance توسعه یافته است، به عنوان یکی از افزونه‌های محبوب برای مدیریت صفحات موضوعی (Topic Pages) شناخته می‌شود. نسخه جدید این افزونه برای ناپ کامرس ۴.۹۰ با ویژگی‌های زیر عرضه شده است [citation:1]:

  • سازگاری کامل با نسخه ۴.۹۰ و بهبود پایداری [citation:1].
  • بهبود عملکرد در مدیریت موضوعات و مجموعه‌ها [citation:1].
  • رفع باگ‌های جزئی و بهبود تجربه کاربری [citation:1].

افزونه‌های پرداخت و درگاه‌های مالی

افزونه‌های پرداخت نیز برای نسخه جدید افزونه ناپ کامرس به‌روزرسانی شده‌اند. برای مثال، افزونه BSS Stripe Connect که برای فروشگاه‌های چند فروشنده (Multi-Vendor) طراحی شده است، از نسخه ۴.۹۰ پشتیبانی می‌کند و امکان مدیریت پرداخت‌های تقسیم شده بین فروشندگان را فراهم می‌کند [citation:3].

افزونه‌های مدیریت محتوا و تصاویر

افزونه Picture Manager از foxnetsoft نیز برای نسخه‌های ۴.۴۰ تا ۴.۹۰ به‌روزرسانی شده است و ابزارهای قدرتمندی برای مدیریت تصاویر محصولات ارائه می‌دهد [citation:12].

راهنمای گام‌به‌گام به‌روزرسانی افزونه به نسخه جدید

برای استفاده از نسخه جدید افزونه ناپ کامرس، باید افزونه‌های خود را به‌روزرسانی کنید. فرآیند به‌روزرسانی افزونه‌ها در ناپ کامرس تقریباً مشابه نصب اولیه آنها است [citation:2]. در ادامه، مراحل دقیق را بررسی می‌کنیم:

مرحله ۱: دانلود نسخه جدید افزونه

به حساب کاربری خود در وب‌سایت توسعه‌دهنده (مانند NopAdvance) وارد شوید و به بخش محصولات قابل دانلود (Downloadable Products) بروید. آخرین نسخه افزونه را برای نسخه ناپ کامرس خود (در اینجا ۴.۹۰) دانلود کنید [citation:2].

مرحله ۲: آپلود افزونه در پنل مدیریت

برای به‌روزرسانی، نیازی به حذف افزونه قبلی نیست [citation:2]. مراحل زیر را دنبال کنید:

  • به پنل مدیریت ناپ کامرس بروید.
  • از مسیر Configuration > Local plugins وارد شوید [citation:2].
  • روی دکمه Upload plugin or theme کلیک کنید [citation:2].
  • فایل ZIP افزونه جدید را آپلود کنید [citation:2].

مرحله ۳: راه‌اندازی مجدد برنامه

پس از آپلود، ناپ کامرس به طور خودکار افزونه قدیمی را با نسخه جدید جایگزین می‌کند [citation:2]. برای نهایی‌سازی به‌روزرسانی، ممکن است سیستم از شما بخواهد که برنامه را مجدداً راه‌اندازی کنید. این کار را با کلیک روی دکمه Restart application انجام دهید [citation:2].

نکات مهم در به‌روزرسانی

توجه: در فرآیند به‌روزرسانی، تمام تنظیمات و داده‌های موجود افزونه حفظ می‌شوند و نیازی به پیکربندی مجدد نیست [citation:2]. همچنین، اگر افزونه به NopAdvance.Core وابسته است، مطمئن شوید که آن نیز به‌روزرسانی شده است [citation:2].

تغییرات عمده در نسخه‌های جدید ناپ کامرس

نسخه جدید افزونه ناپ کامرس نه تنها برای افزونه‌ها، بلکه برای هسته اصلی نیز تغییرات مهمی به همراه دارد. بر اساس مستندات انتشار (Release Notes) نسخه‌های مختلف، این تغییرات عبارتند از:

نسخه ۴.۸۰.۹ (اوت ۲۰۲۵)

این نسخه شامل رفع باگ‌های متعدد و بهبودهای زیر است [citation:4]:

  • رفع مشکل در صفحه کنترل دسترسی (ACL) که مقادیر را به درستی کدگذاری نمی‌کرد (#7754).
  • رفع خطا در جدول داده‌های صفحه جزئیات سفارش برای فروشگاه‌های چند فروشنده (#7826).
  • رفع مشکل در ویرایش انبوه محصولات بدون SKU (#7793).
  • رفع مشکل اعتبارسنجی در افزودن ویدیوی محصول (#7751).
  • رفع مشکل در متد SearchProductsAsync که ترتیب SearchProvider را رعایت نمی‌کرد (#7705).
  • حذف افزونه Amazon Pay از هسته و انتقال به مارکت‌پلیس (#7803).

نسخه ۴.۸۰.۷ (ژوئن ۲۰۲۵)

این نسخه نیز با رفع باگ‌های مهم منتشر شد [citation:4]:

  • رفع مشکل جستجو بر اساس فروشگاه در صفحه ویرایش انبوه محصولات (#7706).
  • رفع مشکل در صفحه "حساب کاربری من" که بلوک احراز هویت خارجی را بدون افزونه فعال نمایش می‌داد (#7710).
  • رفع مشکل در تک صفحه تسویه‌حساب که فیلدهای آدرس را پر نمی‌کرد (#7709).
  • رفع مشکل اندازه تصویر در حالت RTL (#7703).
  • رفع مشکل در حذف موضوعات و پست‌های انجمن (#7736).

نسخه ۴.۸۰.۶ (آوریل ۲۰۲۵)

این نسخه شامل بهبودهای زیر بود [citation:4]:

  • بهبود افزونه PayPal Commerce برای استفاده از مالیات حمل و نقل طبق تنظیمات (#7506).
  • یکپارچه‌سازی accessiBe برای دسترسی‌پذیری وب (#7670).
  • رفع مشکل در نصب هنگامی که کشور پیش‌فرض نبود و اشتراک خبرنامه فعال بود (#7671).

آمادگی برای به‌روزرسانی به نسخه جدید

قبل از هر گونه به‌روزرسانی به نسخه جدید افزونه ناپ کامرس، نکات زیر را در نظر بگیرید:

بررسی سازگاری افزونه‌ها

مطمئن شوید که تمام افزونه‌های مورد استفاده شما با نسخه جدید ناپ کامرس سازگار هستند [citation:11]. برخی افزونه‌ها ممکن است نیاز به به‌روزرسانی جداگانه داشته باشند.

پشتیبان‌گیری کامل

همیشه قبل از به‌روزرسانی، از فایل‌ها و پایگاه داده فروشگاه خود پشتیبان کامل تهیه کنید تا در صورت بروز مشکل، بتوانید به حالت قبلی بازگردید.

آماده‌سازی اسکریپت‌های پایگاه داده

ناپ کامرس معمولاً اسکریپت‌های SQL برای به‌روزرسانی پایگاه داده ارائه می‌دهد. این اسکریپت‌ها را در مدیریت کنسول SQL Server اجرا کنید [citation:11].

حذف افزونه‌های غیرضروری

برای کاهش ریسک تداخل، افزونه‌هایی که استفاده نمی‌کنید را از پوشه /Plugins حذف کنید [citation:11].

نتیجه‌گیری

نسخه جدید افزونه ناپ کامرس با بهبودهای چشمگیر و پشتیبانی از نسخه ۴.۹۰، فرصت‌های جدیدی را برای مدیران فروشگاه و توسعه‌دهندگان فراهم کرده است. با به‌روزرسانی به موقع افزونه‌ها و رعایت نکات ایمنی، می‌توانید از آخرین امکانات و بهبودهای عملکردی بهره‌مند شوید.

همیشه به مستندات رسمی ناپ کامرس و وب‌سایت‌های توسعه‌دهندگان برای اطلاع از آخرین نسخه‌ها و تغییرات مراجعه کنید.


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه کاربران حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی و وب‌سایت توسعه‌دهندگان مراجعه کنید.

آموزش اختصاصی ناپ کامرس | راهنمای جامع توسعه، سفارشی‌سازی و پیاده‌سازی حرفه‌ای

آموزش اختصاصی ناپ کامرس چیست و چه کسانی به آن نیاز دارند؟

آموزش اختصاصی ناپ کامرس یک دوره تخصصی است که فراتر از آموزش‌های عمومی، به توسعه‌دهندگان و مدیران فنی کمک می‌کند تا بتوانند فروشگاه را مطابق با نیازهای خاص کسب‌وکار خود سفارشی‌سازی کنند. این آموزش برای افرادی که نیازهای زیر را دارند، ضروری است:

  • ایجاد قابلیت‌های منحصربه‌فرد: هنگامی که افزونه‌های آماده پاسخگوی نیاز شما نیستند و باید قابلیت اختصاصی خود را توسعه دهید.
  • یکپارچه‌سازی با سیستم‌های شخص ثالث: مانند ارتباط با API تامین‌کنندگان، سیستم‌های ERP یا CRM [citation:11].
  • بهینه‌سازی عملکرد: برای فروشگاه‌های با ترافیک بالا که نیاز به تنظیمات کش و پایگاه داده دارند.
  • شخصی‌سازی ظاهر و تجربه کاربری: فراتر از قالب‌های موجود و ایجاد ویجت‌های سفارشی.

پیش‌نیازهای آموزش اختصاصی ناپ کامرس

قبل از شروع آموزش اختصاصی ناپ کامرس، باید با پیش‌نیازهای زیر آشنا باشید:

پیش‌نیازهای فنی

  • آشنایی با زبان برنامه‌نویسی C# و .NET Core: هسته اصلی ناپ کامرس با این فناوری‌ها توسعه یافته است [citation:3].
  • آشنایی با معماری MVC: ساختار کنترلرها، مدل‌ها و ویوها در ناپ کامرس بر اساس این الگو طراحی شده است [citation:4].
  • آشنایی با پایگاه داده: ناپ کامرس از SQL Server، MySQL و PostgreSQL پشتیبانی می‌کند و آشنایی با SQL و ORMهایی مانند Linq2DB ضروری است [citation:3].
  • ابزارهای توسعه: Visual Studio 2022، SQL Server Management Studio و Git [citation:3][citation:11].

آشنایی با معماری ناپ کامرس

برای موفقیت در آموزش اختصاصی ناپ کامرس، باید با معماری این پلتفرم آشنا باشید [citation:3][citation:7]:

  • لایه نمایش (Presentation Layer): شامل Razor View Engine، jQuery و Tag Helpers.
  • لایه کسب‌وکار (Business Layer): شامل Dependency Injection، Fluent Validation، AutoMapper و Linq2DB.
  • لایه داده (Data Layer): شامل FluentMigrator برای مدیریت تغییرات دیتابیس و پشتیبانی از چندین پایگاه داده.
  • سیستم افزونه‌پذیری (Plugin System): امکان توسعه ماژولار بدون تغییر در کد هسته [citation:9].

مراحل گام‌به‌گام توسعه یک افزونه اختصاصی

در این بخش از آموزش اختصاصی ناپ کامرس، مراحل ایجاد یک افزونه کامل را بررسی می‌کنیم.

مرحله ۱: ایجاد پروژه افزونه

برای شروع توسعه، یک پروژه جدید از نوع Class Library در پوشه /src/Plugins ایجاد کنید. نام پروژه باید از الگوی استاندارد Nop.Plugin.[GroupName].[PluginName] پیروی کند [citation:4][citation:9].

مرحله ۲: پیکربندی پروژه

فایل .csproj را با کد زیر پیکربندی کنید تا خروجی به پوشه مناسب هدایت شود [citation:4][citation:9]:

    <Project Sdk="Microsoft.NET.Sdk">
        <PropertyGroup>
            <TargetFramework>net9.0</TargetFramework>
            <OutputPath>$(SolutionDir)\Presentation\Nop.Web\Plugins\PLUGIN_NAME</OutputPath>
            <OutDir>$(OutputPath)</OutDir>
        </PropertyGroup>
    </Project>
    

مرحله ۳: ایجاد فایل plugin.json

این فایل حاوی متادیتای افزونه است و در ریشه پروژه قرار می‌گیرد [citation:2][citation:4]. نمونه‌ای از این فایل:

    {
        "Group": "Misc",
        "FriendlyName": "Plugin Name",
        "SystemName": "Nop.Plugin.Misc.PluginName",
        "Version": "1.00",
        "Author": "Your Name",
        "DisplayOrder": 1,
        "FileName": "Nop.Plugin.Misc.PluginName.dll",
        "Description": "توضیحات افزونه"
    }
    

مرحله ۴: ایجاد کلاس اصلی افزونه

یک کلاس ایجاد کنید که از BasePlugin ارث‌بری کند. این کلاس متدهای InstallAsync و UninstallAsync را برای نصب و حذف افزونه پیاده‌سازی می‌کند [citation:4].

مرحله ۵: پیاده‌سازی لایه داده

برای ذخیره‌سازی داده‌های سفارشی، یک Entity جدید ایجاد کنید که از BaseEntity ارث‌بری می‌کند. سپس یک Builder برای نگاشت جدول و یک Migration برای ایجاد جدول در دیتابیس ایجاد کنید [citation:2].

مرحله ۶: ایجاد سرویس و ثبت در DI

یک اینترفیس و کلاس سرویس برای دسترسی به داده‌ها ایجاد کنید. سپس با پیاده‌سازی INopStartup، سرویس را در کانتینر Dependency Injection ثبت کنید [citation:1][citation:4].

مرحله ۷: ایجاد کنترلر، مدل و ویو

برای افزودن صفحه تنظیمات به پنل مدیریت، یک کنترلر (که از BasePluginController ارث‌بری می‌کند)، مدل و ویو (Configure.cshtml) ایجاد کنید [citation:4].

تفاوت افزونه و ویجت در آموزش اختصاصی ناپ کامرس

در آموزش اختصاصی ناپ کامرس، درک تفاوت بین افزونه و ویجت بسیار مهم است [citation:9]:

افزونه (Plugin)

افزونه‌ها مجموعه‌های کاملی از کد هستند که قابلیت‌های جدیدی به سیستم اضافه می‌کنند. انواع مختلفی از افزونه‌ها در ناپ کامرس وجود دارد [citation:4][citation:5][citation:6]:

  • IPaymentMethod: برای ایجاد روش‌های پرداخت جدید.
  • IShippingRateComputationMethod: برای محاسبه هزینه ارسال.
  • ITaxProvider: برای محاسبه مالیات.
  • IExternalAuthenticationMethod: برای احراز هویت خارجی (مانند فیسبوک).
  • IMiscPlugin: برای افزونه‌هایی که در دسته‌های بالا قرار نمی‌گیرند.

ویجت (Widget)

ویجت نوع خاصی از افزونه است که علاوه بر قابلیت‌های افزونه، می‌تواند در بخش‌های مشخصی از سایت (Widget Zones) محتوای UI نمایش دهد. لیست کامل Widget Zones در فایل‌های AdminWidgetZones.cs و PublicWidgetZones.cs موجود است [citation:9].

پیاده‌سازی یک افزونه پرداخت اختصاصی

یکی از رایج‌ترین نیازها در آموزش اختصاصی ناپ کامرس، ایجاد یک افزونه پرداخت سفارشی است. مراحل اصلی به شرح زیر است [citation:5]:

گام ۱: ایجاد کنترلر

کنترلر باید از BasePaymentController ارث‌بری کرده و متد Configure را برای نمایش تنظیمات در پنل مدیریت پیاده‌سازی کند.

گام ۲: ایجاد View Component برای نمایش عمومی

برای نمایش اطلاعات پرداخت در صفحه تسویه‌حساب، یک View Component ایجاد کنید که ویو مربوطه را برگرداند [citation:5]:

    public class PaymentInfoViewComponent : NopViewComponent
    {
        public IViewComponentResult Invoke(string widgetZone, object additionalData)
        {
            return View("~/Plugins/Payments.PluginName/Views/Public/PaymentInfo.cshtml");
        }
    }
    

گام ۳: پیاده‌سازی اینترفیس IPaymentMethod

کلاس اصلی پرداخت باید اینترفیس IPaymentMethod را پیاده‌سازی کند. مهم‌ترین متدها عبارتند از [citation:5]:

  • ProcessPaymentAsync: برای پردازش پرداخت قبل از ثبت سفارش (در پرداخت‌های داخلی).
  • PostProcessPaymentAsync: برای هدایت مشتری به درگاه پرداخت خارجی (در پرداخت‌های خارجی).
  • GetPaymentInfoAsync: برای دریافت اطلاعات ورودی مشتری (مانند اطلاعات کارت اعتباری).
  • ValidatePaymentFormAsync: برای اعتبارسنجی اطلاعات ورودی.

تکنیک‌های پیشرفته در آموزش اختصاصی ناپ کامرس

بازنویسی سرویس‌های هسته

یکی از قدرتمندترین قابلیت‌ها در آموزش اختصاصی ناپ کامرس، امکان بازنویسی (Override) سرویس‌های اصلی است. برای این کار، یک کلاس جدید ایجاد کنید که از سرویس اصلی ارث‌بری کند و متدهای مورد نظر را بازنویسی کنید. سپس با استفاده از Dependency Injection، سرویس سفارشی را به جای سرویس اصلی ثبت کنید [citation:1][citation:4].

افزودن منوی جدید به پنل مدیریت

برای افزودن یک آیتم منوی جدید به پنل مدیریت، باید رویداد AdminMenuCreatedEvent را در یک Event Consumer مدیریت کنید [citation:4].

ایجاد جداول گزارش‌گیری با DataTables

برای نمایش داده‌های آماری و گزارش‌ها در پنل مدیریت، می‌توانید از کتابخانه DataTables استفاده کنید. مراحل شامل ایجاد مدل، سرویس برای دریافت داده و ویو با DataTables است [citation:1].

استفاده از nopcli برای تسریع توسعه

ابزار nopcli یک ابزار خط فرمان است که به شما امکان می‌دهد در کمتر از ۵ دقیقه یک افزونه جدید ایجاد کنید. این ابزار فرآیند ایجاد پروژه و پیکربندی اولیه را خودکار می‌کند [citation:10].

منابع و دوره‌های آموزشی اختصاصی

برای تکمیل آموزش اختصاصی ناپ کامرس، از منابع زیر استفاده کنید:

دوره رسمی ناپ کامرس

تیم توسعه ناپ کامرس یک دوره آموزشی آنلاین برای توسعه‌دهندگان منتشر کرده است که شامل موضوعات زیر است [citation:7][citation:8]:

  • مبانی (Fundamentals): نصب، پیکربندی، معماری، کار با داده و امنیت.
  • پیشرفته (Advanced): توسعه افزونه‌های پیشرفته، ایجاد موجودیت‌های جدید، رویدادها، کش‌سازی و بهینه‌سازی عملکرد.

مستندات رسمی

مستندات رسمی ناپ کامرس در docs.nopcommerce.com شامل راهنماهای کامل برای موضوعات زیر است [citation:1][citation:2][citation:4]:

  • چگونه یک افزونه بنویسیم
  • افزونه با دسترسی به داده
  • ایجاد روش پرداخت سفارشی
  • ایجاد ویجت

جمع‌بندی

آموزش اختصاصی ناپ کامرس به شما امکان می‌دهد تا به یک توسعه‌دهنده حرفه‌ای این پلتفرم تبدیل شوید. با درک عمیق از معماری، سیستم افزونه‌پذیری و تکنیک‌های پیشرفته، می‌توانید هر نیازی را که کسب‌وکار شما دارد، در فروشگاه پیاده‌سازی کنید. از ایجاد افزونه‌های پرداخت سفارشی گرفته تا یکپارچه‌سازی با سیستم‌های خارجی و شخصی‌سازی کامل ظاهر و عملکرد، همه اینها با آموزش اختصاصی ناپ کامرس قابل دستیابی است.

اگر در هر مرحله از آموزش اختصاصی ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم. موفق و پیروز باشید!


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه توسعه‌دهندگان حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی و دوره‌های آموزشی مراجعه کنید.

آموزش رایگان ناپ کامرس | راهنمای جامع گام‌به‌گام راه‌اندازی فروشگاه اینترنتی

ناپ کامرس چیست و چرا رایگان است؟

ناپ کامرس یک پلتفرم تجارت الکترونیک متن‌باز (Open Source) است که تحت مجوز رایگان ارائه می‌شود [citation:5][citation:7]. این سیستم توسط یک جامعه بزرگ از توسعه‌دهندگان در سراسر جهان پشتیبانی می‌شود و بیش از ۶۰,۰۰۰ فروشگاه آنلاین از آن استفاده می‌کنند [citation:10]. مزایای اصلی ناپ کامرس عبارتند از:

  • رایگان و متن‌باز: هیچ هزینه‌ای برای استفاده از هسته اصلی سیستم پرداخت نمی‌کنید.
  • قابل شخصی‌سازی: با معماری افزونه‌پذیر، می‌توانید هر قابلیتی را به فروشگاه خود اضافه کنید [citation:1][citation:11].
  • امن و مقیاس‌پذیر: مناسب برای فروشگاه‌های کوچک تا بزرگ و حتی بازارهای آنلاین (Multi-Vendor).
  • پشتیبانی از فناوری‌های مدرن: مبتنی بر ASP.NET Core با عملکرد بالا و بهینه [citation:4].

پیش‌نیازهای راه‌اندازی ناپ کامرس

قبل از شروع آموزش رایگان ناپ کامرس، باید با ابزارها و پیش‌نیازهای لازم آشنا شوید. ناپ کامرس از مجموعه‌ای از فناوری‌های مدرن استفاده می‌کند [citation:1]:

نیازمندی‌های فنی

  • .NET Core Runtime: برای اجرای برنامه روی سرور [citation:7].
  • پایگاه داده: پشتیبانی از SQL Server، MySQL و PostgreSQL [citation:1][citation:5].
  • وب‌سرور: IIS (ویندوز) یا Nginx/Apache (لینوکس) [citation:7].
  • Redis (اختیاری): برای کش‌سازی و افزایش سرعت [citation:1].

مراحل نصب ناپ کامرس

در این بخش از آموزش رایگان ناپ کامرس، نحوه نصب سیستم را به دو روش مختلف بررسی می‌کنیم.

روش اول: نصب با استفاده از بسته بدون کد منبع (No Source)

این روش برای افرادی که نیاز به توسعه ندارند و فقط می‌خواهند فروشگاه را راه‌اندازی کنند، مناسب است [citation:7].

مرحله ۱: دانلود بسته نصب

به وب‌سایت رسمی www.nopcommerce.com مراجعه کرده و بسته No Source را دانلود کنید. این بسته شامل فایل‌های کامپایل شده است.

مرحله ۲: استخراج فایل‌ها

فایل دانلود شده را در پوشه ریشه وب‌سرور خود (مانند wwwroot یا public_html) استخراج کنید.

مرحله ۳: تنظیم مجوزهای پوشه‌ها

برای اطمینان از عملکرد صحیح، مجوزهای پوشه‌های /App_Data و /wwwroot را به حالت قابل نوشتن (Writeable) تغییر دهید.

روش دوم: نصب با استفاده از کد منبع (Source Code)

این روش برای توسعه‌دهندگانی که قصد شخصی‌سازی و سفارشی سازی افزونه ناپ کامرس را دارند، توصیه می‌شود [citation:1].

مرحله ۱: دانلود کد منبع

از وب‌سایت رسمی، بسته با کد منبع را دانلود کنید. برای دانلود نیاز به ثبت‌نام دارید [citation:1].

مرحله ۲: باز کردن پروژه در Visual Studio

فایل .sln را با Visual Studio باز کنید [citation:1].

مرحله ۳: ساخت (Build) پروژه

پروژه را با استفاده از دستور Build کامپایل کنید. فایل‌های خروجی در پوشه /Nop.Web قرار می‌گیرند.

نصب و راه‌اندازی از طریق ویزارد

پس از انتقال فایل‌ها به سرور، نوبت به اجرای ویزارد نصب می‌رسد. این بخش از آموزش رایگان ناپ کامرس بسیار مهم است [citation:3][citation:8].

مرحله ۱: دسترسی به صفحه نصب

آدرس وب‌سایت خود را در مرورگر باز کنید. صفحه نصب‌کننده به صورت خودکار نمایش داده می‌شود [citation:8].

مرحله ۲: انتخاب زبان

زبان مورد نظر خود را انتخاب کنید. ناپ کامرس از زبان فارسی نیز پشتیبانی می‌کند.

مرحله ۳: تنظیمات پایگاه داده

اطلاعات اتصال به پایگاه داده را وارد کنید [citation:3][citation:8]:

  • نوع پایگاه داده: SQL Server، MySQL یا PostgreSQL [citation:1].
  • نام سرور (Server Name): آدرس سرور پایگاه داده.
  • نام پایگاه داده (Database Name): نام دیتابیسی که برای فروشگاه ایجاد کرده‌اید [citation:7].
  • نام کاربری و رمز عبور: اطلاعات کاربری پایگاه داده.

مرحله ۴: تنظیمات فروشگاه

در این بخش، اطلاعات زیر را وارد کنید [citation:3]:

  • نام فروشگاه: عنوان فروشگاه شما.
  • آدرس فروشگاه: URL وب‌سایت.
  • واحد پول پیش‌فرض: انتخاب ریال، دلار یا سایر ارزها.

مرحله ۵: ایجاد حساب کاربری مدیر

یک نام کاربری و رمز عبور قوی برای دسترسی به پنل مدیریت ایجاد کنید [citation:8].

مرحله ۶: تکمیل نصب

روی دکمه نصب (Install) کلیک کنید. پس از چند دقیقه، نصب به پایان می‌رسد. برای امنیت بیشتر، پوشه /Install را از روی سرور حذف کنید.

ورود به پنل مدیریت

پس از نصب موفق، می‌توانید وارد پنل مدیریت شوید. آدرس پنل مدیریت به صورت زیر است [citation:3][citation:8]:

http://YourDomain.com/Admin

با استفاده از اطلاعات کاربری که در مرحله قبل ایجاد کردید، وارد شوید.

آشنایی با بخش‌های اصلی پنل مدیریت

در این بخش از آموزش رایگان ناپ کامرس، مهم‌ترین بخش‌های پنل مدیریت را بررسی می‌کنیم.

مدیریت محصولات (Catalog)

برای افزودن محصول جدید، به مسیر Catalog > Products بروید و روی Add new کلیک کنید. اطلاعات زیر را وارد کنید:

  • عنوان محصول (برای سئو و جستجو بسیار مهم است).
  • توضیحات کوتاه و بلند.
  • قیمت (قیمت اصلی و قیمت ویژه برای تخفیف).
  • موجودی (تعداد موجود در انبار).
  • تصاویر (آپلود تصاویر با گالری داخلی).
  • دسته‌بندی و برچسب‌ها.

مدیریت سفارشات (Orders)

همه سفارشات در بخش Sales > Orders قابل مشاهده است. شما می‌توانید وضعیت هر سفارش را تغییر دهید، فاکتور چاپ کنید و به مشتری ایمیل ارسال کنید.

مدیریت مشتریان (Customers)

در بخش Customers > Customers، لیست کامل کاربران ثبت‌نام شده را مشاهده می‌کنید. می‌توانید جزئیات هر مشتری را ببینید و برای آنها کد تخفیف ایجاد کنید.

تنظیمات درگاه‌های پرداخت (Payment Methods)

برای تنظیم درگاه پرداخت، به Configuration > Payment methods بروید. ناپ کامرس از درگاه‌های معروفی مانند PayPal پشتیبانی می‌کند [citation:9]. برای فروشگاه‌های ایرانی، افزونه‌های اختصاصی درگاه‌های داخلی توسط توسعه‌دهندگان ارائه می‌شود.

شخصی‌سازی فروشگاه با افزونه‌ها و ویجت‌ها

یکی از قدرتمندترین قابلیت‌های ناپ کامرس، سیستم افزونه‌ها و ویجت‌ها است [citation:11]. این سیستم به شما امکان می‌دهد بدون تغییر در کد هسته، امکانات جدید به فروشگاه اضافه کنید.

تفاوت افزونه و ویجت

در ناپ کامرس، ویجت‌ها نوع خاصی از افزونه هستند که می‌توانند در بخش‌های مشخصی از سایت (Widget Zones) محتوای UI نمایش دهند [citation:11]. برای مثال، یک ویجت می‌تواند یک اسلایدر تبلیغاتی در صفحه اصلی یا یک بنر در سایدبار نمایش دهد. لیست کامل Widget Zones در فایل‌های AdminWidgetZones.cs و PublicWidgetZones.cs موجود است [citation:11].

نصب افزونه از مارکت‌پلیس

برای نصب افزونه، مراحل زیر را دنبال کنید:

  • به بخش Configuration > Local plugins بروید.
  • روی دکمه Upload plugin or theme کلیک کنید.
  • فایل افزونه را آپلود و نصب کنید.

سفارشی‌سازی و توسعه افزونه

برای توسعه‌دهندگانی که می‌خواهند افزونه سفارشی بسازند، ناپ کامرس مستندات کاملی ارائه می‌دهد [citation:2][citation:6][citation:9]. مراحل اصلی توسعه یک افزونه عبارتند از [citation:11]:

  • ایجاد یک پروژه Class Library در پوشه /src/Plugins.
  • افزودن فایل plugin.json با اطلاعات متادیتا [citation:11].
  • ایجاد کلاس اصلی که از BasePlugin ارث‌بری کند [citation:6].
  • پیاده‌سازی منطق کسب‌وکار با استفاده از سرویس‌ها و Dependency Injection [citation:2].

بهینه‌سازی فروشگاه برای موتورهای جستجو (سئو)

ناپ کامرس به صورت پیش‌فرض دارای ساختار سئو دوستانه است. برای بهبود بیشتر، این نکات را رعایت کنید:

  • متاتگ‌ها: برای هر محصول و صفحه، متاتگ‌های عنوان و توضیحات منحصربه‌فرد بنویسید.
  • URL بهینه: از ساختار URL کوتاه و شامل کلمات کلیدی استفاده کنید.
  • نقشه سایت (Sitemap): نقشه سایت را فعال کنید و به کنسول گوگل ارسال کنید.
  • سرعت بارگذاری: از Redis برای کش‌سازی استفاده کنید [citation:1].

عیب‌یابی مشکلات رایج

در این بخش از آموزش رایگان ناپ کامرس، به چند مشکل رایج و راه‌حل آنها اشاره می‌کنیم.

خطای ۵۰۰ Internal Server Error

دلیل: معمولاً به دلیل مشکل در فایل .htaccess یا مجوزهای پوشه‌ها.

راه‌حل: مجوزهای پوشه‌های /App_Data و /wwwroot را به ۷۵۵ یا ۷۷۷ تغییر دهید.

خطای اتصال به پایگاه داده

دلیل: اطلاعات اتصال در فایل appsettings.json نادرست است.

راه‌حل: فایل appsettings.json را باز کرده و رشته اتصال (Connection String) را بررسی کنید.

منابع تکمیلی برای یادگیری عمیق‌تر

برای ادامه آموزش رایگان ناپ کامرس، از منابع زیر استفاده کنید:

  • مستندات رسمی: docs.nopcommerce.com [citation:1][citation:2][citation:6].
  • انجمن‌های تخصصی: پرسش و پاسخ با جامعه کاربران.
  • دوره‌های آموزشی آنلاین: پلتفرم‌هایی مانند فرادرس و مکتب‌خونه.

جمع‌بندی

آموزش رایگان ناپ کامرس به شما نشان داد که چگونه می‌توانید بدون پرداخت هیچ هزینه‌ای، یک فروشگاه اینترنتی حرفه‌ای راه‌اندازی کنید. از نصب و راه‌اندازی اولیه گرفته تا مدیریت محصولات، سفارشات و شخصی‌سازی با افزونه‌ها، تمام مراحل را گام‌به‌گام پوشش دادیم. ناپ کامرس با معماری مدرن و جامعه فعال خود، انتخابی عالی برای هر کسب‌وکار اینترنتی است. با به‌کارگیری نکات این مقاله، می‌توانید فروشگاهی موفق و بهینه داشته باشید.

اگر در هر مرحله از آموزش رایگان ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم. موفق و پیروز باشید!


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه کاربران حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی مراجعه کنید.

سفارشی سازی افزونه ناپ کامرس | راهنمای جامع توسعه و شخصی‌سازی پیشرفته

سفارشی سازی افزونه ناپ کامرس چیست و چرا اهمیت دارد؟

سفارشی سازی افزونه ناپ کامرس به فرآیند تغییر، توسعه و شخصی‌سازی کد افزونه‌ها برای تطابق با نیازهای خاص فروشگاه اشاره دارد. این کار می‌تواند شامل اضافه کردن قابلیت‌های جدید، تغییر رفتار موجود، یا یکپارچه‌سازی با سیستم‌های شخص ثالث باشد. مزایای اصلی این کار عبارتند از:

  • انطباق کامل با نیازهای کسب‌وکار: هر فروشگاه نیازهای منحصربه‌فردی دارد که با سفارشی‌سازی قابل پیاده‌سازی است.
  • حفظ قابلیت به‌روزرسانی: با توسعه به صورت افزونه، می‌توانید هسته ناپ کامرس را به‌روز نگه دارید.
  • افزایش مزیت رقابتی: قابلیت‌های اختصاصی می‌توانند فروشگاه شما را از رقبا متمایز کنند.
  • بهینه‌سازی عملکرد: با حذف قابلیت‌های غیرضروری و اضافه کردن بهینه‌سازی‌های خاص.

پیش‌نیازهای سفارشی سازی افزونه در ناپ کامرس

قبل از شروع سفارشی سازی افزونه ناپ کامرس، باید با مفاهیم و ابزارهای زیر آشنا باشید:

آشنایی با معماری ناپ کامرس

ناپ کامرس از معماری ASP.NET Core MVC استفاده می‌کند. درک مفاهیمی مانند Controllers، Models، Views و Dependency Injection برای توسعه افزونه ضروری است [citation:1][citation:2].

دانش برنامه‌نویسی C# و .NET Core

توسعه افزونه‌های ناپ کامرس با زبان C# و فریم‌ورک .NET Core انجام می‌شود. تسلط بر این فناوری‌ها برای سفارشی سازی افزونه ناپ کامرس الزامی است.

آشنایی با سیستم افزونه‌پذیری ناپ کامرس

ناپ کامرس از یک سیستم افزونه‌پذیری قدرتمند استفاده می‌کند که در آن هر افزونه یک پروژه کلاس لایبرری (Class Library) است که در پوشه /Plugins قرار می‌گیرد [citation:2][citation:8].

ساختار یک افزونه در ناپ کامرس

برای سفارشی سازی افزونه ناپ کامرس، ابتدا باید با ساختار استاندارد یک افزونه آشنا شوید. هر افزونه شامل اجزای زیر است:

فایل plugin.json

این فایل شامل متادیتای افزونه مانند نام، نسخه، نویسنده و گروه است. نمونه‌ای از این فایل:

    {
      "Group": "Misc",
      "FriendlyName": "Product Image Slider",
      "SystemName": "Nop.Plugin.Misc.ProductImageSlider",
      "Version": "1.00",
      "Author": "Your Name",
      "DisplayOrder": 1,
      "FileName": "Nop.Plugin.Misc.ProductImageSlider.dll",
      "Description": "Adds an image slider to the product detail page"
    }
    

کلاس اصلی افزونه

هر افزونه باید یک کلاس داشته باشد که از BasePlugin ارث‌بری کند [citation:2][citation:8]. این کلاس متدهای InstallAsync و UninstallAsync را برای نصب و حذف افزونه پیاده‌سازی می‌کند.

ساختار پوشه‌ها

ساختار استاندارد یک افزونه شامل پوشه‌های زیر است [citation:8]:

  • Controllers: برای کنترلرهای MVC.
  • Models: برای مدل‌های داده.
  • Views: برای فایل‌های CSHTML.
  • Services: برای سرویس‌های سفارشی.
  • Infrastructure: برای تنظیمات DI و مسیریابی.

انواع افزونه‌ها در ناپ کامرس

ناپ کامرس انواع مختلفی از افزونه‌ها را پشتیبانی می‌کند که هر کدام برای هدف خاصی طراحی شده‌اند. در سفارشی سازی افزونه ناپ کامرس، باید نوع مناسب را انتخاب کنید [citation:2]:

IPaymentMethod

برای ایجاد روش‌های پرداخت جدید. این افزونه‌ها متدهایی مانند ProcessPaymentAsync و GetAdditionalHandlingFeeAsync را پیاده‌سازی می‌کنند [citation:3].

IShippingRateComputationMethod

برای محاسبه هزینه ارسال از طریق سرویس‌هایی مانند UPS، FedEx و غیره.

ITaxProvider

برای محاسبه مالیات بر اساس قوانین مختلف.

IWidgetPlugin

برای ایجاد ویجت‌هایی که در بخش‌های مختلف سایت نمایش داده می‌شوند.

IMiscPlugin

برای افزونه‌هایی که در هیچ یک از دسته‌بندی‌های بالا قرار نمی‌گیرند [citation:2].

مراحل سفارشی سازی افزونه ناپ کامرس

در این بخش، گام‌های اصلی سفارشی سازی افزونه ناپ کامرس را بررسی می‌کنیم.

ایجاد یک افزونه جدید

برای شروع سفارشی سازی افزونه ناپ کامرس، مراحل زیر را دنبال کنید [citation:8]:

  • یک پوشه جدید در مسیر /Plugins ایجاد کنید.
  • فایل plugin.json را با اطلاعات افزونه خود ایجاد کنید.
  • یک کلاس اصلی ایجاد کنید که از BasePlugin ارث‌بری کند.
  • پروژه را به عنوان یک Class Library ایجاد کنید.

پیاده‌سازی منطق سفارشی

بسته به نوع افزونه، باید منطق مورد نظر را پیاده‌سازی کنید. برای مثال، اگر در حال ایجاد یک افزونه پرداخت هستید، باید اینترفیس IPaymentMethod را پیاده‌سازی کنید [citation:3].

ایجاد کنترلر و ویو

برای افزودن صفحه تنظیمات به پنل مدیریت، باید یک کنترلر و ویو ایجاد کنید [citation:2][citation:8]:

  • کنترلر شما باید از BasePluginController ارث‌بری کند.
  • یک اکشن به نام Configure ایجاد کنید که ویو تنظیمات را برگرداند.

استفاده از Dependency Injection

برای ثبت سرویس‌های سفارشی خود در کانتینر DI، باید یک کلاس DependencyRegistrar ایجاد کنید که اینترفیس IDependencyRegistrar را پیاده‌سازی کند [citation:1].

تکنیک‌های پیشرفته سفارشی سازی

برای سفارشی سازی افزونه ناپ کامرس در سطح پیشرفته، تکنیک‌های زیر را در نظر بگیرید:

بازنویسی سرویس‌های هسته

گاهی نیاز دارید رفتار سرویس‌های اصلی ناپ کامرس را تغییر دهید. برای این کار می‌توانید یک کلاس جدید ایجاد کنید که از سرویس اصلی ارث‌بری کند و متدهای مورد نظر را بازنویسی (Override) کنید [citation:7].

برای مثال، برای تغییر رفتار ShoppingCartService هنگام افزودن محصول به سبد خرید:

  • یک کلاس CustomShoppingCartService ایجاد کنید که از ShoppingCartService ارث‌بری کند.
  • متد AddToCartAsync را بازنویسی کنید و منطق سفارشی خود را اضافه کنید.
  • در DependencyRegistrar، سرویس سفارشی را به جای سرویس اصلی ثبت کنید [citation:7].

افزودن منوی جدید به پنل مدیریت

برای افزودن یک آیتم منوی جدید به پنل مدیریت، باید از رویداد AdminMenuCreatedEvent استفاده کنید [citation:6].

    public class EventConsumer : IConsumer<AdminMenuCreatedEvent>
    {
        private readonly IPermissionService _permissionService;

        public EventConsumer(IPermissionService permissionService)
        {
            _permissionService = permissionService;
        }

        public async Task HandleEventAsync(AdminMenuCreatedEvent eventMessage)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermission.Configuration.MANAGE_PLUGINS))
                return;

            eventMessage.RootMenuItem.InsertBefore("Local plugins",
                new AdminMenuItem
                {
                    SystemName = "MyCustomPlugin",
                    Url = eventMessage.GetMenuItemUrl("MyController", "MyAction"),
                    IconClass = "far fa-dot-circle",
                    Name = "Custom Plugin Menu"
                });
        }
    }
    

بازنویسی مسیریابی (Routing)

برای بازنویسی مسیرهای موجود یا اضافه کردن مسیرهای جدید، باید اینترفیس IRouteProvider را پیاده‌سازی کنید [citation:5].

    public class RouteProvider : IRouteProvider
    {
        public void RegisterRoutes(IEndpointRouteBuilder endpointRouteBuilder)
        {
            endpointRouteBuilder.MapControllerRoute(
                name: "CustomAddressAdd",
                pattern: "/customer/addressadd",
                defaults: new { controller = "CustomCustomer", action = "AddressAdd" }
            );
        }

        public int Priority => -1; // اولویت بالاتر برای بازنویسی
    }
    

افزودن اعتبارسنجی سفارشی

برای افزودن قوانین اعتبارسنجی جدید به مدل‌های موجود، می‌توانید یک Validator سفارشی ایجاد کنید که از Validator اصلی ارث‌بری کند و قوانین جدید را اضافه کند [citation:4].

    public class CustomMyModelValidator : MyModelValidator
    {
        public CustomMyModelValidator()
            : base()
        {
            // اضافه کردن قوانین اعتبارسنجی جدید
            RuleFor(x => x.NewField)
                .NotEmpty()
                .WithMessage("NewField is required");
        }
    }
    

استفاده از ویجت‌ها برای نمایش در بخش‌های مختلف

برای نمایش محتوای سفارشی در بخش‌های مختلف سایت (مانند سایدبار، فوتر، یا صفحه محصول)، می‌توانید یک افزونه از نوع IWidgetPlugin ایجاد کنید [citation:2][citation:10].

بهترین شیوه‌های سفارشی سازی افزونه ناپ کامرس

برای موفقیت در سفارشی سازی افزونه ناپ کامرس، این نکات را رعایت کنید:

  • هسته اصلی را تغییر ندهید: همیشه تغییرات را به صورت افزونه پیاده‌سازی کنید تا قابلیت به‌روزرسانی حفظ شود.
  • از نام‌گذاری استاندارد استفاده کنید: از نام‌های منحصربه‌فرد برای کلاس‌ها و فضای‌نام‌ها استفاده کنید تا از تداخل جلوگیری شود.
  • مستندات رسمی را مطالعه کنید: همیشه از مستندات رسمی ناپ کامرس برای آخرین تغییرات استفاده کنید [citation:1][citation:2][citation:3].
  • کد خود را تست کنید: قبل از نصب در فروشگاه زنده، افزونه را در محیط تست امتحان کنید.
  • از الگوهای طراحی مناسب استفاده کنید: از الگوهایی مانند Repository، Dependency Injection و Service Locator استفاده کنید [citation:1][citation:7].
  • عملکرد را بهینه کنید: از کوئری‌های بهینه و کش‌سازی برای افزایش سرعت استفاده کنید.

عیب‌یابی مشکلات رایج در سفارشی سازی

در فرآیند سفارشی سازی افزونه ناپ کامرس ممکن است با مشکلاتی مواجه شوید:

افزونه در لیست نمایش داده نمی‌شود

دلیل: ممکن است فایل‌ها به درستی در پوشه /Plugins کپی نشده باشند یا فایل plugin.json مشکل داشته باشد.

راه‌حل: مطمئن شوید که DLL افزونه در پوشه Nop.Web/Plugins/PLUGIN_NAME قرار دارد [citation:2].

خطای کامپایل (Compile Error)

دلیل: ممکن است وابستگی‌ها یا نسخه‌های نامناسب استفاده شده باشند.

راه‌حل: از سازگاری نسخه افزونه با نسخه ناپ کامرس اطمینان حاصل کنید.

سرویس‌های سفارشی شناسایی نمی‌شوند

دلیل: ممکن است DependencyRegistrar به درستی پیکربندی نشده باشد.

راه‌حل: مطمئن شوید که کلاس DependencyRegistrar اینترفیس IDependencyRegistrar را پیاده‌سازی کرده و در فضای نام مناسب قرار دارد [citation:1][citation:7].

نتیجه‌گیری

سفارشی سازی افزونه ناپ کامرس یک مهارت ارزشمند برای توسعه‌دهندگان و مدیران فروشگاه‌های اینترنتی است که به دنبال ایجاد تجربه منحصربه‌فرد برای مشتریان خود هستند. با درک صحیح از معماری ناپ کامرس، استفاده از تکنیک‌های پیشرفته مانند بازنویسی سرویس‌ها، افزودن منوهای سفارشی و استفاده از ویجت‌ها، می‌توانید هر آنچه را که نیاز دارید به فروشگاه خود اضافه کنید. همواره به‌روزرسانی‌های ناپ کامرس را دنبال کنید و از مستندات رسمی برای آخرین تغییرات استفاده کنید.

اگر در هر مرحله از سفارشی سازی افزونه ناپ کامرس با سوالی مواجه شدید، خوشحال می‌شویم در بخش نظرات به شما کمک کنیم. موفق و پیروز باشید!


توجه: این مقاله بر اساس مستندات رسمی ناپ کامرس و تجربه توسعه‌دهندگان حرفه‌ای تهیه شده است. برای آخرین تغییرات، همواره به مستندات رسمی و انجمن‌های تخصصی مراجعه کنید.

آرشیو بلاگ