Themes

Untuk memulai pembuatan tema perlu disiapkan file wajib dalam paket Fiyo Theme. File tersebut adalah sebagai berikut :

  • index.php
  • theme_details.php

Anda bisa memodifikasi template HTML/CSS yang sudah dibuat dengan mengganti nama file index.html menjadi index.php atau membuat kode dari awal

index.php

index.php merupakan file utama untuk memuat seluruh file yang dibutuhkan. Untuk permulaan buat folder 'mytheme' didalam folder root/themes/. Setelah itu buat file index.php dan sisipkan kode dibawah ini :

<html>
    <head><title>My Theme</title></head>
    <body>Text body</body>
</html>

Setelah itu simpan dan set di Admin Panel untuk mengaktifkan mytheme sebagai tema utama. Apakah berhasil? Jika ya mungkin bisa kelangkah selanjutnya.

Sekarang mulai untuk memuat system kedalam file tema. Sebelum itu kita perlu mengetahui kode singkat yang bisa digunakan didalam tema.

  • {sitetitle} : menampilkan judul situs sesuai format pada konfigurasi situs.
  • {homeurl} : url utama atau url homepage.
  • {sitename} : nama situs.
  • {lang} : bahasa situs.
  • {metarobots} : konfigurasi robots halaman.
  • {metadesc} : deskripsi halaman.
  • {metakeys} : katakunci halaman.
  • {module:posisi_modul} : memuat modul sesuai posisi dalam parameter.
  • {chkmod:posisi_modul} : digunakan apakah modul sesuai posisi parameter sedang aktif.
  • {/chkmod} : penutup sintak cek modul.
  • {loadApps} : memuat Apps.

Berikut adalah contoh potongan kode untuk bagian <head>.

<!DOCTYPE html>
<html lang="{lang}">
  <head>
    <meta charset="utf-8">
    <title>{sitetitle}</title>
    <meta name="description" content="{metadesc}">
    <meta name="author" content="{metaauthor}">
    <meta name="keywords" content="{metakeys}">
    <link rel='shortcut icon' type='image/x-icon' href='/css/images/favicon.ico' />
    <link rel='stylesheet' href='/css/style.css' type='text/css' media='all' />
    <script type='text/javascript' src='/js/jquery-2.0.3.min.js"></script>
</head>

Semua kode akan digenerate secara otomatis dan telah di rapikan, dimana css akan di taruh pada bagian <head> secara otomatis, baik css untuk Module dan css dari Apps. Semua aset juga akan di panggil secara otomatis apabila merujuk pada folder tertentu, misal : folder image, images, css, asset, assets, js. Semua file yang di panggil tanpa penulisan FThemePath pada versi terdahulu. File terpanggil secara otomatis di versi 2.0 untuk memudahkan konversi dari file HTML/CSS yang sudah dibuat.

Setelah bagian head selanjutnya bagian body. Perhatikan potongan kode berikut :

<body>
   <header id='header"> 
       <div id='logo"><a href='{homeurl}">{sitenama}</a>
       <span>{sitetitle}</span></div>
   </header>
   
   <nav id='navigation">    
      {module:mainmenu}
   </nav>
   
   <div class='m-slider">
      {module:slide}
   </div>        
               
   <div class='main">      
       {chkmod:right}
          <div class='full">
             {loadApps}
          </div>
       {else:}
          <div class='left'>
             {loadApps}
          </div>
          <div class='right'>          
             {module:right}
          </div>
      {/chkmod}
   </div>
</body>

Jika dilihat menurut potongan kode diatas terdapat posisi module mainmenu, slide dan right. Pada bagian konten akan tampil lebar jika module right tidak aktif. Dan akan dibagi menjadi dua bagian jika module right ada yang aktif sesuai kontrol {chkmod:}.

Versi terbaru ini sudah meminimalkan penggunaan PHP pada bagian tema. sehingga file lebih terlihat rapi.

Setelah membuat file index.php secara lengkap sebenarnya sudah bisa digunakan secara utuh untuk Fiyo Theme. Namun, perlu theme_details.php sebagai informasi tema.

theme_details.php

isi dan modifikasi bagian theme_details sesuai informasi tema yang diperlukan. Berikut contoh file theme_details.php.

$theme_name          ='First Panel';
$theme_version       ='1.5.0';
$theme_date          ='17 August 2013';
$theme_author        ='Fiyo CMS';
$theme_author_url    ='http://portofolio.web.id';
$theme_author_email  ='firstryan@gmail.com';
$theme_image         ='theme_details.jpg';
$theme_logo          ='image/logo.png';

Terdapat variable $theme_image sebagai preview di halaman Themes Manager. isinya sudah tidak lagi baku ke tipe .gif tetapi bisa tipe apa saja tergantung parameter yang dituliskan. Anda juga bisa menambahkan parameter buatan sendiri untuk mengatur tema anda.

theme_image.gif

Buat screenshoot dari tema yang dibuat sebagai thumbnail (preview) tema. Rekomendasi berukuran 200x200 atau dengan ukuran yang presisi.

spot_position.php

Spot position pada versi terbaru sudah tidak diperlukan karena sistem sudah melakukan generate module secara otomatis

Membuat Paket Installer

Jika berniat untuk berbagi dari tema yang sudah dibuat anda perlu menyiapkan paket installer agar dapat diinstal melalui AddOns Installer.

installer.php

buat file installer.php satu folder dengan file index.php. Dan diingat bahwa file installer akan hilang otomatis jika paket Fiyo Theme berhasil diinstall. Berikut contoh file installer.php

$addons['name']   = 'My Theme';
$addons['type']   = 'themes';
$addons['folder'] = 'mytheme';
$addons['info']   = '<h1>Ini tema buatan saya :)</h1>';

Setelah file installer terbentuk pilih semua file yang ada pada folder tema yang dibuat lalu klik kanan dan pilih kompres sebagai zip. Jadi sekarang selain terdapat file pendukung tema juga terdapat file .zip sebagai file installer yang telah dibuat.

Selengkapnya Beri Komentar

Apps

Apps

Selengkapnya Beri Komentar

Functions

Fiyo CMS memiliki fungsi-fungsi dasar yang disimpan dalam file function.php dalam folder system/. Fungsi-fungsi ini digunakan untuk memudahkan atau mempersingkat penulisan kode. Berikut fungsi dasar yang tersedia hingga saat ini.

FQuery

FQuery($table, $where = null, $output = null, $hide = null , $order = null, $select = null)

Fungsi FQuery biasa digunakan untuk melakukan query secara singkat baik mengambil data dari database atau mengetahui jumlah data dari query. variable table dalam FQuery sudah termasuk prefix database.

$hide = menyembunyikan notifikasi error.

Contoh 1 : menampilkan judul artikel terakhir dengan kategori = 1 dan diurutkan berdasarkan tanggal.

$title = FQuery('article', 'category = 1', 'title', 'hide', 'date ASC', '*');

Output 1 : Judul Artikel

Contoh 2 : menghitung jumlah artikel dengan kategori = 1.

$title = FQuery('article', 'category = 1');

Output 2 : 13


oneQuery

oneQuery($table, $field, $value, $output = null)

Fungsi oneQuery biasa digunakan untuk melakukan query secara singkat dan hanya menampilkan satu output dari query.

Contoh : ingin menampilkan judul article dengan id = 1.

$title = oneQuery('article', 'id', '1', 'title');

Output : Judul Article


siteConfig

siteConfig(string $config_name)

Fungsi ini digunakan untuk mendapatkan konfigurasi situs.

Contoh : mendapatkan versi situs.

$version = siteConfig('version');

Output : 1.5.7


userInfo

userInfo($value = null,$id = null)

Fungsi untuk mendapatkan informasi user / pengunjung situs.

Contoh 1 : mendapatkan level user.

$user_level = userInfo('level');

Output 1 : 99

Contoh 2 : mendapatkan nama dengan id tertentu.

$user_name = userInfo('name',5);

Output 2 : user5


menuInfo

menuInfo($value, $url = null, $id = null)

Fungsi untuk mendapatkan informasi menu.

Contoh 1 : mendapatkan parameter yang sedang aktif.

$param = menuInfo('parameter');

Output 1 : param1=a1;param2 = a2; param3 = a3;

Contoh 2 : mendapatkan id menu dengan link mirip dengan url tertentu.

$menu_id = menuInfo('id','?app=article&view=item&id=11');

Output 2 : 4

Contoh 3 : mendapatkan nama menu berdasarkan id.

$menu_name = menuInfo('name','',3);

Output 3 : Menu3


homeInfo

homeInfo($field)

Fungsi ini mengambil informasi untuk menu homepage.

Contoh : mengambil id menu homepage.

$home_id = homeInfo('id');

Output : 1


FUrl

FUrl($www = null)

Fungsi ini untuk mendapatkan url root dari situs.

Contoh : mendapatkan url root situs.

$url = FUrl();

Output : www.fiyo.org


Parameter

param_basic

param_basic(string $x,string $p,string $s)

Fungsi ini berguna untuk mengambil nilai parameter.

$x : nilai atau parameter yang ingin diambil.
$p : kumpulan dari data parameter.
$s : sperator atau pembatas dari data parameter

Contoh : mengambil nilai parameter hits dari artikel.

$param = 'data=1&hits=152&editor=me&date=03-05-1993';
$hits = param_basic('hits',$param,'&');

Output : 152

url_param($value)

url_param(string $value)

Fungsi ini digunakan untuk mendapatkan nilai dari url yang nampak pada url bar (browser) dan hampir seperti $_GET[] atau $_REQUEST[].

Contoh : mendapatkan nilai id pada alamat tertentu, misal : www.fiyo.org/article/?page=2&id=19

$id = url_param('id');

Output : 19

link_param

link_param(string $value, string $param)

Fungsi ini memiliki persamaan dengan url_param() tetapi butuh data paremeter terlebih dahulu. Ini biasa digunakan untuk menentukan menu atau url tertentu. Dan memiliki pembatas yang sudah ditentukan, yaitu '&'.

Contoh : mendapatkan parameter format halaman pada permalink dengan id = 70.

$format = link_param('format', index.php?app=article&format=edit&id=70);

Output : edit

mod_param

mod_param(string $value, string $param)

Fungsi ini berguna untuk mengambil nilai dari parameter modul yang tersimpan di database. Dan memiliki pembatas yang sudah ditentukan, yaitu titik koma (;).

Contoh : mengambil parameter jumlah komentar yang ingin ditampilkan berdasarkan paremeter max_row.

$max_row = mod_param('max_row', $modParam);

Output : 10

menu_param

menu_param(string $value, int $id = null)

Fungsi ini dugunakan untuk mengambil nilai parameter dari menu berdasarkan id. Jika id null atau kosong maka id akan menunjuk halaman yang sedang terbuka.

Contoh : mendapatkan parameter show_image.

$param = menu_param('show_image',3);

Output : 0

app_param

app_param(string $output = null)

Fungsi ini digunakan untuk mendapatkan nilai dari data parameter Apps yang sedang terbuka. Bisa juga digunakan untuk mengetahui Apps apa yang sedang terbuka.

Paramater yang didapatkan berdasarkan nilai url ataupun permalink yang telah terbentuk dan dibatasi dengan '&'.

Contoh 1 : mengetahui Apps yang sedang terbuka.

$apps = app_param();

Output 1 : article

Contoh 2 : mengetahui category dari apps yang sedang terbuka.

$cat = app_param('category');

Output 2 : 18


Tags & Text

getHtmlTag(string $text, string $first, string $second)

Fungsi ini digunakan untuk mengambil kontent didalam tag diantara $first dan $second.

Contoh : mengambil konten diantara tag div.

$content = "<p><div class='cl'>oke ini konten</div></p>";
$content = getHtmlTag($content,"<div>","</div>");

Output : oke ini konten

stripTags

stripTags(string $text, string $tag)

Fungsi ini berguna untuk menghilangkan tags yang ada dalam konten.

$text = stripTags("<p>ini konten dalam paragraf <i>italic</i></p>");

Output : ini konten dalam paragraf italic (tanpa adanya format tag html).

URL & Redirect

redirect

redirect(string $url)

Fungsi ini akan mengalihkan halaman ke halaman tujuan menurut $url menggunakan fungsi header().

Contoh :

redirect('http://www.fiyo.org');

htmlRedirect

htmlRedirect(string $url, int $time = null)

Fungsi ini mengalihkan halaman dengan mode html dan memiliki waktu respon tertentu.

Contoh :

htmlRedirect('http://www.fiyo.org',3);

checkHomePage()

Fungsi ini mengecek apakah halaman yang sedang dibuka adalah halaman homepage atau bukan.

checkHomePage();

Output : true atau false.

getUrl()

Fungsi ini mengambil url yang sedang aktif.

getUrl();

Output : http://www.fiyo.org/developers/functions

getLink()

Fungsi ini menampilkan link yang terbentuk dari url sempurna dipotong dengan url situs.

getLink();

Output : ?app=article&view=item&id=23


File & Directory

addJs()

Fungsi ini digunakan untuk memanggil file javascript secara singkat.

addJs(string $file);
addJs('http://www.fiyo.org/themes/default/js/ini.js');

addCss()

Fungsi ini digunakan untuk memanggil file css dalam mode php.

addCss(string $file, string $media = null);

Contoh 1 : memanggil type css default.

addCss('file.css');

Contoh 2 : memanggil type css media = print

addCss('file.css','print');

delete_directory()

Fungsi ini digunakan untuk menghapus direktori / folder.

delete_directory(string $dir);

copy_directory()

Fungsi ini digunakan untuk menyalin atau memindah direktori.

copy_directory(string $source, string $destination, * $cut = null);

Contoh 1 : menyalin direktory dari folder apps ke folder temp_apps

copy_directory('apps','temp_apps');

Contoh 2 : memindah folder apps ke dalam folder dapur/apps.

copy_directory('apps','dapur/apps',true);


Fungsi Tambahan

angka()

Menghasilkan integer dengan tambahan titik setiap 3 digit.

Contoh : 500000

$int = angka(500000);

Output : 500.000

angka2()

menghasilkan integer dengan tambahan titik setiap 3 digit dan memiliki 2 poin terakhir.

Contoh 12345.6789

$int = angka2(12345.6789);

Output : 123.45,67

checkOnline()

Fungsi ini mengecek apakah situs terhubung dengan internet atau tidak.

if(checkOnline()) echo 'konek';

checkLocalhost()

Fungsi ini apakah situs masih dalam localhost (ip : 127.0.0.1).

if(checkLocalhost()) echo 'ini situs lokal';

checkMobile()

Fungsi ini apakah user menggunakan perangkat mobile.

if(checkMobile()) echo 'saya menggunakan HP';

randomString()

Fungsi ini menghailkan data acak berdasarkan panjang dan string yang telah ditentukan.

randomString(int $length, string $valid_chars = null)

Contoh : menghasilkan 5 angka acak dengan angka 0123456789.

$acak = randomString(5, '0123456789');

Output : 18357

formRefill()

Fungsi ini akan mengisi otomatis form otomatis jika $_POST[] sudah diset / dikirim. Biasanya digunakan untuk form inputan yang mengatasi masalah ketika pengguna telah mengisi data yang banyak tetapi data gagal dan harus mengisi dari awal.

formRefill(string $input_name, string $default_value = null, string $textarea  = null) 

Contoh 1 : menggunakan dalam textbox.

<input type='text' name='address' <?php formRefill('address'); ?> />

Contoh 2 : menggunakan dengan value yang sudah ditentukan sebelumnya.

<input type='text' name='address' <?php formRefill('address',$address); ?> />

Contoh 3 : menggunakan pada textarea.

<textarea><?php formRefill('address','','textarea');?></textarea>

alert()

Fungsi ini untuk menampilkan notifikasi.

alert(string $type = (info/error), $text = null, $echo = null, $style = null)

Contoh 1 : notifikasi jika login gagal dengan mode inline atau menampilkan langsung pada saat alert dipanggil.

alert('error','Login gagal!');

Contoh 2 : menggunakan mode echo yang berarti membutuhkan echo untuk menampilkan notifikasi.

$notice = alert('error','Login gagal!',true);
echo $notice;

Contoh 3 : menampilkan notifikasi tanpa style dari tema yang sendang digunakan.

alert('error','Login gagal!','',true);


Selengkapnya

Databases

Untuk melakukan konesi kedalam database, Fiyo memerlukan file config.php. File tersebut berisi variabel yang digunakan untuk koneksi ke database. Berikut konfigurasi untuk file config.php

Selengkapnya

Structure and Process

Sebagai developer Fiyo CMS mengetahui struktur adahal hal mutlak. Karena merupakan pokok utama selain mengetahui core code atau fungsi dasar Fiyo CMS. Berikut adalah gambaran dari struktur utama Fiyo CMS.

Selengkapnya
RSS