Silakan tunggu sedang proses
Senin Pahing 24 September 2018 08:49
learn make rich
share make it perfect
Ayat Suci
Jika kamu berpaling, maka sesungguhnya aku telah menyampaikan kepadamu apa (amanat) yang aku diutus (untuk menyampaikan) nya kepadamu. Dan Tuhanku akan mengganti (kamu) dengan kaum yang lain (dari) kamu; dan kamu tidak dapat membuat mudharat kepada-Nya sedikitpun. Sesungguhnya Tuhanku adalah Maha Pemelihara segala sesuatu.
(QS. HUD:57)

 otomatis refresh

Javascript ayat
Para Rekan
Lain-lain
User online: 61
User login: 0
Statistik BengkelProgram.com
user/passwd: bpuser

MovableType Plugin: SimpleLink

Penulis
Contoh pembuatan PlugIn untuk MovableType, sebuah Blogger Engine dengan menggunakan pemrograman PERL.

Aryo Sanjaya <h1>Coeg</h1>
Kamis Pahing, 1 Desember 2005

Para blogger sejati, hampir pasti mengenal Blogger Engine ini. Meski masih sedikit penggunanya (di lingkungan sini), namun sangat powerful khasiatnya. Berbeda dengan Blogger Engine yang lain, semisal WordPress atau TextPattern yang menggunakan PHP sebagai script enginenya, MovableType menggunakan PERL. Mungkin hal tersebut yang menyebabkan engine ini lebih powerful, karena memiliki akses yang lebih luas (sebagai CGI - Common Gateway Interface).

Sama dengan Blogger Engine yang lain, MovableType juga menyediakan fitur PlugIn, di mana pengguna dapat menambahkan fungsi baru pada blognya. PlugIn dapat diperoleh dari situs resmi Six Apart, atau dari situs-situs pembuatnya langsung. Kita sebagai programmer, juga dapat membuat sendiri PlugIn impian, dengan syarat yaitu menguasai PERL programming.

Berikut ini akan dibahas cara-cara membuat PlugIn untuk MovableType. Contoh kasus yang dibahas adalah SimpleLink, yaitu untuk menampilkan daftar URL pada blog kita. Ide ini saya buat karena dari usaha pencarian kesana kemari, tidak menemukan PlugIn untuk hal seperti ini.

Untuk membuat PlugIn, cukup dengan membuat satu file PERL, yaitu file Teks biasa dengan ekstensi .PL. Silakan buat satu file teks, lalu isikan baris kode berikut:

package MT::Plugin::SimpleLink;

Itu adalah untuk menandakan bahwa kita membuat satu paket dengan nama SimpleLink pada paket MT::Plugin.

use MT::ConfigMgr;
use MT::Plugin;
use MT::PluginData;
use MT::Template::Context;

Kita perlu mengambil beberapa paket lain untuk mendukung pembuatan PlugIn ini.

my $linkslist = '';
my $separator = '';
my $linkformat = '';
use vars qw( $VERSION %mta_config $plugin %config );
$VERSION = '1.0';

Inisialisasi variabel-variabel.

eval {
    $plugin = new MT::Plugin({
    name => 'SimpleLink',
    version => $VERSION,
    author_name => "Aryo Sanjaya",
    author_link => "http://www.mahesajenar.com/",
    description => "Display list of URLs to be a link exchange. ($VERSION)",
    system_config_template => \&sysconf_template,
    settings => new MT::PluginSettings([
        ['linkslist', { Default => '' }],
        ['separator', { Default => ';' }],
        ['linkformat', { Default => '<li class="module-list-item"><a href="<URL>" title="<TITLE>" target="_blank"><TEXT></a></li>' }],
        ]),
    });
    MT->add_plugin($plugin);
};

Baris di atas adalah inti dari PlugIn kita, yaitu menciptakan obyek baru (MT::Plugin), kemudian mengisi parameter-parameter yang diperlukan, serta nilai-nilai standar.
Pada baris terakhir blok program di atas, dilakukan pendaftaran obyek $plugin kepada daftar plugin yang tersedia pada system.

Seperti terlihat pada parameter system_config_template yang merujuk pada sysconf_template, maka kita harus membuat fungsi sysconf_template tersebut. Fungsi ini berisi desain tampilan di mana pengguna dapat melakukan setting PlugIn. Berikut penggalan fungsinya:

sub sysconf_template {
    my $tmpl = <<'EOT';
    <div class="setting">
    <div class="label">
    <label for="linkslist">List of Links:</label>
    </div>
    <div class="field">
    <p><textarea name="linkslist" rows="10" cols="50"><TMPL_VAR NAME=LINKSLIST ESCAPE=HTML></textarea>
    <br />Enter the list. Format: &lt;URL&gt; [separator] &lt;TITLE&gt; [separator] &lt;TEXT&gt;</p>
    </div>
...

Hasil setting dapat dibaca dengan menggunakan fungsi berikut ini:

sub readconfig {
    my $mta_config;
    $mta_config = $plugin->get_config_hash('system');
    foreach my $key (keys %$mta_config) {
        my $v = $mta_config->{$key};
        $config{$key} = $v if (defined($v) && $v ne '');
    }
}
readconfig();

Baris program di atas akan membaca semua setting yang sesuai dengan array $config milik kita, yang kemudian disimpan pada array $config itu sendiri.

Setelah semua setting selesai dilakukan, maka hal terpenting agar PlugIn kita dapat dikenali melalui TAG adalah dengan mendaftarkannya. Berikut ini adalah baris untuk mendaftarkan tag SimpleLink.

MT::Template::Context->add_tag ('SimpleLink',\&display_link_exchange);

Baris di atas menyatakan bahwa semua TAG SimpleLink, akan ditangani oleh fungsi display_link_exchange. Untuk itu program harus menyediakan fungsi tersebut. Berikut ini adalah fungsi untuk menangani TAG SimpleLink:

sub display_link_exchange {

    @lists = split("\n", $config{linkslist});
    $separator = $config{separator};
    $linkformat = $config{linkformat};

    $links = "";
    $nums = scalar(@lists);
    for ($c = 0; $c < $nums; $c++)
    {
        $record = $lists[$c];
        ($url, $title, $text) = split(/$separator/, $record, 3);
        $item = $linkformat;
        $item =~ s/\<URL\>/$url/;
        $item =~ s/\<TITLE\>/$title/;
        $item =~ s/\<TEXT\>/$text/;
        $links .= $item . "\n";
    }
    return $links;
}

Fungsi di atas akan membaca isi dari setting, lalu memparsing dan mengembalikan teks hasil olahan.

File yang sudah jadi ini, berikan nama SimpleLink.pl, kemudian tinggal dicopykan (diupload) ke direktori plugin milik MovableType. Biasanya ada di direktori /cgi-bin/mt/plugins/.

Buat direktori baru, misalnya SimpleLink, kemudian letakkan file PERL tadi ke direktori ini. Maka PlugIn sudah siap.

Untuk source lengkapnya, silakan download SimpleLink.pl di sini.

Tentang cara penggunaan PlugIn ini, silakan mengacu pada dokumentasi PlugIn. Sengaja saya buat berbahasa inggris, karena memang itu ditujukan untuk kalangan luas :)

Sekian pembahasan kali ini. Terlalu simple memang, untuk disebut sebagai tutorial ^^. Kalo ada pertanyaan, kritik dan masukan, silakan diberikan pada penulis.

Akhirnya, selamat coding dan blogging ^_^

 

Komentar

Aryo Sanjaya

Kamis Kliwon, 22 Juni 2006

Tes simplelink

Aryo Sanjaya

Sabtu Pahing, 24 Juni 2006

hahaha

Aryo Sanjaya

Selasa Kliwon, 27 Juni 2006

hahaha

Aryo Sanjaya

Sabtu Kliwon, 26 Agustus 2006

Tes simplelink

Aryo Sanjaya

Minggu Kliwon, 15 Oktober 2006

hahaha

John Doe

Selasa Pahing, 25 Maret 2008

775ff730b9bcae137a9d3121f1ea7552


Mengisi Komentar





untuk kode program, apit dengan tanda [code][/code].
contoh:

[code]
(kode program)
[/code]



Daftar Artikel Lain-lain

» Membuat Variabel Pada Javascript Berfungsi Sama Dengan Variabel $_GET Pada PHP (51)
Minggu Wage, 23 Desember 2007

Kita bisa membuat variabel yang mempunyai sifat sama dengan $_GET pada PHP dengan menggunakan Javascript sehingga untuk menangkap variabel yang dilemparkan dari URL tidak perlu menggunakan PHP lagi

» MIDlet: Mencari Neptu dan Pasaran (140)
Jum'at Kliwon, 17 Februari 2006

Bagi yang suka perhitungan jawa (neptu), akan terbantu dengan menggunakan aplikasi kecil ini

» Google Earth (62)
Kamis Pahing, 27 Oktober 2005

Menjelajahi bumi dan melihat bentuk permukaannya, melihat kota-kota dan gunung-gunung besar

» Desain Table dengan Excel (121)
Rabu Wage, 6 Juli 2005

Tips untuk mempermudah dalam melakukan desain tabel melalui Microsoft Excel

» Daftar ConnectionString (86)
Kamis Legi, 23 Juni 2005

Setelah Eko Heri membahas bagaimana membuat UDL, ini adalah daftar lengkap untuk Connection String



Halaman:    1  2  3  ... 5  >  

Account Data
Anda belum login.






 

Login hanya diperlukan bagi kontributor untuk mengisi artikel/berita dan mengupload file/gambar
Status Y!M
Saya sedang Offline. Silakan gunakan menu Kontak atau tinggalkan pesan di Yahoo! Messenger pada Id: aryo_sanjaya
Artikel Rame
Aplikasi Handphone (675)
Senin Pon, 20 Februari 2006

Mengirim SMS dari PC (463)
Senin Wage, 28 November 2005

Membaca SMS dari PC (439)
Selasa Pahing, 14 Juni 2005

Source SMS Autorespond (342)
Senin Legi, 24 April 2006

Barcode Reader (163)
Sabtu Pahing, 20 Januari 2007

Bukutamu
» addin
Kamis Wage
30 Juli 2009

» shen
Senin Legi
27 Juli 2009

» iyha
Rabu Wage
15 Juli 2009

» wawan
Rabu Kliwon
1 Juli 2009

» fuad hasan
Minggu Kliwon
21 Juni 2009


Halaman Bukutamu
Daftar Fungsi
pasaran
Mencari nama hari dan nama pasaran
pdu2sms
Konversi dari PDU ke Teks SMS
bacarss
Membaca RSS dari beberapa situs
Jejak Halaman
© 2005-2018 BengkelProgram.com