رفتن به مطلب

آموزش طراحی ماژول پرستا شاپ


پست های پیشنهاد شده

در حال گشت و گذار در اینترنت بودم که به مقاله ی جالبی بر خوردم که در اون آموزش ساخت یک ماژول ساده رو برای پرستا شاپ داده بود و من به خاطر سادگی و گیرایی این مقاله اون رو در این جا قرار میدم تا همه ی دوستان بتونن استفاده کنن.

 

این مقاله رو کمی خلاصه میکنم:

 

ساختن ماژول برای پرستا شاپ بسیار مقوله ی ساده ایست و فقط کافی است بدانید ماژول های پرستا شاپ چگونه کار می کنند.

تمام ماژول ها توسط یک Hook سر جای خود قرار میگیرند. Hook در واقع محل قرار گرفتن ماژول ها را مشخص میکند. پرستا شاپ در حالت پیشفرض شامل چند Hook است مانند: rightColumn، leftColumn، payment, paymentReturn، updateOrderStatus، top، footer، productActions، cart، customerAccount، header، productTab، productTabContent، home و بسیاری Hook های دیگر.

 

روش ساختن یک Hook جدید را در آموزش های بعدی خواهم داد (برای مشاهده ی آموزش به زبان انگلیسی میتوانید از این لینک استفاده کنید: http://www.prestashop.com/forums/viewthread/12637/)

 

در اینجا قصد داریم تا ماژوی به نام fas*hio*n طراحی کنیم تا با نحوه ی عملکرد ماژول ها بیشتر آشنا شوید. این ماژول یک عکس را نمایش خواهد داد.

 

طراحی بخش صفحه ی اصلی:

 

1. یک پوشه به نام fashion درون modules ایجاد کنید.

2. یک فایل با نام fashion.tpl برای نمایش عکس در صفحه اصلی ایجاد کنید.

3. کد های زیر را درون فایل fashion.tpl قرار دهیذ:

 

	 Fashion	 	 اولین ماژول پرستا شاپ من	 	{$module_dir}fashion.jpg		  

 

کد {$module_dir} متغیر پرستا شاپ است که مکان فعلی ماژول را بر میگرداند.

 

طراحی بخش صفحه ی اصلی به پایان رسید.

 

بخش مدیریت:

 

1. یک فایل با نام fashion.php ایجاد کنید.

2. این کدها را درون آن قرار دهید. (توضیحات ربعد از کدها قرار خواهیم داد)

 

name = 'fashion';		 $this->tab = 'Blocks';		 $this->version = 1.0;		  parent::__construct(); // The parent construct is required for translations		  $this->page = basename(__FILE__, '.php');		 $this->displayName = $this->l('Block Fashion');		 $this->description = $this->l('Add a fashion block');	 }	  function install()	 {		 if (!parent::install())			 return false;		 if (!$this->registerHook('leftColumn'))			 return false;		 return true;	 }	  /**	 * Returns module content	 *	 * @param array $params Parameters	 * @return string Content	 */	 function hookLeftColumn($params)	 {		 return $this->display(__FILE__, 'fashion.tpl');	 }  } ?>

 

توضیحات:

 

کد __construct() به صورت اتوماتیک هنگامی که یک class خوانده میشوددرخواست میدهد. من توضیحات خود را جلوی هر خط اضافه کرده ام.

 

function __construct()	 {		 $this->name = 'fashion'; // this is your module id/name		 $this->tab = 'Blocks'; // tab is actually a hook holder		 $this->version = 1.0; // and here is your program version		  parent::__construct(); // The parent construct is required for translations		 $this->page = basename(__FILE__, '.php');//please note your folder name and module name should match.		 $this->displayName = $this->l('Block Fashion'); // display module name in admin panel modules list		 $this->description = $this->l('Add a fashion block'); // and this is your modules description	 } 

 

تابع install() توسط فریم ورک پرستا شاپ بازخوانی میشود. این تابع بررسی میکند که آیا این ماژول نصب شده است یا خیر. شما میتوانید نام Hook را در اینجا تنظیم کنید. توجه کنید که شما باید جایگاه های Hook را به ترتیب مشخص کنید و همچنین قادر خواهید بود تا چند Hook را به صورت همزمان استفاده کنید!

 

function install()	 {		 if (!parent::install())			 return false;		 if (!$this->registerHook('leftColumn'))			 return false;		 return true;	 } 

 

و اما به مرحله ی آخر رسیدیم. کار ما با مشخص کردن registerHook('leftColumn') به پایان رسیده بنا بر این ما تابع زیر را اضافه میکنیم:

 

function hookLeftColumn($params)	 {		 return $this->display(__FILE__, 'fashion.tpl'); // this is your .tpl file. You can add css/javascript links in your tpl file.	 } 

 

کار تمام است. اگر سوالی دارید میتوانید در همینجا مطرح کنید.

 

منبع: http://www.marghoobsuleman.com/blog/how-to-create-prestashop-modules

 

 

موفق باشید

مهرشاد ذاکریان

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

خب عملکردی که ماژول انجام میده کجا تعریف شده ؟

 

من بخام یه ماژول طراحی کنم برای اینکه بعضی از عکسهای محصولات برای گروه خاصی از کاربران تعریف بشه باید چه کنم ؟

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

اون مقوله خیلی پیچیده تر از این میشه و این یه ماژول خیلی سادست. باید ببینید هر گروه با چه آی دی تعریف شدن و آی دی های مورد نظر خودتون رو به ماژول بدید و همونطور که گفتم این آموزش فقط جهت آشنایی با طرز کار ماژول ها بود

 

موفق باشید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

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

 

موفق باشید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 1 year later...

سلام

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

این قسمت اولشه

اگه به دردتون میخوره همینجا درخواست بدید تا کم کم بقیه قسمتها رو هم اضافه کنم.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 3 months later...

سلام

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

این قسمت اولشه

اگه به دردتون میخوره همینجا درخواست بدید تا کم کم بقیه قسمتها رو هم اضافه کنم.

 

رامتین جان حتماً ادامه بده . 100% مفید است.
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

این آموزش یه مقداری قدیمی شده و بعضی چیزاش تغییر کرده

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

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

اما به دلیل همزمان شدن با ارائه نسخه 1.5 فکر میکنم هنوز فرصت این کار رو پیدا نکردند.

به هر حال هر وقت که این قسمت برای 1.5 هم تکمیل و آماده بشه، حتما برای دوستان ترجمه اش میکنم و قرار میدم.

 

و اما برای ایجاد تنظیمات باید از

public function getContent()

 

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

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 5 months later...
  • 1 month later...

این ماژول فقط جنبه نمایشی داشت و کد html - یک ماژول توضیح بدین که بشه برای ادمین تنظیماتی لحاظ کرد و توی سایت هم کارهائی انجام بده

مثل همینکه برخی محصولاتو فقط برخی یوزرها ببین

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

سلام

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

باید با تمرین و تجزیه و تحلیل پرستاشاپ بتونید این گونه ماژول ها رو بنویسید

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

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

موفق باشید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 3 years later...

سلام

هر چقدر جستجو کردم نتونستم آموزش این موارد رو پیدا کنم و هنوز نمیدونم باید چیکار کنم

 

یک صفحه میخوام بسازم مثلا با این آدرس

www.mysite.com/payment

یک فایل php دارم که فرم و فیلدها رو داره برای یک صفحه ی پرداخت

چطوری یک صفحه اضافه میشود رو نمیدونم باید از کجا شروع کنم. از قسمت مدیریت محتوا نمیخوام .چون آدرس صفحه اینطور که میخوام نمیشه. وهمچنین اونجا نمیتونم کد آماده ای مثل php  html  java  استفاده کنم

 

مثلا صفحه ی    ارتباط با ما   که بصورت پیشفرض روی دمو پرستاشاپ هست آدرس خاصی داره .و فرم داخلش هست. یه همچین چیزی میخوام ولی با فایل php که دارم.

 

میدونم باید ماژول نوشته بشه برای این کار ولی کدها رو نمیدونم

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 3 months later...

سلام به همه ی عزیزان.

واقعا هیچ آموزش فارسی برای ماژول نویسی پرستاشاپ نیست؟ هیچ کسی جایی چیزی رو سراغ نداره؟ آخه بشخصه الان خیلللیییییی بهش نیاز دارم. پولش هر چقدر باشه مهم نیست فقط یه چیزی باشه کامل ماژول نویسی و تم نویسی پرستاشاپ رو توضیح داده باشه

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

این در اصل یک ماژول نیست !

 hook یا جا نگهدار هستش! شما میتونید داخلش هرچی خوواستین نمایش بدین

 

جناب arnaak شما نمیدونید منبع فارسی برای آموزش ماژول نویسی یا تم نویس برای پرستا کجاست؟ من باید یادش بگیرم اما انگلیسیم خوب نیست. چون عجله دارم دنبال یه آموزش خوب میگردم در این زمینه کارم خیلی لنگه آخه

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

جناب arnaak شما نمیدونید منبع فارسی برای آموزش ماژول نویسی یا تم نویس برای پرستا کجاست؟ من باید یادش بگیرم اما انگلیسیم خوب نیست. چون عجله دارم دنبال یه آموزش خوب میگردم در این زمینه کارم خیلی لنگه آخه

باید براتون سرچ کنم

یه سری توابع و کلاس

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

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

باید براتون سرچ کنم

یه سری توابع و کلاس

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

 

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

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

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

من که هنوز که هنوزه دارم دنبال آموزش ماژول و تم نویسی پرستا میگردم ولی هیچی پیدا نکردم.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

حتی در خود انجمن پرستاشاپ فرانسه هم آموزش جامع ماژول نویسی و طراحی قالب وجود نداره

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

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • 3 months later...

سلام

ببخشید من یه سوال داشتم

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

برای اینکه نصب کنم باید چی کارکنم؟

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

ممنون میشم راهنمایی کنید

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

سلام

پوشه ماژول را زیپ کنید و بعد آپلود کنید.

 

ممنون

اما نميشه

من اون ماژولي كه از سايت قبليم برداشتم فايل اينستال نداره

من اون كاري كه شما گفتيد رو انجام دادم و وقتي ميخوام نصب كنم ميگه فايل اينستالي پيدا نشد

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

در حال بارگذاری


  • کاربران آنلاین در این صفحه

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • اضافه کردن...