CMS

WEB DEVELOPMENT

Kami mengembangkan aplikasi CMS.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Showing posts with label Joomla. Show all posts
Showing posts with label Joomla. Show all posts

Membuat sendiri Modul di Joomla


Share:

Panduan Joomla

Share:

Joomla!

Joomla!


adalah sistem manajemen konten bebas dan terbuka yang ditulis menggunakan PHP dan basisdata MySQL untuk keperluan di internet maupun intranet. Joomla pertamakali dirilis dengan versi 1.0.0. Fitur-fitur Joomla! diantaranya adalah sistem caching untuk peningkatan performansi, RSS, blogs, poling, dan lainnya. Joomla! menggunakan lisensi GPL.

Asal kata Joomla sendiri berasal dari kata Swahili jumla yang mengandung arti "kebersamaan".

Prinsip Dasar

Pada tanggal 17 September 2005, diluncurkan Joomla versi awal yaitu 1.0.0 yang merupakan versi alias dari Mambo 4.5.2.3 yang dikembangkan oleh "Pengembang Inti Mambo hingga Agustus 2005" yang hengkang dari Mambo.

Pemimpin Tim saat itu Andrew Eddie yang dikenal dengan sebutan "MasterChief" menulis surat terbuka di komunitas dan diumumkan di forum mamboserver.com. Tim pengembang kemudian membuat situs OpenSourceMatters untuk mendistrubusikan informasi ke pengguna, pengembang, desainer web dan komunitas lain pada umumnya.

Perkembangan Joomla berawal dari Joomla 1.0.0 sampai dengan tahap yang luar biasa yaitu Joomla 1.0.15. Namun seiring dengan perkembangan versi Joomla 1.0.x ini, sekitar tahun 2007 telah dimulai pengembangan Joomla 1.5.x yang memiliki beberapa persamaan dan perbedaan yang cukup signifikan. Saat ini Joomla 1.5.x telah mencapai pada tahap Joomla 1.5.20.Untuk versi Joomla 1.6 sudah pada tahap versi beta dan dapat diunduh di www.joomla.org. Semakin baru versi Joomla memiliki penyempurnaan dari versi-versi sebelumnya.




Share:

Note Tentang Joomla

Search Link
http://ajax.googleapis.com/ajax/lib
Didalam aplikasi Joomla ada beberapa perintah search link diantaranya ajax.googleapis.com. Jika server anda terhubung dengan Internet hal tersebut tentu tidak/bukan merupakan persoalan, namun jika anda menggunakan Joomla dalam jaringan Local/Intranet ini akan memperlambat proses dan ataupun bisa mengurangi unjuk kerja dari aplikasi Joomla anda.

Pada Joomla http://ajax.googleapis.com/ajax/lib berada pada file-file berikut :

com_k2/controllers
File comments.php dan item.php

Share:

Cara Memasang (Install) Extentions

Cara Memasang (Install)  Extentions


Menurut dokumentasi Joomla, komponen (component) merupakan salah satu jenis ekstensi Joomla (Joomla extension). Komponen merupakan unit-unit fungsi utama Joomla dan dapat dipandang sebagai aplikasi mini. Apabila diibaratkan sebagai perangkat lunak sebuah komputer, Joomla adalah sistem operasi dan komponen itu sendiri adalah aplikasinya. Umumnya, komponen mempunyai area administrasi yang digunakan untuk mengelola atau mengkonfigurasi komponen itu sendiri. Umumnya, sebuah komponen dapat dikenali dengan mudah dari awalah com_ yang melekat pada nama file paket (package file) berekstensi .zip yang diunduh (walaupun tidak semua komponen harus diawali dengan com_)
Anda dapat menemukan berbagai jenis komponen di JED (Joomla! Extensions Directory) atau di situs-situs penyedia ekstensi Joomla yang lain. Sebagaimana dengan ekstensi Joomla seperti modul (module) atau plugin, komponen juga harus diinstal di sistem Joomla sebelum digunakan. Salah satu komponen yang banyak diinstal (dipasang) di sistem Joomla adalah editor JCE. JCE adalah salah satu editor WYSIWYG yang bersifat gratis, dapat diunduh dan digunakan oleh siapa saja. Sekalipun Joomla Anda telah memiliki tiga editor bawaan, editor JCE dapat dijadikan pelengkap karena memiliki beberapa fitur yang tidak ditemukan di ketiga editor bawaan, salah satunya adalah fitur untuk membuat link dari sebuah modul ke sebuah artikel tertentu dengan mudah. Berikut ini adalah langkah-langkah untuk menginstal komponen (editor JCE) di sistem Joomla Anda:
Diasumsikan bahwa Anda telah mengunduh (download) komponen Editor JCE, masuk terlebih dahulu ke area backend Joomla (Joomla Dashboard) dan kemudian klik menu Extensions > Extension Manager.
Pastikan Anda berada di tab Upload Package File dan kemudian klik tombol Choose File.

Dari jendela Open yang muncul, cari folder tempat penyimpanan file paket (com_jce-2324) yang telah Anda unduh (download), pilih file paket tersebut dan kemudian klik tombol Open.
Untuk mulai memasang (install) komponen tersebut, klik tombol Upload & Install.
Apabila instalasi komponen berjalan dengan baik, Anda akan mendapatkan pesan bahwa instalasi komponen telah sukses dilakukan.
Share:

JED (Joomla Extension Directory).

JED (Joomla Extension Directory).
Joomla CMS sudah memiliki halaman khusus bagi para pengembang Joomla, jika di Apple kita kenap AppStore, di Android ada Play Store, di Joomla juga ada JED (Joomla Extension Directory)JED merupakan halaman resmi yang dikelola oleh tim Joomla secara professional. Saat ini di JED sudah ada 6000 lebih extension yang dapat kita gunakan di Joomla CMS.
Halaman JED dapat kita akses di alamat http://extensions.joomla.org dengan tampilan sebagai berikut :

Cara paling mudah untuk mendapatkan extension yang kita inginkan adalah dengan melakukan pencarian. Anda dapat mencari dengan menggunakan menu pencarian yang ada pada bagian kanan atas website JED, kemudian tekan tombol enter untuk menjalankan proses pencarian.

Sebagai contoh saya melakukan pencarian dengan kata kunci "guest book" dengan hasil sebagai berikut :


Selanjutnya adalah tinggal memilih extension mana yang sesuai dengan kriteria website yang akan anda bangun.
Untuk membantu anda memilih, anda dapat memperhatikan ulasan dari para pengguna extension, seperti review/testimoni, jumlah orang yang suka maupun tidak biasanya dengan mudah dapat kita ketahui. Dengan begitu ada jaminan bahwa extension yang kita gunakan dapat eksis terus mengikuti perkembangan Joomla CMS.

Dari gambar di atas saya akan menjelaskan sedikit fungsi dari icon yang ada
1. Anda dapat mengetahui extension tersebut mendukung versi Joomla yang mana
2. Anda dapat mengetahui jumlah orang yang memberikan suaranya
3. Anda dapat mengetahui paket dari extension (C=Component, M=Module, P=Plugin)
Jika lebih lanjut ke dalam halaman sebuah extension, anda akan diberikan informasi lebih lengkap lagi dari si pembuat extension, dengan begitu anda akan lebih mudah lagi mengetahui fungsi, fitur dan demo dari sebuah extension.
dari gambar di atas anda akan memperoleh informasi :
1. Link untuk mendownload extensionnya
2. Halaman demo yang disediakan oleh pengembang extension
3. Dukungan dari pengembang extension
4. Halaman Dokumentasi dari extension
Anda juga dapat memperoleh deskripsi lebih lanjut dari extension di halaman tersebut, dengan demikian akan mempermudah anda untuk memilih extension sebelum anda memasangnya di website Joomla anda.
Semoga bermanfaat
Share:

Extentions






Sebagai pengguna Joomla CMS, baik sebagai pengguna awam atau sebagai Joomla Web Developer pastinya anda sangat membutuhkan extensionsyang sesuai dengan website yang anda bangun. Joomla CMS dikenal sangat kaya akan dukungan extension dan para pengembangnya yang tersebar di seluruh dunia dengan berbagai macam extensions yang mereka buat.
Sebelumnya saya ingin menjelaskan sekilas mengenai extensions di Joomla CMS.
Joomla Extension(s)
merupakan aplikasi yang berjalan di Joomla CMS untuk meningkatkan fungsi dan kemampuan Joomla CMS itu sendiri. Terdapat 5 bagian extensions yang ada dalam Joomla CMS, yaitu Component (Komponen)Module (Modul)PluginTemplate (Tema) dan Language (Bahasa), apa sih fungsi setiap bagian tersebut, berikut sedikit penjelasan singkatnya.
Component (Komponen),
merupakan aplikasi yang berdiri sendiri dan berjalan di dalam Joomla CMS, komponen dapat juga didukung oleh modul, plugin, template dan bahasa, contoh komponen adalah, galeri foto, buku tamu, forum diskusi, dll.
Module (Modul),
merupakan aplikasi yang menjadi bagian dari Joomla CMS, sebuah komponen atau berdiri sendiri. Contoh modul di Joomla CMS seperti statistik pengunjuk, artikel terbaru, artikel populer. Modul di Joomla CMS dapat diposisikan pada posisi template (tema) yang digunakan atau dapat dipanggil melalui plugin.
Plugin (Plugin)
merupakan aplikasi yang berjalan di sistem Joomla CMS atau dapat juga merupakan bagian dari paket sebuah modul maupun komponen. Contoh plugin adalah, plugin social network, typography, ringkasan artikel dll.
Template (Tema),
merupakan bagian terpenting dari Joomla CMS, karena dengan template tampilan sebuah website dapat dilihat oleh pengunjung di internet, pada saat menginstall Joomla pengembang inti joomla sudah menyediakan template standar yang dapat kita gunakan. Akan tetapi banyak sekali template joomla yang bisa kita gunakan baik secara cuma-cuma maupun membayar.
Language (Bahasa)
merupakan paket khusus joomla yang dapat kita sesuaikan dengan bahasa lokal di negara kita, saat ini bahasa indonesia untuk Joomla 2.5 sudah memiliki terjemahan yang baik, karena langsung dikerjakan oleh Tim Hanacaraka komunitas joomla Indonesia.
Dari ke-5 bagian extension tersebut semuanya pasti akan kita gunakan jika kita akan mengembangkan sebuah website berbasis Joomla CMS.
Berikutnya yang terpenting adalah, bagaimana sih untuk mendapatkan semua extension tersebut, atau tempat untuk melihat perkembangan extension joomla secara rutin.
Share:

Membuat Komponen Sendiri dengan Joomla

Hal terpenting untuk suatu komponen di Joomla adalah memiliki file XML yang menentukan bagaimana komponen tersebut harus diintegrasikan ke dalam sang CMS. Sebagai contoh, anggaplah kita akan membuat sebuah komponen Joomla bernama “coba” yang berfungsi untuk menampilkan data user joomla.


 Untuk itu file XML-nya dapat dibuat seperti ini: 
file name coba.xml
"--->
<extension type="component" version="2.5.0" method="upgrade">
        <name>coba!</name>
        <!-- The following elements are optional and free of formatting constraints -->
        <creationDate>Oktober 2013</creationDate>
        <author>syaifullah</author>
        <authorEmail>singkawangonline@gmail.com</authorEmail>
        <authorUrl>http://www.bni2strore.com</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>Menampilkan data user ...</description>
        <update> <!-- Runs on update; New in 2.5 -->
                <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>coba.php</filename>
<filename>localdata.php</filename>
                <filename>controller.php</filename>
                <folder>views</folder>
        </files>
        <administration>
                <!-- Administration Menu Section -->
                <menu>coba!</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>coba.php</filename>
<filename>localdata.php</filename>
                        <!-- SQL files section -->
                        <folder>sql</folder>
                </files>
        </administration>
</extension>
Buatlah file coba.php (saya menggunakan dreamwever untuk membuat file coba.php)
<?php 
defined('_JEXEC') or die('Restricted access');
require_once('localdata.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
mysql_select_db($database_localdata, $localdata);
$query_Recordset1 = "SELECT * FROM syi7k_users";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $localdata) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false && 
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?><html>
<table border="1" align="center">
  <tr>
    <td>id</td>
    <td>name</td>
    <td>username</td>
    <td>email</td>
    <td>usertype</td>
    <td>sendEmail</td>
    <td>registerDate</td>
    <td>lastvisitDate</td>
    <td>activation</td>
    <td>params</td>
  </tr>
  <?php do { ?>
    <tr>
      <td><a href="/test.php?recordID=<?php echo $row_Recordset1['id']; ?>"> <?php echo $row_Recordset1['id']; ?>&nbsp; </a> </td>
      <td><?php echo $row_Recordset1['name']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['username']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['email']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['usertype']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['sendEmail']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['registerDate']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['lastvisitDate']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['activation']; ?>&nbsp; </td>
      <td><?php echo $row_Recordset1['params']; ?>&nbsp; </td>
    </tr>
    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
<br>
<table border="0" width="50%" align="center">
  <tr>
    <td width="23%" align="center"><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
          <a href="/<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">First</a>
          <?php } // Show if not first page ?>
    </td>
    <td width="31%" align="center"><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
          <a href="/<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">Previous</a>
          <?php } // Show if not first page ?>
    </td>
    <td width="23%" align="center"><?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
          <a href="/<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>">Next</a>
          <?php } // Show if not last page ?>
    </td>
    <td width="23%" align="center"><?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
          <a href="/<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">Last</a>
          <?php } // Show if not last page ?>
    </td>
  </tr>
</table>
Records <?php echo ($startRow_Recordset1 + 1) ?> to <?php echo min($startRow_Recordset1 + $maxRows_Recordset1, $totalRows_Recordset1) ?> of <?php echo $totalRows_Recordset1 ?>
</html>
<?php
mysql_free_result($Recordset1);
?>
selanjutnya melakukan penyesuaian pada baris paling atas yaitu :
<?php 
defined('_JEXEC') or die('Restricted access');
require_once('localdata.php'); ?>
Membuat file koneksi berupa file localdata.php sebagai berikut :
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_localdata = "localhost"; //sesuaikan dengan kondisi data masing
$database_localdata = "joomdle"; //sesuaikan dengan kondisi data masing
$username_localdata = "root";//sesuaikan dengan kondisi data masing
$password_localdata = "";
$localdata = mysql_pconnect($hostname_localdata, $username_localdata, $password_localdata) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
Buat file index.html :
<html><body bgcolor="#FFFFFF"></body></html>
Buat file default.php :
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<h1><?php echo $this->msg; ?></h1>
Buat file controller.php
isinya blank
Buat file view.html.php
<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<h1><?php echo $this->msg; ?></h1>
Buat file default.xml
<?xml version="1.0" encoding="utf-8"?>
<metadata>
        <layout title="COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_TITLE">
                <message>
                        <![CDATA[COM_HELLOWORLD_HELLOWORLD_VIEW_DEFAULT_DESC]]>
                </message>
        </layout>
</metadata>
(silahkan sesuai dengan hasil yang anda inginkan)
Buat file 0.0.1.sql
isinya blank
Share:

JINC




JINC (Joomla! Integrated Newsletters Component) is a easy-to-use newsletter component for Joomla!. 


JINC includes these newsletter functionalities

  • Basic Management - Creation and editing of unlimited number of newsletters.
  • Profiling - Access restriction to a newsletter to guests, users or groups of users.
  • Auto-subscription - Automatic newsletter subscription after Joomla! user registration.
  • Welcome Message and Disclaimer - Welcome message after newsletter subscription and disclaimer automatically added to every newsletter message.
  • Themes management - Several frontend themes available to show a newsletter in Joomla! frontend
  • Template management - Definition of message templates to avoid copy and paste at every message creation.
  • Content type management - Possibility to choose between plain text and HTML messages.
  • Massime or personalized mails - One mail per subscriber or mails with a lot subscribers in Blind Carbon Copy.
  • Multi Attachment - One or more attachments for messages.
  • TAG substitution - Subscribers and newsletters info TAGs substituted while sending process.
  • Start/Stop functionalities - Possibility to start the message sending process, pause it and re-start later
  •  E-mail confirmation - Mail confirmation during subscription and unsubscription by opt-in messages.
  • Massive import - Import subscriber lists from CSV files.
  • Groups management - Creation of groups of potential subscribers for private newsletters.
  • Joomla! Contact Integration - Possibility to retrieve subscribers information from Joomla! contacts
  • Addictional attributes - Administrator definible mandatory or optional attributes to subscribe a newsletter
  • Captcha confirmation - Activable captcha for newsletter subscription
  • Event based statistics - Statistics registered based on events (subscription, unsubscription, message sent).
  • Time based statitics - Statistics showed by time line.
  • Statistics charts - Trend of events time based showed in a chart.
  •  Frontend translations - Frontend translated in english, italian, french, spanish, german and dutch
  • Backend translations - Backend translated in english and italian




JINC Main Page and Global Configuration

JINC 1.6 can be accessed by Joomla! administrator through the Component menĂ¹ of Joomla! administration. The main page, as displayed in the following figure, allows to access every JINC functionalities and shows information about version, license and links to documentation and forum.


Using the main page you can also check your JINC version and the latest version available.

Share:

Membuat Komponen Sendiri





Hal terpenting untuk suatu komponen di Joomla adalah memiliki file XML yang menentukan bagaimana komponen tersebut harus diintegrasikan ke dalam sang CMS. Sebagai contoh, anggaplah kita akan membuat sebuah komponen Joomla bernama “coba” yang berfungsi untuk menampilkan data user joomla. Untuk itu file XML-nya dapat dibuat seperti ini:



<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="2.5.0" method="upgrade">
 
<name>Hello World!</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>November 2009</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>http://www.example.org</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>Description of the Hello World component ...</description>
 
<update> <!-- Runs on update; New in 2.5 -->
<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>helloworld.php</filename>
</files>
 
<administration>
<!-- Administration Menu Section -->
<menu>Hello World!</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>helloworld.php</filename>
<!-- SQL files section -->
<folder>sql</folder>
</files>
</administration>
 
</extension>

Share:

Good News

Powered by Blogger.

Labels