• تاریخ : دوشنبه 08ام آبان 1396
  • به قلم : seyyed
  • تعداد دفعات نمایش این مطلب : 218 نمایش
  • نظرات این مطلب : 0

آموزش برنامه نویسی اپن کارت فارسی - قسمت اول


چگونه می توان در اپن کارت صفحه ای دلخواه ایجاد کرد؟!
این سوالی است که شاید برای خیلی از کاربران پیش آمده باشد و شما را به خواندن مطالب مختلف برنامه نویسی اپن کارت ترقیب کرده است....
اکنون آموزشی رایگان برای اولین بار در اپن کارت فارسی برای آشنایی با معماری mvc و ایجاد یک امکان جدید برای شما عزیزان فرآهم آمده است. دانش اولیه php و همچنین html برای نوشتن یک امکان جدید در اپن کارت، یکی از مهمترین اصول اولیه می باشد ولی، اگر خیلی هم بر روی این مباحث تسلط کافی ندارید، نگران نباشید، مطالب ما را با دقت تا انتها بخوانید و به توضیحات هر بخش به صورت خط به خط دقت نمایید تا با این آموزش بهترین ارتباط ممکن را برقرار نمایید. تنها چیزی که در این آموزش نیاز دارید یک notepad++ است.

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

- فایل های ضروری:
1- فایل کنترلر (Controller) : این فایل رابطی بین نمایش به کاربر و عملیات ارتباط و استفاده از اطلاعات هسته و بانک اطلاعاتی را برعهده دارد
2- فایل قالب (Template) : این بخش صرفا جنبه نمایشی دارد

- فایل های غیر ضروری ولی مورد نیاز در صورت گسترش امکانات :
1- فایل مدل (model) : این بخش ارتباط با کنترلر را برقرار می کند و به بانک اطلاعاتی جهت مدیریت اطلاعات بانک اطلاعاتی متصل می گردد و نهایتا بر روی اطلاعات نمایشی هم اثر می گذارد.
2- فایل زبان (language) : در صورتی که در برنامه نویسی اپن کارت، متغیر های زبان تعریف گردد، مطابق با زبان پیشفرض سیستم، از پوشه زبان مربوطه در معماری mvc استفاده می شود.

 


 

فایل کنترلر (Controller File):
برای شروع کار نیاز است تا یک فایل کنترلر در پوشه کنترلر اپن کارت خود ایجاد کنید. این فایل با پسوند پی اچ پی ایجاد می گردد. برای این آموزش ما قصد داریم تا فایلی با نام static.php)) را ایجاد نماییم و در پوشه (information) قرار دهیم ( یعنی مسیر فایل به صورت (catalog/controller/information//) خواهد بود.) و نام کلاس کنترلر (controller class name) به صورت ControllerInformationStatic می شود.

 


class ControllerInformationStatic extends Controller {
public function index() {
$this->language->load("information/static"); //Optional. This calls for your language file

$this->document->setTitle($this->language->get("heading_title")); //Optional. Set the title of your web page.

$this->data["breadcrumbs"] = array();
$this->data["breadcrumbs"][] = array(
"text" => $this->language->get("text_home"),
"href" => $this->url->link("common/home"),
"separator" => false
);
$this->data["breadcrumbs"][] = array(
"text" => $this->language->get("heading_title"),
"href" => $this->url->link("information/static"),
"separator" => $this->language->get("text_separator")
);

// Text from language file
$this->data["heading_title"] = $this->language->get("heading_title"); //Get "heading title"
$this->data["text_content"] = $this->language->get("text_content");

// We call this Fallback system
if (file_exists(DIR_TEMPLATE . $this->config->get("config_template") . "/template/information/static.tpl")) { //if file exists in your current template folder
$this->template = $this->config->get("config_template") . "/template/information/static.tpl"; //get it
} else {
$this->template = "default/template/information/static.tpl"; //or get the file from the default folder
}

//Required. The children files for the page.
$this->children = array(
"common/column_left",
"common/column_right",
"common/content_top",
"common/content_bottom",
"common/footer",
"common/header"
);

$this->response->setOutput($this->render());
}
}
?>

و اما اکنون قصد داریم کدهایی که در بالا ذکر کردیم را به صورت مختصر شرح دهیم. در یک فریمورک mvc فایل کنترلر فراخوانی شده است. این فایل عینا شبیه مغز متفکر این صفحه عمل می کند. این فایل عملیات پردازش و مواردی که از آن خواسته اید تا در برنامه نویسی انجام شود را عینا در اختیار قرار می دهد. همچنین کد زیر:

“$this->template = $this->config->get(‘config_template’) . ‘/template/information/static.tpl’;” 

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

$this->language->load("information/static");

منظور از بخش breadcrumbs استفاده از لینک هایی است که در بالای صفحات اپن کارت به صورت زیر مجموعه ایجاد می گردد و برای شناسایی لینک جدید ما از این بخش به صورت زیر استفاده کردیم:

$this->data["breadcrumbs"] = array();

$this->data["breadcrumbs"][] = array(

"text" => $this->language->get("text_home"),

"href" => $this->url->link("common/home"),

"separator" => false

);

$this->data["breadcrumbs"][] = array(

"text" => $this->language->get("heading_title"),

"href" => $this->url->link("information/static"),

"separator" => $this->language->get("text_separator")

);

بخش بعدی تعریف متغیر های زبان است که باید در کنترلر فراخوانی شود تا بتوان در قالب از متغیرها به جای متن مستقیم استفاده نمود. برای این کار کد زیر استفاده شده است:

$this->data["heading_title"] = $this->language->get("heading_title"); //Get "heading title"

$this->data["text_content"] = $this->language->get("text_content");

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

if (file_exists(DIR_TEMPLATE . $this->config->get("config_template") . "/template/information/static.tpl")) { //if file exists in your current template folder

 

$this->template = $this->config->get("config_template") . "/template/information/static.tpl"; //get it

} else {

$this->template = "default/template/information/static.tpl"; //or get the file from the default folder

 

}

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

 

$this->children = array(

 

"common/column_left",

"common/column_right",

"common/content_top",

"common/content_bottom",

"common/footer",

"common/header"

 

);

  قسمت آخر کد ها نیز دستور زیر است:

$this->response->setOutput($this->render());

این دستور ( $this->response->setOutput) وظیفه صدور اطلاعات را به مرورگر دارد که یا Json یا Html خواهد بود . دستور ($this->render) نیز در حقیقت اطلاعات html قالب (Template/data) را فراخوانی می کند.

 فایل قالب (Template File):
یکی دیگر از بخش های مهم و مورد نیاز در اپن کارت فایل قالب است. اکنون قصد داریم فایل قالبی با نام ‘static.tpl’ ایجاد کنیم. در ادامه به شرح بخش های مختلف این فایل قالب می پردازیم. محلی که این فایل باید قرار بگیرد، مطابق آنچه در کنترلر شرح داده شد در مسیر (/catalog/view/theme/default/template/information/) خواهد بود.

 













چیزی که در کدهای بالا اتفاق می افتد، نمایش چیدمان بخش های مختلف سایت در مرورگر است که به شرح زیر است:
در مرحله اول هدر سایت به نمایش در می آید ($header)، سپس ستون چپ ($column_left)، مرحله بعدی ستون راست ($column_right) انتشار یافته است (اصطلاحا اکو (echo) شده است) در مرحله بعدی موقعیت محتوای بالا منتشر شده و پس از آن ناحیه (div) مربوط به لینک های دسترسی سریع به صورت زیر مجموعه ای ایجاد شده است )

برای ارسال نظر شما باید وارد حساب خود شوید.