Logo for Parsclick

معرفی پلاگین Backpic و زمان یادگیری پلاگین نویسی در جوملا

  شهریار توکلی شهریار توکلی
  September 5, 2016 at 7:32 AM
  ۱۵ شهریور، ۱۳۹۵ ساعت ۷:۳۲

Joomla

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


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

چطور پلاگین نویسی جوملا را از امروز یاد بگیرم؟


قبل از هرچیزی باید بگویم اگر شما آشنایی مناسب نسبت به زبان PHP که قبلا در وب سایت نیز منتشر شده است دارید ( آموزش کامل پی‌اچ‌پی ) خیلی راحت با پلاگین کامپوننی که امروز در مورد اون صحبت می کنم می توانید اولین پلاگین خود را بنویسید

پلاگین به صورت تجربی در جوملا چه کاربردی دارد ؟


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

خوب این صحبت ها چه ربطی به جوملا دارد ؟

شما فرض کنید می خواهید که در یک کامپوننت بزرگ جوملایی که مسئولیت فروش کالا های فیزیکی را دارد به هر محصول chart.js برای تراکنش های مالی یا افت قیمت مثل دیجی کالا گرافی مناسب قرار بدهید و خود گروه سازنده هم چنین امکانی را برای شما فراهم نکرده است . چند راه برای اضافه کردن این امکان برای شما وجود دارد ؟


۱. تغییر کامپوننت و اضافه کردن کد های مذکور 

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


۲. ساخت پلاگین و اتصال به کامپوننت مورد نظر 

این راه همان راه مورد علاقه جوملا و تمام برنامه نویسانش هست چرا ؟ چون شما دیگر به کد های اصلی دست نمی زنید بلکه هیچ تغییری در ان ایجاد نمی کند و همینطور افزونه مستقل خودتان را به صورت یک بسته نصبی درست می کنید و هرجا دوست داشتید ارائه می کنید. 


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

توجه :مطالعه مطلب ( وظیفه رویداد ها در جوملا ) در درک مطالب به شما کمک شایانی می کند.

قبل از توضیحات در مورد کامپوننت و پلاگین که در ادامه خدمت شما ارائه می کنم یک مثال دیگری نیز می زنم برای درک بهتر مطلب.

فرض کنید شما می خواهید برای یک وب سایت فروشگاهی که از یک اسکریپت متصل به جوملا ( کامپوننت ) استفاده می کند یک درگاه بانکی بزنید.

این کار بسیار راحت می باشد چون گروه سازنده برای شما event هایی رو آماده می کند و شما به واسطه API هایی که دارید به راحتی می توانید پلاگین بانکی خود را بدون دست بردن در افزونه بزنید برای درک بهتر به چند event در اینجا اشاره می کنم ( البته به زبان فارسی )

  1. رویداد در صفحه ( یعنی شما می توانید در صفحه هرچی می خواهید بگیرید و اضافه کنید )
  2. رویداد در فرم ( یعنی هرجا فرم هست شما می توانید یک فرم جدید اضافه کنید )
  3. رویداد بعد از view ( برای اضافه کردن کد های مربوطه بعد از اولین لود رویداد )
  4. رویداد بعد از save ( در اینجا می تونید به پلاگین فرمان بدهید بعد از ذخیره شدن فرمان هایی رو اجرا کنید )

اگر توجه کرده باشید شما به هر بخشی که نیاز دارید می توانید دسترسی داشته باشید که باز هم باید بگویم این موارد قسمت کوچکی از رویداد هاست و تعداد event ها به بیشتر از ۳۰۰ عدد ممکن هست بر اساس نظر کامپوننت نویس برسد

کامپوننت backpic اضافه کردن امکانات کاربردی به صفحه مطالب جوملا

من در اولین روز پلاگین نویسیم در جوملا برای یادگیری خودم خواستم امکاناتی که همیشه برای اون مجبورم بودم افزونه های زیادی رو نصب یا کد های زیادی بزنم را پیاده کنم ( که بعدا متوجه شدم تمام امکانات که می خواستم در ۳۰ دقیقه درست می شود و با چند خط کد به لطف پلاگین در جوملا ) , به همین منظور این افزونه رو شروع کردم . این افزونه در اولین نسخه خودش چنین تیتری گرفت ( کامپوننت و پلاگین تخصیص بک گراند به هر مطلب جوملا ) که کل کارش تغییر بک گراند هر صفحه جوملا بود که در خود جوملا چنین امکانی وجود ندارد ولی با کلاس های قدرتمند جوملا این کار در حد یک خط می باشد . 


خوب وقتی این افزونه رو منتشر کردم در برخی از انجمن های جوملایی فید بک های مختلفی گرفتم به همین منظور امکانات زیر رو نیز بهش اضافه کردم

  1. امکان مدیریت تصاویر از بخش گالری تصاویر جوملا
  2. امکان اضافه کردن بک گراند به body قالب
  3. امکان مدیریت عرض و ارتفاع بک گراند
  4. امکان نامحدود تخصیص به هر صفحه از مطالب جوملا

خوب بازم مثل اینکه این افزونه جا داشت تا به نسخه ای جدید تر با امکانات بیشتر برود به همین منظور نسخه  0.0.3 این افزونه رو منتشر کردم با امکانات زیر :

  1. پیاده سازی پلاگین برای کامپوننت K2
  2. پیاده سازی پلاگین برای کامپوننت ایزی بلاگ easyblog
  3. آماده سازی تنظیمات منو در نسخه بعدی این افزونه
  4. دادن دسترسی به کاربر برای پیاده سازی فرمت اندازه گیری تصویر پس زمینه
  5. بهینه سازی CSS های تصویر پس زمینه
  6. اضافه شدن بخش اختصاصی برای CSS های خاص یک پست
  7. انتخاب قالب خاص برای هر صفحه از مطالب جوملا
  8. بهینه سازی پلاگین برای قسمت ارسال محتوای جوملا
  9. پیاده سازی پلاگین برای کامپوننت هیکاشاپ hikashop
  10.  دو زبانه بودن افزونه ( انگلیسی - فارسی )

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

تمام این امکانات کوچیک هیچ وقت برای جوملا نوشته نشد چون ارزش مالی نداشت و کاربران می تونستن از کنارش رد بشند ولی با داشتن چنین چیز های ساده ای می توان محیط مناسب تر و پویا تری رو در وب سایت پیاده کرد .

مطالب کامل در مورد به روز رسانی  : به روز رسانی 0.0.3 کامپوننت backpic اتصال به ۴ افزونه معروف جوملا

دانلود ها :

دانلود کامپوننت :


https://github.com/shahryarjb/com_backpic/archive/0.0.3.zip

دانلود پلاگین اتصال به جوملا :

https://github.com/shahryarjb/plg_backpic/archive/0.0.2.zip

دانلود پلاگین اتصال به ایزی بلاگ :

https://github.com/shahryarjb/plg_easybackpic/archive/0.0.1.zip

دانلود پلاگین اتصال به k2:

https://github.com/shahryarjb/plg_k2backpic/archive/0.0.1.zip

دانلود پلاگین اتصال به hikashop :

https://github.com/shahryarjb/plg_hikabackpic/archive/0.0.1.zip

چرا باید از پلاگین backpic برای یادگیری پلاگین نویسی جوملا استفاده کنیم :

به این دلیل که پلاگین مذکور در خود آموزش ها درست شده است و به به سادگی هرچه تمام تر و با کد های ساده if و else و برخی از کلاس های جامع جوملا درست شده است و کل کارش با صفحه کامپوننت اصلی جوملا می باشد و بعد از درست کردن امکانات برای این کامپوننت به چهار افزونه پرطرفدار جوملایی با تغییر یک خط متصل شده است و همینطور بهینه . به همین ترتیب شما علاوه بر اینکه می توانید پلاگین نویسی جوملا را شروع کنید می توانید با محیط های متفاوت هر کامپوننت در کدنویسی نیز آشنا شوید و اطلاعاتی که نیاز دارید را استخراج کنید.

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

نحوه آماده سازی برای پروژه جدید

را مشاهده کنید با دانلود سمپل پلاگین هایی که بالا لینک دادیم بعد از چند دقیقه شما این امکان را دارید که اولین پلاگین خود را برای جوملا درست کنید و از اون لذت ببرید اگر سوالی دارید می تونید در انجمن آموزش پلاگین نویسی بپرسید تا اونجایی که سوادم می کشه در خدمت شما هستم

موفق باشید