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

تاریخ : ۱۱ بهمن ۱۳۹۴ | دسته بندی : اپن کارت | برچسب ها : ,,,,

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

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

ماژول های اپن کارت چه هستند ؟

ماژول های اپن کارت شبیه به add-on ها ، افزونه ها  یا extension ها در سایر سیستم های مدیریت محتوا هستند . از طریق ماژول ها ی اپن کارت می توانیم کارآمدی آن را توسعه دهیم ، بدون اینکه مجبور باشیم فایل های برنامه را ویرایش کنیم .

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

اولین ماژول ما

ما برای سازگارشدن با سیستم ماژول اپن کارت، می توانیم ماژول اجباری  “Hello World” را بنویسیم . این ماژول ورودی هایی از داشبورد می گیرد و آن ها را در بخش front-end سایت نمایش می دهد .

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

  1. یک کنترلر به مسیر Admin ایجاد کنید : admin/controller/module/helloworld.php
  2. یک فایل Language به مسیر Admin ایجاد کنید : admin/language/english/module/helloworld.php
  3. یک نما به مسیر Admin ایجاد کنید : admin/view/template/module/helloworld.tpl

۱- فایل Language

همان طور که در بخش پیش توضیح دادیم ، فایل های زبانی محتوی متن ایستایی هستند که باید در فایل نمای ما نمایش داه شوند . در خصوص فایل زبانی helloworld.php متغیرهای زیر محتوی فیلدهای متنی احتمالی هستند که ما برای نمایش در ماژول خود به آن ها نیاز داریم :

۱- کنترلر

فایل کنترلر “Hello World ” را که به تازگی ایجاد کردیم باز کنید و کلاس

class ControllerModuleHelloworld extends Controller {} را به زیر Class Naming Convention اضافه کنید . سپس کد زیر را در کلاس بگذارید .

مرحله ۱ : تابع پیش فرض

مرحله ۲ : روش تایید

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

حال فایل را ذخیره کنید و کارتان با کنترلر Admin ماژول Hello World تمام شده است !

  1. فایل View

همان طور که پیشتر در کنترلر انجام دادیم ، باید برای view مقداری HTML ایجاد کنید . به همین منظور به روش زیر عمل می کنیم :

مرحله ۱ : ساخت مقداری کنترل های مقدماتی

یک form عنصری است که عنصرهایی مانند یک عنصر input متن ، یک textarea و دکمه هایی برای ذخیره یا لغو ورودی را در بر دارد .

برای ایجاد فرمی مانند این ، کد زیر را مرور کنید :

مرحله ۲ : افزودن یک فهرست Table

یک فهرست table در زیر form پدیدار می شود که می نوانیم ماژول و صفحه ای که ماژول در آن نمایش داده می شود را در آن قراردهیم .

مرحله ۳: افزودن مقداری JavaScript

همان طور که در مرحله پیش گفتیم ، یک دکمه ” Add Madule ” در اینجا وجود دارد . ما به طوری خاص

<a onclick=”addModule();” class=”button”><?php echo $button_add_module; ?></a> را داریم که در آن می توانیم ردیف ها را چندبرابر کنیم تا خروجی ماژ<ل را در لایه های مختلف و در موقعیت های مختلفی نمایش دهیم .

برای همین ، ما باید مقداری JavaScript بنویسیم که یک ردیف را به فهرست جدول اضافه خواهند کرد . این کار رابط کاربری را برای آن هایی که از ماژول ما استفاده می کنند بهبود می دهد :

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

آخرین چیزی که به آن نیاز داریم ، افزودن یک فوتر فرزند به انتهای view است .

در اینجا ، کار آماده سازی اولین ماژول Hello World خود را انجام داده ایم . حال زمان آن است بررسی کنیم که ماژول مان کار می کند یا خیر .

برای انجام این مار ، وارد داشبورد شده و به مسیر Extensions>Module page بروید که در آن جا فهرستی از ماژول های سیستم اپن کارت را می بینید . در آنجا می بینید که ” Hello World ” با یک وضعیت ” Uninstalled ” فهرست بندی شده است ، روی ” Install ” کلیک کنید و سعی کنید ماژول را ویرایش کنید ، و سپس تصویری مانند زیر را خواهید دید :

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

نتیجه گیری

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

در مقاله بعدی ، بر روی front-end کار می کنیم و می کوشیم آن را برای یک front-end فروشگاهی توسعه دهیم .

حسن موحد

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

ارسال نظر