Filed Under:  Joomla!, Joomla! 1.6

Basit bileşenimizin ön yüzüne bir model ekleyelim

2nd Şubat 2010   ·   0 Comments

Joomla 1.6 Çerçevesi içerisinde modeller verinin yönetiminden sorumludurlar. Bir model için yazılacak ilk fonksiyon get fonksiyonudur. Şimdi site klasörümüzün içerisine models adında bir klasör açıp içerisine merhaba.php adında bir dosya oluşturuyoruz.

merhaba.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// Bu dosyaya direkt erişimi engelleyelim
defined('_JEXEC') or die('Restricted access');
// Joomla model öğesi kütüphanesini alalım
jimport('joomla.application.component.modelitem');
// JModelItem sınıfını devralalım
class MerhabaModelMerhaba extends JModelItem
{
        /**
         * @var string msg
         */

        protected $msg;
        /**
         * Mesajı alalım
         * @return string Mesaj kullanıcıya gösterilecek
         */

        public function getMsg()
        {
                if (!isset($this->msg))
                {
                        $this->msg = 'Merhaba!';
                }
                return $this->msg;
        }
}
?>

MerhabaViewMerhaba sınıfı JView sınıfının get metodunu kullanarak veri için bir model oluşturur.

site/views/merhaba/view.html.php:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Bu dosyaya direkt erişimi engelleyelim
defined( '_JEXEC' ) or die( 'Restricted access' );
// Joomla görünüm kütüphanesini alalım
jimport('joomla.application.component.view');
// JView sınıfını devralalım
class MerhabaViewMerhaba extends JView {
        protected $msg=null;
        // JView görünüm metodunun üstüne yazalım
        function display($tpl = null) {
                // Görünüme veriyi atayalım
                $this->msg = $this->get('Msg');
                // Görünümü hazırlayalım
                parent::display($tpl);
        }
}
?>

Ayrıca merhaba.xml dosyamıza da yeni hazırladığımız models klasörünü ekleyelim.

merhaba.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
< ?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="1.6.0" method="upgrade">
        <name>Merhaba</name>
        <creationdate>Ocak 2010</creationdate>
        <author>Soner Ekici</author>
        <authoremail>pisdoktor@orneksite.com</authoremail>
        <authorurl>http://www.orneksite.com</authorurl>
        <copyright>Copyright Bilgisi</copyright>
        <license>Lisans Bilgisi</license>
        <version>0.0.4</version>
        <description>Merhaba bileşeni açıklaması...</description>
 
        <files folder="site">
                <filename>index.html</filename>
                <filename>merhaba.php</filename>
                <filename>controller.php</filename>
                <folder>views</folder>
                <!-- models klasörünü ekleyelim -->
                <folder>models</folder>
        </files>
 
        <administration>
                <menu>Merhaba</menu>
                <files folder="admin">
                        <filename>index.html</filename>
                        <filename>merhaba.php</filename>
                </files>              
        </administration>
</extension>

Kurulum paketimizdeki dosyaların hiyerarşik düzenine göz atalım:

* merhaba.xml
* site/index.html
* site/merhaba.php
* site/controller.php
* site/views/index.html
* site/views/merhaba/index.html
* site/views/merhaba/view.html.php
* site/views/merhaba/tmpl/index.html
* site/views/merhaba/tmpl/default.xml
* site/views/merhaba/tmpl/default.php
* site/models/index.html
* site/models/merhaba.php
* admin/index.html
* admin/merhaba.php

Hazırlanmış paketimizi buradan indirebilirsiniz.

Tags:  , , , , , , , ,

Readers Comments (0)


Comments are closed.