آشنایی با ماژول ها در جوملا
ماژول ها توسعه هایی سبک و قابل انعطاف هستند که برای ارائه کردن محتوای صفحه استفاده می شوند. این ماژول ها اغلب اوقات جعبه هایی هستند که در یک صفحه در اطراف یک کامپوننت قرار می گیرند. به عنوان مثال می توانیم به ماژول لاگین اشاره کنیم. ماژول ها در جوملا به یک آیتم منو اختصاص داده می شوند، بنابراین می توانیم تعیین کنیم بر اساس اینکه کاربر در چه صفحه ای قرار دارد یک ماژول نمایش داده شود یا پنهان شود؛ بعضی از ماژول ها به یک کامپوننت متصل شده اند: به عنوان مثال ماژول آخرین اخبار، به کامپوننت محتوا مرتبط شده است (com_content) و لینک هایی به جدید ترین محتواهای ایجاد شده را نمایش می دهد. البته حتما هم لازم نیست که یک ماژول به چیزی لینک شود و می تواند فقط یک محتوای ایستای اچ تی ام ال یا متن باشد.
با استفاده از مدیر ماژول (Module Manager) می توانیم در قسمت مدیریت، ماژول ها را مدیریت کنیم (در جوملای فارسی: منوی افزونه ها/ ماژول ها). در این قسمت فهرستی از ماژول های موجود برای شما نمایش داده می شود که می توانید آن ها را مدیریت کنید. آموزش های مربوط به مدیریت ماژول ها در آینده در وب سایت قرار داده خواهد شد.
کمی اطلاعات بیشتر در مورد ماژول ها
محل های مربوط به ماژول ها (Module Positions)
منظور از محل ماژول، یک نگهدارنده محل (placeholder) است که قسمت خاصی را در داخل الگو مشخص می کند. نگهدارنده محل، یک یا تعدادی محل را در داخل الگو مشخص می کند که محتوای ماژول در داخل آن نمایش داده می شود. در واقع این نگهدارنده محل به برنامه کاربردی جوملا می گوید که محتوای ارائه شده توسط ماژول را در قسمت خاصی از الگوی وب سایت نمایش دهد. اگر به عنوان یک طراح الگو فعالیت کنید، می توانید کنترل کاملی بر روی این نگهدارنده های محل داشته باشید و آنها را هرگونه که تمایل دارید مدیریت کنید.
به عنوان مثال یک نگهدارنده محل با نام Left وجود ارد که می توانیم آن را به نوعی تعریف کنیم که در قسمت سمت چپ الگو قرار بگیرد تا یک منو در آن نمایش داده شود. بنابراین اگر یک ماژول را به نگهدارنده محل Left نسبت دهیم، این ماژول در محلی نمایش داده می شود که طراح الگو، نگهدارنده محل مربوط به آن را در آن قسمت قرار داده باشد – مسلما این محل الزاما سمت چپ نخواهد بود.
این نکته را در نظر داشته باشید که بسته به نوع الگویی که نصب کرده اید، آن الگو نگهدارنده های محل مختلفی را در اختیار شما قرار می دهد، که این نگهدارنده های محل از طریق منوی پایین افتادنی «موقعیت نمایش ماژول» برای هر الگو، در دسترس قرار دارند.
اگر بخواهیم کمی فنی تر به موضوع نگاه کنیم، می توانیم با استفاده از فایل templateDetails.xml مربوط به هر الگو، بفهمیم که چه مکان هایی و با چه نامی، برای آن الگوی خاص طراحی شده است؛ همانطور که از نام این فایل پیداست، این یک فایل xml است. در داخل این فایل اطلاعات کلی مربوط به الگو قرار داده شده که بیشترین کاربرد آن در هنگام نصب الگو است. در داخل این فایل تگی با نام <position> قرار دارد که محل های نگهداری مربوط به آن الگو را معرفی می کند.
من بر روی سیستم خودم نسخه 3.7 جوملا را نصب کرده ام و الگوی Beez3 به عنوان الگوی پیش فرض سایت تعریف شده است. محتوای تگ <position> برای این الگو به شکل زیر است:
<positions> <position>debug</position> <position>position-0</position> <position>position-1</position> <position>position-2</position> <position>position-3</position> <position>position-4</position> <position>position-5</position> <position>position-6</position> <position>position-7</position> <position>position-8</position> <position>position-9</position> <position>position-10</position> <position>position-11</position> <position>position-12</position> <position>position-13</position> <position>position-14</position> </positions>همانطور که در بالا می بینید، این الگو دارای 15 placeholder با نام های مختلف است که در داخل صفحات الگو از آنها استفاده شده. فعلا با جزئیات فنی دیگر مربوط به این قسمت کاری نداریم.
ماژول های پیش فرض در جوملا
در جوملا ماژول های زیادی وجود دارند. در اینجا ماژول های استانداردی که در یک نسخه جدید نصب شده از جوملا وجود دارند را معرفی می کنم:
- ماژول Archived Articles این ماژول فهرستی از ماه های تقویم که شامل مقاله های آرشیوی هستند را نمایش می دهد.
- ماژول Articles - Newsflash این ماژول تعداد مشخصی از مقالات را از یک گروه موضوعی مشخص نمایش می دهد.
- ماژول Articles – Related Articles این ماژول، سایر مقالاتی را که از لحاظ موضوعی با مقاله ای که در حال خواندن آن هستید در ارتباط است، نمایش می دهد.
- ماژول Articles Categories این ماژول گروه های موضوعی مربوط به یک گروه موضوعی مادر را نمایش می دهد.
- ماژول Article Category این ماژول، فهرستی از مقالات را از یک یا چند گروه موضوعی نمایش می دهد.
- ماژول Breadcrumbs این ماژول برای این استفاده می شود که محل فعلی شما را در صفحه ای که هستید نمایش دهد.
- ماژول Custom این ماژول به شما امکان می دهد با استفاده از یک ویرایشگر WYSIWYG ماژول شخصی خود را به صورت یک ماژول اچ تی ام ال ایجاد کنید (یعنی یک متن ساده اچ تی ام ال ایجاد کنید).
- ماژول Feed Display این ماژول این امکان را به شما می دهد که خوراک های مربوط به محتوا را نمایش دهید (مثل فایل های rss).
- ماژول Footer این ماژول، اطلاعات مربوط به حق تالیف را نمایش می دهد.
- ماژول Language Switcher با استفاده از این ماژول، فهرستی از زبان های نصب شده و در دسترس، نمایش داده می شود تا کاربر بتواند زبان مورد نظر خود را انتخاب کند.
- ماژول Latest News این ماژول فهرستی از مقالاتی که اخیرا منتشر شده اند را نمایش می دهد.
- Latest Users این ماژول کاربرانی را نمایش می دهد که اخیرا ثبت نام کرده اند.
- ماژول Login این ماژول یک فرم برای ورود اطلاعات کاربر (نام کاربری و کلمه عبور) نمایش می دهد.
- ماژول Menu این ماژول در قسمت طرف کاربر، یک منو را نمایش می دهد.
- ماژول Most Read Content این ماژول فهرست مقالاتی را نشان می دهد که اخیرا منتشر شده اند و بیشترین بازدید را داشته اند.
- ماژول Popular Tags این ماژول بیشترین تگ هایی را که تاکنون استفاده شده اند نمایش می دهد.
- ماژول Random Image این ماژول از یک دایرکتوری که شما مشخص می کنید، به صورت تصادفی یک تصویر را انتخاب می کند.
- ماژول Search این ماژول جعبه جستجو را نمایش می دهد.
- ماژول Similar Tags این ماژول لینکی به سایر آیتم ها که داری تگ مشابه مطلب فعلی هستند ایجاد می کند.
- ماژول Smart Search این ماژول به سیستم هوشمند جستجو مربوط می شود.
- ماژول Statistics این ماژول اطلاعات مربوط به آمار را نمایش می دهد.
- ماژول Syndicate Feeds این ماژول برای صفحه ای که ماژول در آن قرار دارد یک خوراک آماده می کند.
- ماژول Weblinks این ماژول با استفاده از گروه موضوعی که در کامپوننت Weblinks تعریف می کنیم، لینک های وب مربوط به آن گروه را نمایش می دهد.
- ماژول Who’s Online این ماژول تعداد کاربران ناشناخته را نمایش می دهد. مثلا کاربران میهمان.
- ماژول Wrapper این ماژول برای یک محل مشخص شده، یک پنجره iframe نمایش می دهد.
{نکته: نام ماژول ها که در بالا ذکر شد، نام انگلیسی مربوط به آنها است. اگر زبان فارسی را بر روی جوملا نصب کرده باشید، این نام ها نیز به فارسی ترجمه شده اند.}