J3.x

Membuat sebuah modul sederhana/Menambahkan sebuah berkas skrip pasang-lepas-perbaru

From Joomla! Documentation

< J3.x:Creating a simple module
This page is a translated version of the page J3.x:Creating a simple module/Adding an install-uninstall-update script file and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎Bahasa Indonesia • ‎Nederlands
Joomla! 
3.x
Tutorial
Membuat sebuah modul sederhana

Ini adalah sebuah multi seri artikel tentang bagaimana caranya membuat sebuah modul untuk Joomla! Versi Joomla 3.x. Anda dapat menavigasikan artikel-artikel di dalam seri ini dengan menggunakan menu dropdown navigasi.

Mulai dengan Pendahuluan, dan navigasikan artikel di dalam seri ini dengan menggunakan tombol navigasi yang ada pada bagian bawah atau kotak di sebelah kanan (Artikel dalam seri ini).



Pengenalan

Memasang, memperbarui dan melepaskan sebuah modul mungkin memerlukan pengoperasian tambahan yang tidak dapat dicapai dengan pengoperasian dasar yang telah dijelaskan di dalam berkas utama xml. Joomla! menawarkan sebuah pendekatan baru untuk memecahkan masalah ini. Terdiri dari pemakaian sebuah berkas skrip php yang mengandung sebuah kelas dengan menggunakan lima metoda:

  • preflight yang dieksekusi sebelum pasang dan perbaru
  • pasang
  • perbaru
  • lepas
  • postflight yang dieksekusi setelah pasang dan perbaru

Membuat berkas skrip ekstensi

Menulis sebuah skrip ekstensi terdiri dari pendeklarasian sebuah kelas yang bernama mod_ModuleNameInstallerScript dengan 5 metoda berikut.

script.php

<?php
// No direct access to this file
defined('_JEXEC') or die;

/**
 * Script file of HelloWorld module
 */
class mod_helloWorldInstallerScript
{
	/**
	 * Method to install the extension
	 * $parent is the class calling this method
	 *
	 * @return void
	 */
	function install($parent) 
	{
		echo '<p>The module has been installed</p>';
	}

	/**
	 * Method to uninstall the extension
	 * $parent is the class calling this method
	 *
	 * @return void
	 */
	function uninstall($parent) 
	{
		echo '<p>The module has been uninstalled</p>';
	}

	/**
	 * Method to update the extension
	 * $parent is the class calling this method
	 *
	 * @return void
	 */
	function update($parent) 
	{
		echo '<p>The module has been updated to version' . $parent->get('manifest')->version . '</p>';
	}

	/**
	 * Method to run before an install/update/uninstall method
	 * $parent is the class calling this method
	 * $type is the type of change (install, update or discover_install)
	 *
	 * @return void
	 */
	function preflight($type, $parent) 
	{
		echo '<p>Anything here happens before the installation/update/uninstallation of the module</p>';
	}

	/**
	 * Method to run after an install/update/uninstall method
	 * $parent is the class calling this method
	 * $type is the type of change (install, update or discover_install)
	 *
	 * @return void
	 */
	function postflight($type, $parent) 
	{
		echo '<p>Anything here happens after the installation/update/uninstallation of the module</p>';
	}
}

Dalam metoda perbaru kami menunjukkan versi yang baru dengan menggunakan $parent->get('manifest')->version. Anda juga dapat mengalihkan ke sebuah halaman yang dipilih dengan $parent->getParent()->setRedirectURL('index.php?option=com_modules');.

Sekarang Anda perlu menambahkan sebuah panggilan ke dalam script.php Anda di dalam berkas xml modul: <scriptfile>script.php</scriptfile>