20";display:block;height:0;clear:both;visibility:hidden}.clearfix:before,.clearfix:after{content:' 20';display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both}.clearfix{zoom:1}html,body,div,span,h1,h3,p,a,img,small,strong,ul,li,label,article,header,nav{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,header,nav{display:block}body{line-height:1em}ul{list-style:none}*{box-sizing:border-box}html.responsive,.responsive body{overflow-x:hidden}body{font:13px/1.65em "HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;color:#444;-webkit-text-size-adjust:100%}h1,h3{font-weight:600}#top h3 a{font-weight:inherit;text-decoration:none;color:inherit}h1{font-size:34px;line-height:1.1em;margin-bottom:14px}h3{font-size:20px;line-height:1.1em;margin-bottom:8px}p{margin:.85em 0}p img{margin:0}strong{font-weight:700}small{font-size:80%}a{text-decoration:none;outline:0;max-width:100%;max-width:none}a:visited{outline:0;text-decoration:underline}#top .avia_hidden_link_text{display:none}ul{margin-bottom:20px}ul{list-style:none outside;margin-left:7px}img,a img{border:none;padding:0;margin:0;display:inline-block;max-width:100%;height:auto}[data-av_icon]:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;content:attr(data-av_icon);speak:never}#top label{font-weight:700;font-size:.92em}#top label span{font-weight:400;font-size:13px;color:#444}.hidden{position:absolute;top:0;visibility:hidden}body .alignleft{float:left;margin:4px 10px 0 0;display:block;position:relative}#header{position:relative;z-index:501;width:100%;background:0 0}#header_main .container,.main_menu ul:first-child>li a{height:88px;line-height:88px}#header_main{border-bottom-width:1px;border-bottom-style:solid;z-index:1}.header_bg{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.95;z-index:0;-webkit-perspective:1000px;-webkit-backface-visibility:hidden}.html_header_sidebar #top #header{width:300px;position:absolute;min-height:100%;border-bottom:none}.html_header_sidebar #top #header_main{border-top:none}.html_header_sidebar #header .container{width:100%;height:auto;line-height:1.3em;padding:0;float:none;max-width:100%}.html_header_sidebar .header_bg{opacity:1}.html_header_left #main{margin-left:300px;position:relative;border-left-style:solid;border-left-width:1px}.html_header_sidebar .logo{position:relative;clear:both;padding:40px;border-bottom-style:solid;border-bottom-width:1px;height:auto;max-height:none;width:100%}.html_header_sidebar .logo img{width:100%;max-height:none;padding:0;height:auto}.html_header_sidebar .main_menu{position:relative;clear:both;z-index:200}.html_header_sidebar #header .av-main-nav,.html_header_sidebar #header .av-main-nav-wrap{width:100%}.html_header_sidebar #header .av-main-nav{padding:20px 0}.html_header_sidebar #header .av-main-nav>li{float:none;display:block;margin:0 13%}.html_header_sidebar #header .av-main-nav>li>a{line-height:1.3em;height:auto;padding:15px 3px;border-bottom-style:solid;border-bottom-width:1px;margin:0 auto}.html_header_sidebar #header .av-main-nav>li>a .avia-menu-text{font-size:inherit;font-weight:400;display:block}.html_header_sidebar #header .av-main-nav>li:last-child>a{border:none}.html_header_sidebar #header .av-main-nav>li:nth-last-child(2)>a{border:none}.html_header_sidebar #header .avia-menu-fx{display:none}.html_header_sidebar .container_wrap{width:100%}.html_header_sidebar .av-sidebar-social-container{position:relative;clear:both;overflow:hidden}.html_header_sidebar #top #header .social_bookmarks{position:relative;top:0;margin:0;border-top-style:solid;border-top-width:1px;clear:both;display:table;width:100%;table-layout:fixed}.html_header_sidebar #top #header .social_bookmarks li{float:none;display:table-cell;text-align:center}.html_header_sidebar #top #header .social_bookmarks li.social_icon_1 a{border:none}.html_header_sidebar #top #header .social_bookmarks li a{width:100%;border-radius:0;border-left-style:solid;border-left-width:1px;padding:10px 0}.html_header_sidebar .container_wrap_first{float:left}.av-hamburger{padding:0;display:inline-block;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.av-hamburger-box{width:35px;height:24px;display:inline-block;position:relative}.av-hamburger-inner{display:block;top:50%;margin-top:-2px}.av-hamburger-inner,.av-hamburger-inner:before,.av-hamburger-inner:after{width:40px;height:3px;background-color:#000;border-radius:3px;position:absolute}.av-hamburger-inner:before,.av-hamburger-inner:after{content:"";display:block}.av-hamburger-inner:before{top:-10px}.av-hamburger-inner:after{bottom:-10px}.av-burger-menu-main{display:none}.av-burger-menu-main a{padding-left:10px}.av-hamburger strong{display:none}.av-hamburger-box{height:8px}.av-hamburger-inner,.av-hamburger-inner:before,.av-hamburger-inner:after{width:100%}.html_header_sidebar #top div .av-burger-menu-main{display:none}div .logo{float:left;position:absolute;left:0;z-index:1}.logo,.logo a{overflow:hidden;position:relative;display:block;height:100%}.logo img{padding:0;display:block;width:auto;height:auto;max-height:100%;image-rendering:auto;position:relative;z-index:2;height:100%;height:auto}.main_menu{clear:none;position:absolute;z-index:100;line-height:30px;height:100%;margin:0;right:0}.av-main-nav-wrap{float:left;position:relative;z-index:3}.av-main-nav-wrap ul{margin:0;padding:0}.av-main-nav{z-index:110;position:relative}.av-main-nav li{float:left;position:relative;z-index:20}.av-main-nav>li{line-height:30px}.av-main-nav li a{max-width:none}.av-main-nav>li>a{display:block;text-decoration:none;padding:0 13px;font-weight:400;font-weight:600;font-size:13px}.avia-menu-fx{position:absolute;bottom:-1px;height:2px;z-index:10;width:100%;left:0;opacity:0;visibility:hidden}.current-menu-item>a>.avia-menu-fx{opacity:1;visibility:visible}.avia-menu-fx .avia-arrow-wrap{height:10px;width:10px;position:absolute;top:-10px;left:50%;margin-left:-5px;overflow:hidden;display:none;visibility:hidden}.current-menu-item>a>.avia-menu-fx>.avia-arrow-wrap{display:block}.avia-menu-fx .avia-arrow-wrap .avia-arrow{top:10px}.main_menu .avia-bullet{display:none}.avia-bullet{display:block;position:absolute;height:0;width:0;top:51%;margin-top:-3px;left:-3px;border-top:3px solid transparent!important;border-bottom:3px solid transparent!important;border-left:3px solid green}.iconfont{font-size:17px}.avia-arrow{height:10px;width:10px;position:absolute;top:-6px;left:50%;margin-left:-5px;transform:rotate(45deg);border-width:1px;border-style:solid;visibility:hidden}#top .social_bookmarks{height:30px;z-index:150;-webkit-backface-visibility:hidden;margin:0 0 0 -9px}#top .social_bookmarks li{height:100%;float:left;padding:0;border-right-style:solid;border-right-width:1px;display:block;width:30px}#top #header .social_bookmarks li:last-child{border-right-style:none;border-right-width:0}#top .social_bookmarks li a{float:left;width:30px;line-height:30px;display:block;margin:0;outline:none;padding:0;min-height:30px;height:100%;overflow:visible;z-index:2;position:relative;text-align:center}#top #wrap_all .social_bookmarks,#top #wrap_all .social_bookmarks a,#top #wrap_all .social_bookmarks li{background:0 0}#top .av-logo-container .social_bookmarks li{border:none}#top .av-logo-container .social_bookmarks li a{border-radius:100px}.content{padding-top:50px;padding-bottom:50px;box-sizing:content-box;min-height:1px;z-index:1}.content{border-right-style:solid;border-right-width:1px;margin-right:-1px}.content .entry-content-wrapper{padding-right:50px}.fullsize .content{margin:0;border:none}.fullsize .content .entry-content-wrapper{padding-right:0}.container .minor-meta{font-size:.9em}.post{clear:both;width:100%;float:left;position:relative}.entry-content-wrapper .post-title{font-size:21px;line-height:1.3em}#top .avia-post-nav{position:fixed;height:110px;top:50%;background:#aaa;background:rgba(0,0,0,.1);color:#fff;margin-top:-55px;padding:15px;text-decoration:none;z-index:501;transform:translate3d(0,0,0)}.avia-post-nav .label{position:absolute;top:50%;height:22px;line-height:22px;margin-top:-11px;font-size:24px}.avia-post-nav .entry-image{height:80px;width:80px;display:block}.avia-post-nav .entry-image img{border-radius:100px;display:block}.avia-post-prev{left:0;border-top-right-radius:4px;border-bottom-right-radius:4px}.avia-post-prev .label{left:10px}.avia-post-nav .entry-info{display:block;height:80px;width:220px;display:table}.avia-post-prev .entry-info{margin:0 1px 0 20px}.avia-post-nav .entry-info span{display:table-cell;vertical-align:middle;font-size:13px;line-height:1.65em}.avia-post-nav .entry-info-wrap{width:1px;overflow:hidden;display:block}#scroll-top-link{position:fixed;border-radius:2px;height:50px;width:50px;line-height:50px;text-decoration:none;text-align:center;opacity:0;right:50px;bottom:50px;z-index:1030;visibility:hidden}@keyframes av-load8{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media only screen and (max-width:989px){.responsive.html_header_sidebar #top #header{width:27%}.responsive.html_header_left #main{margin-left:27%}.responsive.html_header_sidebar #header .av-main-nav{padding:4% 0}.responsive.html_header_sidebar #header .av-main-nav>li{margin:0 10%}.responsive.html_header_sidebar #header .av-main-nav>li>a .avia-menu-text{font-size:14px}.responsive.html_header_sidebar .logo{padding:10%}.responsive #top .avia-post-prev{left:0}}@media only screen and (min-width:768px) and (max-width:989px){.responsive .main_menu ul:first-child>li>a{padding:0 10px}.responsive #top .header_bg{opacity:1}.responsive #main .container_wrap:first-child{border-top:none}.responsive .logo{float:left}.responsive .logo img{margin:0}}@media only screen and (max-width:767px){.responsive .template-blog .blog-meta,.responsive .post_author_timeline{display:none}.responsive .content .entry-content-wrapper{padding:0}.responsive .content{border:none}.responsive .big-preview{padding:0 0 10px}.responsive #top .fullsize .template-blog .post .entry-content-wrapper>*{max-width:100%}.responsive #top .avia-post-nav{display:none}.responsive #top #wrap_all #header{position:relative;width:100%;float:none;height:auto;margin:0!important;opacity:1;min-height:0}.responsive #top #main{padding-top:0!important;margin:0}.responsive #top #main .container_wrap:first-child{border-top:none}.responsive #top .logo{position:static;display:table;height:80px!important;float:none;padding:0;border:none;width:80%}.responsive .logo a{display:table-cell;vertical-align:middle}.responsive .logo img{height:auto!important;width:auto;max-width:100%;display:block;max-height:80px}.responsive #header_main .container{height:auto!important}.responsive #top .header_bg{opacity:1}.responsive #header .social_bookmarks{padding-bottom:2px;width:100%;text-align:center;height:auto;line-height:.8em;margin:0}.responsive #header .social_bookmarks li{float:none;display:inline-block}.responsive .logo img{margin:0}.responsive.html_header_sidebar #top #header .social_bookmarks{display:none}.responsive .av-burger-menu-main{display:block}.responsive #top #wrap_all .main_menu{top:0;height:80px;left:auto;right:0;display:block;position:absolute}.responsive .main_menu ul:first-child>li a{height:80px;line-height:80px}.responsive #top .av-main-nav .menu-item{display:none}.responsive #top .av-main-nav .menu-item-avia-special{display:block}.responsive #top #header .social_bookmarks{display:none}.responsive #top .av-logo-container .avia-menu{height:100%}.responsive #top #header_main>.container .main_menu .av-main-nav>li>a,.responsive #top #wrap_all .av-logo-container{height:80px;line-height:80px}.responsive #top #wrap_all .av-logo-container{padding:0}.responsive #top #header_main>.container .main_menu .av-main-nav>li>a{min-width:0;padding:0 0 0 20px;margin:0;border-style:none;border-width:0}.responsive #top #header .av-main-nav>li>a{background:0 0;color:inherit}.responsive.html_header_sidebar #main{border:none}.responsive #scroll-top-link{display:none}}@media only screen and (max-width:479px){.responsive #top #wrap_all #header .social_bookmarks{display:none}}.template-blog .blog-meta{float:left;margin-right:50px}.single-post .post_author_timeline{display:none}#top .fullsize .template-blog .post-title{text-align:center;font-size:30px;padding:15px 0;max-width:800px;margin:0 auto}#top .fullsize .template-blog .post .entry-content-wrapper{text-align:justify;font-size:1.15em;line-height:1.7em;max-width:800px;margin:0 auto;overflow:visible}#top .fullsize .template-blog .post .entry-content-wrapper>*{max-width:40em;margin-left:auto;margin-right:auto}#top .fullsize .template-blog .post_author_timeline{display:none}#top .fullsize .template-blog .blog-meta{float:none;margin:0 auto;display:block;position:relative;width:81px;overflow:hidden;text-align:center;z-index:1000}#top .fullsize .template-blog .big-preview{padding:0 0 10px}#top .fullsize .template-blog .big-preview img{width:100%}.html_header_sidebar #top .fullsize .template-blog .single-big .post-title{max-width:none;text-align:left}.html_header_sidebar #top .fullsize .template-blog .post .entry-content-wrapper{max-width:none}.html_header_sidebar #top .fullsize .template-blog .post .entry-content-wrapper>*{max-width:none}.big-preview{display:block;padding:0 50px 10px 131px}.big-preview a{display:block;position:relative;overflow:hidden}.big-preview.single-big{padding:0 50px 10px 0}.entry-content-wrapper .big-preview.single-big{padding:0 0 10px}.fullsize .big-preview.single-big{padding:0 0 10px}.post-loop-1 .big-preview{position:relative;z-index:4}.big-preview img{display:block;border-radius:4px;position:relative;z-index:4;width:100%}.av-content-full>.comment-entry{max-width:800px;margin-left:auto;margin-right:auto;float:none;clear:both}.html_elegant-blog #top .post-entry .post-title{text-align:center;font-size:30px;text-transform:uppercase;padding:0 0 15px;letter-spacing:2px;line-height:1.3em;margin-bottom:10px}.html_elegant-blog #top .post-entry .blog-categories{text-align:center;display:block;font-weight:700;position:relative}.html_elegant-blog #top .post-entry .minor-meta{text-transform:uppercase}.html_elegant-blog .av-vertical-delimiter{display:block;margin:0 auto;width:40px;border-top-width:3px;border-top-style:solid;padding-bottom:16px}.html_elegant-blog .entry-content-wrapper .big-preview.single-big{margin-top:20px}.html_elegant-blog #top .big-preview{padding-left:0;padding-right:0}#reply-title{font-weight:600;letter-spacing:1px}#reply-title small,#commentform label{font-size:.85em;display:block;letter-spacing:0;text-transform:none;padding-top:8px;line-height:1.5em;font-weight:400}#cancel-comment-reply-link{display:inline-block;font-size:10px}#commentform p{position:relative;padding:0 0 10px;margin:0}#reply-title small a{float:right}#commentform label{position:absolute;left:245px;font-size:11px;top:0;font-weight:700}.comment-notes,#commentform .comment-form-comment label{display:none}#reply-title{display:none}#reply-title small{display:inline}.template-blog .post .entry-content-wrapper{overflow:hidden}.av-siteloader-wrap{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:1000000;background:#fff;display:none}html.av-preloader-active .av-siteloader-wrap{display:block}.av-siteloader-inner{position:relative;display:table;width:100%;height:100%;text-align:center}.av-siteloader-cell{display:table-cell;vertical-align:middle}.av-siteloader{font-size:10px;position:relative;text-indent:-9999em;margin:0 auto;border-top:2px solid rgba(0,0,0,.2);border-right:2px solid rgba(0,0,0,.2);border-bottom:2px solid rgba(0,0,0,.2);border-left:2px solid #000;animation:av-load8 .8s infinite linear}.av-siteloader,.av-siteloader:after{border-radius:50%;width:40px;height:40px}:root{--enfold-socket-color-bg:#333;--enfold-socket-color-bg2:#555;--enfold-socket-color-primary:#fff;--enfold-socket-color-secondary:#aaa;--enfold-socket-color-color:#eee;--enfold-socket-color-meta:#999;--enfold-socket-color-heading:#fff;--enfold-socket-color-border:#444;--enfold-footer-color-bg:#222;--enfold-footer-color-bg2:#333;--enfold-footer-color-primary:#fff;--enfold-footer-color-secondary:#aaa;--enfold-footer-color-color:#ddd;--enfold-footer-color-meta:#919191;--enfold-footer-color-heading:#919191;--enfold-footer-color-border:#444;--enfold-alternate-color-bg:#fcfcfc;--enfold-alternate-color-bg2:#fff;--enfold-alternate-color-primary:#2d5c88;--enfold-alternate-color-secondary:#3d71a1;--enfold-alternate-color-color:#666;--enfold-alternate-color-meta:#8f8f8f;--enfold-alternate-color-heading:#222;--enfold-alternate-color-border:#e1e1e1;--enfold-main-color-bg:#fff;--enfold-main-color-bg2:#fcfcfc;--enfold-main-color-primary:#2271b1;--enfold-main-color-secondary:#3d71a1;--enfold-main-color-color:#666;--enfold-main-color-meta:#919191;--enfold-main-color-heading:#222;--enfold-main-color-border:#e1e1e1;--enfold-header-color-bg:#fff;--enfold-header-color-bg2:#f8f8f8;--enfold-header-color-primary:#319bd0;--enfold-header-color-secondary:#444;--enfold-header-color-color:#333;--enfold-header-color-meta:gray;--enfold-header-color-heading:#000;--enfold-header-color-border:#e1e1e1;--enfold-header_burger_color:inherit;--enfold-header_replacement_menu_color:inherit;--enfold-header_replacement_menu_hover_color:inherit;--enfold-font-family-theme-body:"HelveticaNeue","Helvetica Neue",Helvetica,Arial,sans-serif;--enfold-font-size-theme-content:13px;--enfold-font-size-theme-h1:34px;--enfold-font-size-theme-h2:28px;--enfold-font-size-theme-h3:20px;--enfold-font-size-theme-h4:18px;--enfold-font-size-theme-h5:16px;--enfold-font-size-theme-h6:14px}html,#scroll-top-link{background-color:#333}#scroll-top-link{color:#eee;border:1px solid #444}.main_color,.main_color div,.main_color header,.main_color main,.main_color article,.main_color span,.main_color h1,.main_color h3,.main_color p,.main_color a,.main_color img,.main_color small,.main_color strong,.main_color label,.main_color article,.main_color header{border-color:#e1e1e1}.main_color,.main_color .post-format-icon{background-color:#fff;color:#666}.main_color h1,.main_color h3{color:#222}.main_color .minor-meta,.main_color .minor-meta a{color:#919191}.main_color a,.main_color strong,.main_color #commentform .required,.html_elegant-blog #top .main_color .blog-categories a{color:#2271b1}.main_color ::-webkit-input-placeholder{color:#919191}.main_color ::-moz-placeholder{color:#919191;opacity:1}.main_color :-ms-input-placeholder{color:#919191}.main_color .required{color:#2271b1}#main{border-color:#e1e1e1}.html_stretched #wrap_all{background-color:#fff}#top .av-siteloader{border-color:#e1e1e1;border-left-color:#2271b1}#top .av-siteloader-wrap{background-color:#fff}.header_color,.header_color div,.header_color nav,.header_color span,.header_color a,.header_color img,.header_color strong,.header_color ul,.header_color li,.header_color nav{border-color:#e1e1e1}.header_color{background-color:#fff;color:#333}.header_color .social_bookmarks a{color:gray}.header_color a,.header_color strong{color:#319bd0}.header_color .avia-menu-fx,.header_color .avia-menu-fx .avia-arrow{background-color:#319bd0;color:#fff;border-color:#1079b0}.header_color .avia-bullet{border-color:#319bd0}.header_color ::-webkit-input-placeholder{color:gray}.header_color ::-moz-placeholder{color:gray;opacity:1}.header_color :-ms-input-placeholder{color:gray}.header_color .header_bg{background-color:#fff;color:gray}.header_color .main_menu ul:first-child>li>a{color:gray}.header_color .main_menu ul:first-child>li.current-menu-item>a{color:#333}#main{background-color:#fff}.html_header_sidebar #header .av-main-nav>li>a .avia-menu-text{color:#000}.html_header_sidebar #header .av-main-nav li.current-menu-item>a .avia-menu-text{color:#319bd0}html.html_header_sidebar #wrap_all{background-color:#fff}.header_color .av-hamburger-inner,.header_color .av-hamburger-inner:before,.header_color .av-hamburger-inner:after{background-color:gray}h1,h3,.html_elegant-blog #top .minor-meta{font-family:'open sans',Helvetica,Arial,sans-serif}:root{--enfold-font-family-heading:'open sans',Helvetica,Arial,sans-serif}body.open_sans{font-family:'open sans',Helvetica,Arial,sans-serif}:root{--enfold-font-family-body:'open sans',Helvetica,Arial,sans-serif}.container{width:100%}.responsive .container{max-width:1310px}#top #header .av-main-nav>li>a{font-size:16px}body#top{font-size:15px}#top .all_colors strong{color:#0083bb}header#header{border-right:solid #e1e1e1 1px}.html_header_sidebar #top .fullsize .template-blog .single-big .post-title{text-align:center!important}header#header{border-right:solid #e1e1e1 1px}html body [data-av_iconfont='entypo-fontello']:before{font-family:'entypo-fontello'}
জুমলা কম্পোনেন্ট টিউটোরিয়াল (০১) – Shamim Reza
জুমলা কম্পোনেন্ট কি?
প্রথমেই বলে রাখা ভালো, যাদের জুমলা কম্পোনেন্ট সম্পর্কে মোটেও ধারনা নেই তাদের জন্য এই টিউটোরিয়াল হয়তো কোন কাজে আসবে না। তারপরও আমি জুমলা কম্পোনেন্ট কি সে বিষয়ে সামান্য আলোচনা করব।
জুমলা কম্পোনেন্ট হলো একধরনের জুমলা এক্সটেনশন। এটি জুমলার প্রধান ফাংশনাল ইউনিট। একারণে এটাকে অনেকে সেমি-এপ্লিকেশন হিসাবে বিবেচনা করেন। রূপক হিসাবে বলা চলে, জুমলা যদি একটা অপারেটিং সিস্টেম হয় তবে কম্পোনেন্ট হলো তার ডেক্সটপ এপ্লিকেশন যা মেইন কন্টেন্ট এরিয়ার মধ্যে প্রদর্শিত হয় (অবশ্যই টেমপ্লেটের উপর নির্ভর করে)।
বেশিরভাগ কম্পোনেন্টেরই দুইটি অংশ থাকে: এডমিনিষ্ট্রেটর পার্ট (administrator part) এবং সাইট পার্ট(site part)।
সাইট পার্টটি সাইটে দেখানো পেজগুলোকে রেন্ডার করে। আর এডমিনিষ্ট্রেটর পার্ট সাইটের প্রদর্শিত কনটেন্ট কাষ্টমাইজেশনের জন্য একটা ইন্টারফেস তৈরি করে যা জুমলা এডমিন প্যানেলে (Joomla! Administrator) লগইন করে ব্যাবহার করতে হয়।
প্রথম বেসিক কম্পোনেন্ট
আসুন তাহলে প্রথমেই একটি Hello World! টাইপ কম্পোনেন্ট তৈরি করি। যেখানে একটি অফিসের কয়েকজন এমপ্লয়ীর নাম ও পদবী (Designation) দেখাবে।
আসুন প্রথমেই আমরা com_team নামে একটা ফোল্ডার তৈরি করি যার মধ্যে নিম্নলিখিত ফাইল ও ফোল্ডারগুলি থাকবে:
Folder Hierarchy
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="1.0" encoding="utf-8"?>
<extension type="component" version="1.6.0" method="upgrade">
<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="mysql">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="site">
<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="admin">
<!-- 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="#FFFFFF"></body></html>
ইন্সটলেশনের জন্য জিপ (.zip) ফাইল তৈরি
আমাদের মধ্যে যাদের আগেই কোন জুমলা কম্পোনেন্ট ইন্সটল করার অভিজ্ঞতা আছে তারা জানি যে, প্রয়োজনীয় সব ফাইলই জিপ আকারে থাকে। তাই টেবিল-০১ এর সব ফাইলগুলো নিয়ে একটি কমপ্রেসড .zip ফোল্ডার তৈরি করুন অথবা সরাসরি ডাউনলোড করে Joomla! extension manager ব্যাবহার করে ইন্সটল করুন।
এবার আপনার ব্রাউজারের এড্রেসবারে মেইন ডোমেইনের পর index.php?option=com_team লিখে দেখুন সাইট পার্টের আউটপুট দেখতে পাবেন।
Site part View
এবং অ্যাড্রেসবারে administrator/index.php?option=com_team যোগ করলে “The Team Administration” লেখাটি দেখতে পাব। এছাড়াও আমরা লক্ষ্য করলে আরও দেখতে পাব যে, জুমলা এডমিনিষ্ট্রেটর পার্টের Component মেনুতে Team নামে একটি কম্পোনেন্ট দেখা যাচ্ছে।
এই টিউটোরিয়ালের পরবর্তি পার্টে আমরা দেখব কিভাবে সাইট পার্টে view যোগ করতে হয়।
Related December 1, 2012 / by Shamim Reza
https://shamimreza.com/wp-content/uploads/2023/11/Logo_Square-288x300.png
0
0
Shamim Reza
https://shamimreza.com/wp-content/uploads/2023/11/Logo_Square-288x300.png
Shamim Reza 2012-12-01 17:49:21 2012-12-01 17:49:21 জুমলা কম্পোনেন্ট টিউটোরিয়াল (০১)
জুমলা কম্পোনেন্ট টিউটোরিয়াল... Scroll to top
ধন্যবাদ শামীম ভাই। প্রথম পর্বেই অনেককিছু শিখতে পারলাম। অনলাইনের জগৎ এ জুমলা অতি পরিচিত একটি সিএমএস। আমি নিশ্চিত প্রায় সবাই এই সম্পর্কে জানেন অথবা নাম শুনেছেন। অনেকেই হয়ত ব্যবহার করেছেন এছাড়া জনপ্রিয় অনেক ওয়েবসাইটই জুমলাকে কেন্দ্র করে গড়ে উঠেছে। আমাদের দেশেও বিভিন্ন ওয়েবসাইটে সিএমএস হিসেবে জুমলার ব্যবহার লক্ষ্যনীয়। তবে এটিই বোধহয় বাংলা ভাষায় লেখা প্রথম জুমলা কম্পোনেন্ট টিউটোরিয়াল।