,

জুমলা কম্পোনেন্ট টিউটোরিয়াল (০১)

জুমলা কম্পোনেন্ট কি?

প্রথমেই বলে রাখা ভালো, যাদের জুমলা কম্পোনেন্ট সম্পর্কে মোটেও ধারনা নেই তাদের জন্য এই টিউটোরিয়াল হয়তো কোন কাজে আসবে না। তারপরও আমি জুমলা কম্পোনেন্ট কি সে বিষয়ে সামান্য আলোচনা করব।

জুমলা কম্পোনেন্ট হলো একধরনের জুমলা এক্সটেনশন। এটি জুমলার প্রধান ফাংশনাল ইউনিট। একারণে এটাকে অনেকে সেমি-এপ্লিকেশন হিসাবে বিবেচনা করেন। রূপক হিসাবে বলা চলে, জুমলা যদি একটা অপারেটিং সিস্টেম হয় তবে কম্পোনেন্ট হলো তার ডেক্সটপ এপ্লিকেশন যা মেইন কন্টেন্ট এরিয়ার মধ্যে প্রদর্শিত হয় (অবশ্যই টেমপ্লেটের উপর নির্ভর করে)।

বেশিরভাগ কম্পোনেন্টেরই দুইটি অংশ থাকে: এডমিনিষ্ট্রেটর পার্ট (administrator part) এবং সাইট পার্ট(site part)।

সাইট পার্টটি সাইটে দেখানো পেজগুলোকে রেন্ডার করে। আর এডমিনিষ্ট্রেটর পার্ট সাইটের প্রদর্শিত কনটেন্ট কাষ্টমাইজেশনের জন্য একটা ইন্টারফেস তৈরি করে যা জুমলা এডমিন প্যানেলে (Joomla! Administrator) লগইন করে ব্যাবহার করতে হয়।

প্রথম বেসিক কম্পোনেন্ট

আসুন তাহলে প্রথমেই একটি Hello World! টাইপ কম্পোনেন্ট তৈরি করি। যেখানে একটি অফিসের কয়েকজন এমপ্লয়ীর নাম ও পদবী (Designation) দেখাবে।

আসুন প্রথমেই আমরা com_team নামে একটা ফোল্ডার তৈরি করি যার মধ্যে নিম্নলিখিত ফাইল ও ফোল্ডারগুলি থাকবে:

Folder Hierarchy

Folder Hierarchy 01

File List
  • \com_team\team.xml
  • \com_team\admin\index.html
  • \com_team\admin\team.php
  • \com_team\admin\sql\index.html
  • \com_team\admin\sql\updates\index.html
  • \com_team\admin\sql\updates\mysql.0.1.sql
  • \com_team\admin\sql\updates\mysql\index.html
  • \com_team\site\index.html
  • \com_team\site\team.php
com_team\team.xml

এটি একটি .xml ফাইল যা ইন্সটলেশন ফোল্ডারের রুটে থাকে। কোন ট্যাগের কাজ কি তা ট্যাগগুলো দেখলেই বোঝা যায়। যেমন: ট্যাগের মাধ্যমে কম্পোনেন্টের নাম এবং এর মধ্যে

ট্যাগের মাধ্যমে কম্পোনেন্ট মেনুতে যে নাম যোগ হবে সেটি।তাছাড়া ট্যাগের মধ্যে site  পার্টে যে সকল ফাইল অথবা ফোল্ডার যোগ হবে তার লিষ্ট এবং ট্যাগের মধ্যে administrator  পার্টের সকল ফাইল ফোল্ডারের নাম যোগ করতে হবে। ফাইলের কমেন্টগুলোও লক্ষ্য করতে পারেন।

com_team\team.xml
<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?>
<extension type=&quot;component&quot; version=&quot;1.6.0&quot; method=&quot;upgrade&quot;>
    <name>Team</name>
    <!-- The following elements are optional and free of formatting conttraints -->
    <creationDate>December 2012</creationDate>
    <author>Shamim Reza</author>
    <authorEmail>shamim@localhost</authorEmail>
    <authorUrl>http://localhost</authorUrl>
    <copyright>Copyright Info</copyright>
    <license>License Info</license>
    <!--  The version string is recorded in the components table -->
    <version>0.0.1</version>
    <!-- The description is optional and defaults to the name -->
    <description>This Component will manage your team ...</description>
    <update> <!-- Runs on update; New in 1.6 -->
    <schemas>
        <schemapath type=&quot;mysql&quot;>sql/updates/mysql</schemapath>
    </schemas>
    </update>
    <!-- Site Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder
        to copy FROM in the package to install therefore files copied
        in this section are copied from /site/ in the package -->
    <files folder=&quot;site&quot;>
    <filename>index.html</filename>
    <filename>team.php</filename>
    </files>
    <administration>
    <!-- Administration Menu Section -->
    <menu>The Team</menu>
    <!-- Administration Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder to copy FROM in the package to install therefore files copied in this section are copied from /admin/ in the package -->
    <files folder=&quot;admin&quot;>
        <!-- Admin Main File Copy Section -->
        <filename>index.html</filename>
        <filename>team.php</filename>
        <!-- SQL files section -->
        <folder>sql</folder>
    </files>
    </administration>
</extension>
com_team\site\team.php

এই ফাইলের মধ্যে আমরা যা লিখব সেটিই সাইটে প্রদর্শিত হবে।

com_team\site\team.php
<h1>Lorem Ipsum</h1>
<h2>Junior Web Developer</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur dui ligula, dapibus in ultricies a, fringilla ut lorem. Sed ante elit, porttitor at egestas at, tempus mollis risus. Nulla at accumsan neque. Vivamus malesuada, tortor a tincidunt facilisis, nunc lacus rutrum nunc, sed molestie nulla sem et nisl. Mauris vitae tincidunt neque. Pellentesque consectetur ligula pretium risus pharetra fringilla. Suspendisse elementum rutrum euismod. Donec at leo massa. Nulla pretium adipiscing sem nec varius. Suspendisse nisl metus, gravida sed tincidunt eu, tempor vel dolor. Morbi lobortis cursus leo cursus vestibulum. Quisque a diam vel est ullamcorper interdum. Nullam lacinia, sapien tempor sodales interdum, nisi purus posuere massa, vel fermentum libero mauris eu enim.</p>
com_team\admin\team.php

এই ফাইলটি আপাতত এডমিনিষ্ট্রেটর পার্টে একটি ডেমো টেক্সট প্রদর্শন করবে।

com_team\admin\team.php
<h1>The Team Administration</h1>
com_team\admin\sql\updates\mysql.0.1.sql

এই ফাইলের মাধ্যমে আমাদের কম্পোনেন্টের ডাটাবেজ স্কিমা ভার্সন নির্ধারন করতে হবে। আপাতত ফাইলটি ফাঁকাই থাকুক।

com_team\admin\sql\updates\mysql.0.1.sql

index.html common to all folders

আমরা জানি জুমলার সকল এক্সটেনশনেই নিরাপত্তার জন্য একটি করে index.html ফাইল থাকে।

index.html
<html><body bgcolor=&quot;#FFFFFF&quot;></body></html>

ইন্সটলেশনের জন্য জিপ (.zip) ফাইল তৈরি

আমাদের মধ্যে যাদের আগেই কোন জুমলা কম্পোনেন্ট ইন্সটল করার অভিজ্ঞতা আছে তারা জানি যে, প্রয়োজনীয় সব ফাইলই জিপ আকারে থাকে। তাই টেবিল-০১ এর সব ফাইলগুলো নিয়ে একটি কমপ্রেসড .zip ফোল্ডার তৈরি করুন অথবা সরাসরি ডাউনলোড করে Joomla! extension manager ব্যাবহার করে ইন্সটল করুন।

এবার আপনার ব্রাউজারের এড্রেসবারে মেইন ডোমেইনের পর index.php?option=com_team লিখে দেখুন সাইট পার্টের আউটপুট দেখতে পাবেন।

Site part View

Site part View


এবং অ্যাড্রেসবারে  administrator/index.php?option=com_team যোগ করলে “The Team Administration” লেখাটি দেখতে পাব। এছাড়াও আমরা লক্ষ্য করলে আরও দেখতে পাব যে, জুমলা এডমিনিষ্ট্রেটর পার্টের Component মেনুতে Team নামে একটি কম্পোনেন্ট দেখা যাচ্ছে।

এই টিউটোরিয়ালের পরবর্তি পার্টে আমরা দেখব কিভাবে সাইট পার্টে view যোগ করতে হয়।

2 replies
  1. ডিনেট আইটি জুমলা ব্লগ
    ডিনেট আইটি জুমলা ব্লগ says:

    ধন্যবাদ শামীম ভাই। প্রথম পর্বেই অনেককিছু শিখতে পারলাম। অনলাইনের জগৎ এ জুমলা অতি পরিচিত একটি সিএমএস। আমি নিশ্চিত প্রায় সবাই এই সম্পর্কে জানেন অথবা নাম শুনেছেন। অনেকেই হয়ত ব্যবহার করেছেন এছাড়া জনপ্রিয় অনেক ওয়েবসাইটই জুমলাকে কেন্দ্র করে গড়ে উঠেছে। আমাদের দেশেও বিভিন্ন ওয়েবসাইটে সিএমএস হিসেবে জুমলার ব্যবহার লক্ষ্যনীয়। তবে এটিই বোধহয় বাংলা ভাষায় লেখা প্রথম জুমলা কম্পোনেন্ট টিউটোরিয়াল।

    Reply

Trackbacks & Pingbacks

  1. […] ← জুমলা কম্পোনেন্ট টিউটোরিয়াল (০১) Dec 8 2012 […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *