مقایسه کامپوننت، ماژول و پلاگین در جوملا
افراد زیادی عقیده دارن کارکردن با سیستم مدیریت محتوا جوملا سخته اما اگر با افزونهها و کارکردشون آشنا باشیم خیلی سادهتر میتونیم از این cms استفاده کنیم.
سیستم مدیریت محتوا جوملا از پنج افزونه تشکیل میشه:
کامپوننت _ ماژول _ پلاگین _ قالب _ زبان _ پکیج
سوالی که برای خیلیها ایجاد میشه تفاوت بین سه افزونه کامپوننت، ماژول و پلاگین است. که در این مطلب این سه افزونه رو بررسی خواهیم کرد.
کامپوننت
به معنای اجزا یا ترکیبدهنده درنظر گرفته میشه. قابل دیدنه (با چشم انسان دیده میشه). کامپوننتها در جوملا افزونههایی هستن که همانند نرمافزارهای مجزا به شمار میرن. هر کامپوننت میتونه خدماتی خاص و متفاوت با سایر کامپوننتها و هستهی جوملا ارائه کنه.
هر صفحه از ظاهر سایت توسط یک کامپوننت به عنوان هستهی مرکزی صفحه ایجاد میشه.
کامپوننتها ابزارهایی هستن که فعالیتهای اصلی یک وبسایت رو انجام میدن. در کنار زیباسازی وبسایت که یکی از اصلیترین وظایفشونه میتونن با قسمتهای مختلف کدنویسی شده ارتباط داشته باشن و وظایفی مانند گالری عکس، خبرنامه و... رو انجام بدن.
کامپوننتها جزء اصلی ترین ابزارهای یک برنامه نویس هستن و میتونن لایههایی رو به وجود بیارن که ابزارهای مختلف در اون به ایفای نقش بپردازن.
مکان
کامپوننت در قسمت اصلی وبسایت قرار میگیره. در هرصفحه تنها یک کامپوننت میتونیم load کنیم. هر صفحه از ظاهر سایت در جوملا توسط یک کامپوننت به عنوان هستهی مرکزی صفحه ایجاد میشه.
هسته جوملا
هستهی جوملا از کامپوننت ایجاد شده و چندین کامپوننت از پیش نصب شده داره.
عملگرهای اصلی جوملا
اغلب بخشی برای نمایش در ظاهر سایت و بخشی برای مدیریت در پشت صحنه دارن.
داده ورودی کاربر
کامپوننت تقریبا هر نوع داده ورودی کاربر رو قبول میکنه. از انواع دادههای ورودی کاربر میتوانیم به ثبت یک مقاله، تصویر، Comment، توضیحات و یا مواردی از این قبیل اشاره کنیم.
نام
فایلهایی که برای کامپوننت استفاده میشه پسوند _com داره.
نصب کامپوننت جدید
کامپوننتها در اصل یک برنامه هستن. اونها یک توانایی جدید به قسمت مدیریت اضافه میکنن. پس وقتی شما میخواین مثلا یک خبرنامه به سایت اضافه کنین هم کامپوننت و هم ماژول اون رو نصب میکنین.
تمامی کامپوننتها برای نصب شدن روی جوملا احتیاج به فایل XML دارن. جوملا پس از نصب، تعدادی کامپوننت از پیش نصب شده و نیز امکان نصب بینهایت کامپوننت رو داره. اما باید این رو در نظر داشت که افزودن تعداد زیادی کامپوننت مساویه با اضافه کردن تعداد زیادی برنامه به هسته جوملا و در نهایت سنگین شدن هسته جوملا و به تبع آن کند شدن سرعت لود سایت و مدیریت.
نمایش کامپوننت
خروجی بیشتر کامپوننتها بر روی وبسایت و در بخش مرکزی نمایش داده میشه و برای بازدیدکنندگان قابل مشاهده است. برخی از کامپوننتها نیز برای نمایش احتیاج به ماژول و پلاگین دارن. تا بخشی از اطلاعات خروجی اونها در موقعیت ماژولها نمایش داده بشه.
اما برخی دیگر از کامپوننتها برای بخش مدیریت طراحی میشن و امکانی رو به بخش مدیریت اضافه میکنن. مانند انواع کامپوننتهای Xplorer که محتویات و فایلهای هاست رو به نمایش میگذارن.
انواع کامپوننتها
• Content برای مدیریت محتوا
• فرم ساز ها
• مدیریت کننده فایل ها
• مدیریت کننده دانلود ها
• مدیریت خبرنامه ها
• مدیریت تبلیغات
• فتوگالری
• مدیریت محتوایK2 جایگزینی قدرتمند برای مدیریت محتوای پیشفرض جوملا
ماژول
ماژول در زبان فارسی به معنای پنجره است. در جوملا به عنوان کامل کننده یا متمم برای محتوایی که در Component ها وجود داره مورد استفاده قرار میگیره. ماژولها بخشهای مشخصی از اطلاعات رو روی سایت شما نمایش میدن. با ماژول میشه یک کارکرد جدید رو به یک برنامه ی کاربردی (application) که بخشی از سایت شماست، اضافه کرد.
ماژولها ابزارهای کوچکی هستن که میتونن در کنار کامپوننت اصلی هر صفحه، ساختار و بخشهای جانبی رو شکل بدن.
میتونن به صورت مستقیم با کامپوننت در ارتباط باشن. برای مثال ممکنه ماژول آخرین محتواهای ایجاد شده در کامپوننت Content رو جستجو کرده و نمایش میده.
طبیعتاً سایت شما تعدادی ماژول روی هر صفحهی وب خودش داره. ماژول فقط اطلاعات رو ارائه میده یا یک کارکرد به برنامهی موجود اضافه میکنه. مثلاً خبرنامه (newsletter) یک کامپوننته. شما میتونید از یک سایت فقط به عنوان یک خبرنامه استفاده کنید. کامپوننت خبرنامه احتمالاً صفحهی اشتراک هم داره، اما ممکنه شما بخواین ماژول اشتراک رو در کنار همهی صفحههای وبسایتتون در موقعیت دلخواه اضافه کنین. روشنه که یک سایت تنها با یک ماژول اشتراک و هیچ کامپوننت خبرنامهای کاملاً بی معنیه.
در CMSهای رایگان مانند جوملا (به دلیل Open source بودن آنها) میتوان ماژولهای مختلف رو در اینترنت یافت و با کمی ویرایش، اونهارو سفارشی کرد.
ماژولهای جوملا نیز همانند کامپوننتها میتوانند شامل تنظیمات خاص در بخش مدیریت باشند که عملکرد و ظاهر نمایش ماژول رو تحت کنترل مدیر سایت قرار دهند.
مکان
برخی اوقات ما Moduleهایی داریم که ممکنه برای اعمال تغییرات بر روی محتوای وبسایت نوشته شده باشن(کاربر نمیبینه)، این ماژولها نیازی به تعیین محل قرارگیری در صفحه یا تعیین Page Position ندارن اما سایر ماژولهایی که به چشم کاربر دیده میشن حتما باید دارای محل قرار گیری یا Page Position در صفحه باشن.
معمولا در قسمت Header یا Footer یا منوها و Sidebar یک وبسایت مورد استفاده قرار میگیرن.
فایلهای ماژول
ماژولها در جوملا از یک فایل php و یک فایل xml تشکیل شده. فایل php هسته ماژول و فایل xml مربوط به مشخصات و تنظیمات ماژول است.
مثلا mod_latestnews.xml، mod_latestnews.php
نام
نام Module ها با پسوند __mod نمایش داده میشه.
ایجاد ماژول جدید
برای ایجاد ماژول جدید، به مدیریت ماژولها رفته و بر روی آیکن "جدید" کلیک کرده تا یک ماژول جدید ایجاد بشه. طبیعتاً در اینگونه ماژولها باید مطالب رو مدیریت بصورت دستی (استاتیک) در ویرایشگر ماژول وارد کنین.
برای نوشتنش شما باید بر زبان هایی مثل php و css و jquery و sql مسلط باشید البته فقط همینا نیست.
داده ورودی کاربر
در Module شما معمولا داده ورودی از کاربر دریافت نمی کنین، برای مثال یک Module که برای نمایش آنلاین بودن کاربر استفاده میشه هیچ اطلاعاتی رو به غیر از وضعیت کاربر دریافت نمیکنه.
انواع ماژولها
• آخرین مقاله (latest article)
• ورود به سایت (login)
• منو
• نمایش مطالب
• نمایش عکس
• محصول برای فروش
• دانلود
• اخبار
• نظرخواهی
پلاگین
در جوملا قبلاً به اونها مامبوت گفته میشد، اما از جوملا 1.5.x به بعد پلاگین میگن. پلاگین، کارکردیه که قبل از این که یک جزء جوملا نشون داده بشه بر روی اون انجام میشه. این بخش میتونه در محتوا، ادیتور، کل سیستم یا... باشه.
در دانش برنامه نویسی، پلاگین ابزار کوچکیه که به کمک برنامههای بزرگتر میاد. این ابزارها قابلیتهای جدیدی رو به برنامههای بزرگتر میدن. یکی از دلایلی که پلاگین به صورت جداگانه نصب میشه اینه که برنامههای کاربردی حجم کمتری داشته باشن و بتونن امکانات بیشتری رو به مرور به این برنامهها اضافه کنن.
پلاگینها از نظر لایه برنامهنویسی در پایینترین سطح قرار دارن و وظیفه انتقال خروجی برای کلاینت به مرورگرها رو برعهده دارن. مثال بارزی که برای پلاگینها میتونیم بگیم ویرایشگرهای مختلف در محیط ادمینی وبسایت است.
پلاگینهای جوملا به صورت مستقیم اثری در ظاهر یا بخش مدیریت سایت ندارن.
برخی از کامپوننتها و ماژولها برای کارکرد و خروجی بهتر به همراه خود پلاگینی ارائه میدن که باید اونها نیز نصب و فعال بشه تا این افزونهها خروجی قابل قبولتری داشته باشن.
مکان
برخی از پلاگینها دارای نمود ظاهری هستن و برخی دیگر تنها بعضی پارامترها رو کنترل میکنن اما بیشترشون در قسمت مطالب کاربرد دارن.
فایلها
پلاگینها از فایلهای PHP و XML تشکیل شده. برنامه نویسی مورد نیاز پلاگین در فایلهای PHP انجام میشه که هسته اصلی پلاگین رو تشکیل میدن و در فایل XML خصوصیات و تنظیمات مربوطه قرار دارد. تمامی پلاگینها برای نصب شدن بر روی جوملا احتیاج به فایل XML دارند.
نصب پلاگین
جوملا پس از نصب تعدادی پلاگین همراه خود داره و میتونیم بینهایت پلاگین رو به شرط عدم تداخل نصب کنیم. اما باید این رو در نظر داشت که افزودن تعداد زیاد پلاگین مساویه با اضافه کردن تعداد زیادی برنامه به هسته جوملا و در نهایت سنگین شدن هسته جوملا و به تبع آن کند شدن سرعت لود سایت و مدیریت.
نمایش پلاگین
بر خلاف ماژولها که باید در موقعیت خاصی نمایش داده بشن و بر خلاف کامپوننتها که باید برای نمایش آنها منو ایجاد کرد، پلاگینها احتیاج به هیچ روشی برای نمایش ندارن. حتی کارکرد بعضی از پلاگینها به شکلیه که خروجی قابل لمسی به کاربر نمایش نمیده. زیرا کارکرد پلاگینها به نحویه که در روش لود صفحات، مطالب و افزونهها تأثیر خودشون و میگذارن.
کارکرد بعضی از پلاگینها بر روی صفحات سایت و بعضی دیگر بر روی بخش مدیریت است. برای مثال با فعال کردن پلاگین pagenavigation امکان صفحهبندی صفحات سایت و با فعال کردن پلاگین TinyMCE استفاده از یک ادیتور پیشرفته در بخش مدیریت سایت مهیا میشود.
انواع پلاگینها
• نظرسنجی مطالب
• به اشتراک گذاری
• ویرایشگر ها
• جستجوگرها
• عیب یاب ها
• صفحه بندی
• دکمه های ادامه مطلب
• قراردادن تصویر در محتوا