Convertire vecchie estensioni a Joomla 1.5
scritto da Federico Capoano
Con la fine del supporto a Joomla 1.0, che avverrà il 22 Luglio 2009, gli sviluppatori saranno costretti ad aggiornare il codice delle proprie estensioni al nuovo framework di Joomla 1.5.
Purtroppo fino al momento in cui sto scrivendo (25 Marzo 2009) ci sono ancora molte estensioni abbastanza conosciute che non sono ancora state riscritte per funzionare nativamente su Joomla 1.5 (per nativamente si intende senza legacy mode).
Con le indicazioni presenti su questa guida spero di poter aiutare chi ha scritto un’estensione per Joomla 1.0 e non ha ancora avuto modo di aggiornarla.
Old way vs New way (vecchia maniera vs nuovo metodo)
Il modo migliore per convertire un’estensione in modo che giri nativamente su Joomla 1.5 è quello di disattivare il legacy mode e osservare gli errori che occorrono.
Le seguenti tabelle indicano come rimpiazzare il vecchio codice con il nuovo.
Bisogna tenere a mente però che questo metodo deve esere utilizzato solo come un’aiuto per iniziare la conversione dell’estensione al nuovo framwork di Joomla 1.5. In alcuni casi ci sono migliori modi di fare o sono state introdotte nuove funzionalità che funzionerebbero meglio della semplice sotituzione del vecchio codice con il nuovo.
Indice / Sommario
- Cambiamenti delle funzioni del template
- Cambiamenti alle variabili globali di Joomla
- Cambiamenti generali API e funzioni
- Cambiamenti che coinvolgono il database
- Cambiamenti ai componenti
- Cambiamenti agli helper dei menu dell’amministrazione (backend)
- Cambiamenti all’API che gestisce il caching
- Altri cambiamenti a varie classi
- Cambiamenti alle classi di helper HTML
- Utilizzo delle barre dei menu e degli strumenti (menubar e toolbar)
- Cambiamenti alle classi del core rappresentati le tabelle del database
- Utilizzo dei plugin
- Formati dei file
1. Cambiamenti alle funzioni del template
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Visualizzare il componente (contenuto principale) | |
<?php echo mosMainBody();?> |
<jdoc:include type="component" /> |
Contare il numero dei moduli in una posizione | |
<?php if (mosCountModules('left')) : ?> |
|
<?php if (mosCountModules('left') || mosCountModules('right')) : ?> |
|
Caricare i moduli in una posizione | |
<?php mosLoadModules('left', 0);?> |
<jdoc:include type="modules" name="left" style="table"/></code></td> |
<?php mosLoadModule('Banners', -1);?> |
<jdoc:include type="module" name="Banners" style="raw" /> |
<?php mosLoadModule('Latest News', -2);?> |
<jdoc:include type="module" name="Latest News" style="xhtml" /> |
<?php mosLoadModule('Newsflash', -3);?> |
<jdoc:include type="module" name="Newsflash" style="rounded" /> |
Includere le direttive del tag <head> | |
<?php mosShowHead();?> |
<jdoc:include type="head" /> |
Mostrare il pathway | |
<?php mosPathWay();?> |
Includere una posizione in cui caricare il modulo "breadcrumbs". |
2. Cambiamenti alle variabili globali di Joomla
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Percorso assoluto del file system alla cartella d'installazione del sito | |
global $mosConfig_abosolute_path; $path = $mosConfig_abosolute_path.'/file.php'; |
$path = JPATH_SITE.DS.'file.php'; |
Percorso del file system alla cartella adminstrator | |
global $mosConfig_abosolute_path; $path = $mosConfig_abosolute_path.'/administrator/file.php'; |
$path = JPATH_ADMINISTRATOR.DS.'file.php'; |
Percorso del file system al componente corrente | |
N/A | $path = JPATH_COMPONENT.DS.'file.php'; |
URL base del sito | |
global $mosConfig_live_site; |
$url = JUri::base(true); |
Oggetto dell'applicazione | |
global $mainframe; |
$app = &JFactory::getApplication(); |
// prima possibilità $path = $mainframe->getBasePath(0); // seconda possibilità $path = $mainframe->getBasePath('site'); // terza possibilità $path = $mainframe->getBasePath('front'); |
// metodo unico $path = JPATH_SITE.DS; |
// prima possibilità $path = $mainframe->getBasePath(2); // seconda possibilità $path = $mainframe->getBasePath('installation'); |
// metodo unico $path = JPATH_INSTALLATION.DS; |
// prima possibilità $path = $mainframe->getBasePath(1); // seconda possibilità $path = $mainframe->getBasePath('admin'); // terza possibilità $path = $mainframe->getBasePath('administrator'); |
// metodo unico $path = JPATH_ADMINISTRATOR.DS; |
$mainframe->setPageTitle($title); |
$document=& JFactory::getDocument(); $document->setTitle($title); |
$mainframe->getPageTitle(); |
$document=& JFactory::getDocument(); $title = $document->getTitle(); |
Accedere alle variabili del file di configurazione | |
global $list_limit; |
$app = &JFactory::getApplication(); $limit = $app->getCfg('list_limit'); |
Recuperare il nome del componente | |
global $option; |
$option = JRequest::getCmd('option'); |
Recuperare l'oggetto contenente i dettagli dell'utente corrente | |
global $my; |
$user = &JFactory::getUser(); |
Recuperare l'oggetto contenente il database | |
global $database; |
$db = &JFactory::getDbo(); |
3. Cambiamenti generali API e funzioni
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Controllo accesso diretto | |
defined('_VALID_MOS') or die; |
defined('_JEXEC') or die; |
Traduzione testi | |
<?php echo _COMMENTS_TITLE;?> |
<?php echo JText::_('Comments_Title');?> |
Accedere alle variabili dell'array superglobale $_REQUEST | |
$cid = mosGetParam($_REQUEST, 'cid', array()); |
$cid = JRequest::getVar('cid', array()); |
$ints = josGetArrayInts($name, $type); |
$ints = JRequest::getVar($name, array(), 'method', 'array'); JArrayHelper::toInteger($ints); |
Parametri | |
$params = new mosParameters($ini); |
$params = new JParameter($ini); |
Recuperare i parametri del componente | |
$comp = new mosComponent($database); $comp->load($foobar_id); $params = new mosParameters($comp->params); |
$params = JComponentHelper::getParams('com_foobar'); |
Modificare informazioni degli oggetti | |
mosBindArrayToObject($array, &$obj, $ignore, $prefix, $checkSlashes); |
// object è derivato da JTable $object->bind($array, $ignore); |
Criptare una stringa | |
$value = mosHash($seed); |
$value = JUtility::getHash($seed); |
Bloccare l'accesso a un utente non autorizzato | |
mosNotAuth(); |
JError::raiseError('401', JText::_('ALERTNOTAUTH')); |
Visualizza un messaggio d'errore | |
mosErrorAlert($text, $action, $mode); |
In questo caso la sostituzione diretta non è possibile. Si raccomanda di gettare un'eccezione di tipo "notice" usando JError::raiseNotice o un di tipo "warning" utilizzando JError::raiseWarning e in seguito reindirizzare la pagina. |
Ripulire il percorso del file system | |
mosPathName($p_path, $p_addtrailingslash); |
jimport('joomla.filesystem.path'); $path = JPath::clean($p_path); // Handle trailing slash manually |
Inviare email | |
mosMail($from, $fromname, $recipient, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname ); |
JUtility::sendMail($from, $fromname, $recipient, $subject, $body, $mode, $cc, $bcc, $attachment, $replyto, $replytoname ); |
mosSendAdminMail($adminName, $adminEmail, $email, $type, $title, $author); |
JUtility::sendAdminMail($adminName, $adminEmail, $email, $type, $title, $author) |
Produrre una password | |
$pwd = mosMakePassword(); |
jimport('joomla.user.helper'); $pwd = JUserHelper::genRandomPassword(); |
Effettuare un redirect ad un'altra pagina | |
mosRedirect($url, $msg); |
$app = &JFactory::getApplication(); $app->redirect($url, $msg); |
Gestire le cartelle | |
$result = mosMakePath($base, $path, $mode); |
jimport('joomla.filesystem.folder'); $result = JFolder::create($base.$path, $mode == null ? 0755 : $mode); |
$result = deldir($path); |
jimport('joomla.filesystem.folder'); $result = JFolder::delete($path); |
Covertire array ad interi | |
mosArrayToInts($array, $default); |
JArrayHelper::toInteger($array, $default); |
Permessi dei file | |
$result = mosChmod($path); |
jimport('joomla.filesystem.path'); $result = JPath::setPermissions($path); |
$result = mosChmodRecursive($path, $filemode, $dirmode); |
jimport('joomla.filesystem.path'); $result = JPath::setPermissions($path, $filemode, $dirmode); |
$result = mosIsChmodable($file); |
jimport('joomla.filesystem.path'); $result = JPath::canChmod($file); |
Recuperare informazioni sul browser | |
$browser = mosGetBrowser($agent); |
jimport('joomla.environment.browser'); $browser = &JBrowser::getInstance(); |
$os = mosGetOS($agent); |
jimport('joomla.environment.browser'); $browser = &JBrowser::getInstance(); $os = $instance->getPlatform(); |
Visualizzare la select per il campo ordering | |
mosGetOrderingList($sql, $chop) |
JHTML::_('list.genericordering', $sql, $chop) |
Effettuare il Parsing di file INI | |
$params = mosParseParams($txt) |
$registry = new JRegistry(); $registry->loadINI($txt); $params = $registry->toObject(); // or $params = new JParameter($txt); |
Utilizzo degli Editor | |
initEditor(); |
$editor = &JFactory::getEditor(); echo $editor->initialise(); |
getEditorContents($editorArea, $hiddenField); |
jimport('joomla.html.editor'); $editor = &JFactory::getEditor(); echo $editor->save($hiddenField); |
editorArea($name, $content, $hiddenField, $width, $height, $col, $row); |
jimport( 'joomla.html.editor' ); $editor = &JFactory::getEditor(); echo $editor->display($hiddenField, $content, $width, $height, $col, $row); |
Menu basato su autorizzazione | |
$allowed = mosMenuCheck($Itemid, $menu_option, $task, $gid); |
$user =& JFactory::getUser(); $menus =& JSite::getMenu(); $allowed = $menus->authorize($Itemid, $user->get('aid')); |
Convertire un oggetto in un array | |
$array = mosObjectToArray($p_obj, $recurse, $regex); |
$array = JArrayHelper::fromObject($p_obj, $recurse, $regex); |
Funzioni per le date | |
echo mosFormatDate($date, $format, $offset); |
echo JHTML::_('date', $date, $format ? $format : JText::_('DATE_FORMAT_LC1'), $offset); |
echo mosCurrentDate($format); |
echo JHTML::_('date', 'now', $format ? $format : JText::_('DATE_FORMAT_LC1')); |
Ripulire le variabili prima di visualizzarle (safe output) | |
mosMakeHtmlSafe($row, $quote_style, $exclude_keys); |
JFilterOutput::objectHTMLSafe($row, $quote_style, $exclude_keys); |
<?php echo ampReplace($text);?> |
<?php echo JFilterOutput::ampReplace($text);?> |
Ordinare un'array di oggetti | |
SortArrayObjects($array, $k, $sort_direction); |
JArrayHelper::sortObjects($array, $k, $sort_direction); |
Controllo CSRF (spoof) | |
josSpoofValue($alt); |
Immettere il codice seguente prima della fine del form: <?php echo JHtml::_('form.token'); ?> |
josSpoofCheck($header, $alternate); |
JRequest::checkToken() or die(JText::_('Invalid Token')); |
Caricare il supporto al tooltip javascript | |
loadOverlib(); |
JHTML::_('behavior.tooltip'); |
mosToolTip($tooltip, $title, $width, $image, $text, $href, $link); |
JHTML::_('tooltip', $tooltip, $title, $image, $text, $href, $link) |
<?php echo mosWarning($warning, $title);?> |
<?php echo JHTML::tooltip($warning, $title, 'warning.png', null, null, null);?> |
Routing delle URL (abilitare l'URL per la reiscrizione) | |
<?php echo sefRelToAbs($link);?> |
<?php echo JRoute::_($link);?> |
Albero di dati trasversale | |
mosTreeRecurse($id, $indent, $list, $children, $maxlevel, $level, $type); |
JHTML::_('menu.treerecurse', $id, $indent, $list, $children, $maxlevel, $level, $type) |
Funzioni che non hanno un'equivalente diretto | |
mosBackTrace($message); |
|
mosCreateMail($from, $fromname, $subject, $body); |
|
mosShowSource($filename, $withLineNums); |
|
mosLoadComponent($name); |
Gestito da JDocument . |
initGzip(); // oppure doGzip(); |
Usato solo a livello generale dall'applicazione. Non ha effetto sulle estensioni. |
4. Cambiamenti che coinvolgono il database
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Classi che rappresentano le tabelle del database | |
class MyTable extends mosDBTable { // lots of variables defined function MyTable(&$db) { $this->mosDBTable('#__table_name', 'id', $db); } } |
class MyTable extends JTable { // lots of variables defined function __construct(&$db) { parent::__construct('#__table_name', 'id', $db); } } |
Impostare il limit nelle query al database | |
$sql = 'SELECT *' . ' FROM #__table_name' . ' LIMIT 10, 20'; $database->setQuery($sql); |
$db = &JFactory::getDbo(); $db->setQuery( 'SELECT *' .' FROM #__table_name' .' LIMIT 10, 20', 10, 20 ); |
Caricare i risultati di una query al database in un oggetto | |
$db->loadObject($object); |
$object = $db->loadObject(); |
5. Cambiamenti ai componenti
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Recuperare un percorso predefinito | |
$mainframe->getPath('admin_html'); |
JApplicationHelper::getPath('admin_html'); |
Recuperare i parametri di un componente | |
$comp = new mosComponent($database); $comp->load($foobar_id); $params = new mosParameters($comp->params); |
$params = JComponentHelper::getParams('com_foobar'); |
6. Cambiamenti agli helper dei menu dell'amministrazione (backend)
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Visualizzare una select list con l'ordine degli elementi | |
mosAdminMenus::Ordering($row, $id); |
JHTML::_('menu.ordering', $row, $id); |
Visualizzare una lista con i livelli d'accesso | |
mosAdminMenus::Access($row); |
JHTML::_('list.accesslevel', $row); |
Visualizzare una select con gli stati published | |
mosAdminMenus::Published($row); |
JHTML::_('select.booleanlist', 'published', 'class="inputbox"'</span>, <span style="color: #0000ff;">$row->published); |
Visualizzare una lista menu in formato multi-select | |
mosAdminMenus::MenuLinks($lookup, $all, $none, $unassigned); |
JHTML::_('select.genericlist', $options, 'selections[]', 'class="inputbox" size="15" multiple="multiple"'</span>, <span style="color: #ff0000;">'value', 'text', $lookup, 'selections' ); |
Visualizzare la lista delle categorie in una select | |
mosAdminMenus::Category($menu, $id, $javascript); |
Nessuna sostituzione diretta disponibile |
Visualizzare la lista delle sezioni in una select | |
mosAdminMenus::Section($menu, $id, $all); |
Nessuna sostituzione diretta disponibile |
Visualizzare la lista dei componenti in una select | |
mosAdminMenus::Component($menu, $id); |
Nessuna sostituzione diretta disponibile |
Recuperare il nome del componente | |
mosAdminMenus::ComponentName($menu, $id); |
Nessuna sostituzione diretta disponibile |
Visualizzare la lista delle immagini in una select | |
mosAdminMenus::Images($name, $active, $javascript, $directory); |
JHTML::_('list.images', $name, $active, $javascript, $directory); |
Visualizzare i valori dell'ordinamento in una select | |
mosAdminMenus::SpecificOrdering($row, $id, $query, $neworder); |
JHTML::_('list.specificordering', $row, $id, $query, $neworder); |
Visualizzare la lista degli utenti in una select | |
mosAdminMenus::UserSelect( $name, $active, $nouser, $javascript, $order, $reg); |
JHTML::_('list.users', $name, $active, $nouser, $javascript, $order, $reg); |
Visualizzare la lista dell'allineamento delle posizioni in una select | |
mosAdminMenus::Positions($name, $active, $javascript, $none, $center, $left, $right, $id); |
JHTML::_('list.positions', $name, $active, $javascript, $none, $center, $left, $right, $id); |
Visualizzare la lista delle categorie dei componenti in una select | |
mosAdminMenus::ComponentCategory($name, $section, $active, $javascript, $order, $size, $sel_cat); |
JHTML::_('list.category', $name, $section, $active, $javascript, $order, $size, $sel_cat); |
Visualizzare una select con la lista delle sezioni | |
mosAdminMenus::SelectSection($name, $active, $javascript, $order); |
JHTML::_('list.section', $name, $active, $javascript, $order); |
Visualizzare una select con la lista delle voci di menu di un determinato tipo | |
mosAdminMenus::Links2Menu($type, $and); |
Nessuna sostituzione diretta disponibile |
Visualizzare una select con la lista delle voci di un menu | |
mosAdminMenus::MenuSelect($name, $javascript); |
Nessuna sostituzione diretta disponibile |
Restituire un array delle immagini presenti in una cartella | |
mosAdminMenus::ReadImages($imagePath, $folderPath, $folders, $images); |
Nessuna sostituzione diretta disponibile |
Visualizzare una select speciale con la lista delle immagini di una cartella | |
mosAdminMenus::GetImageFolders($folders, $path); |
Nessuna sostituzione diretta disponibile |
Visualizzare una select speciale con la lista delle immagini con anteprima | |
mosAdminMenus::GetImages($images, $path); |
Nessuna sostituzione diretta disponibile |
Visualizzare una select speciale con la lista delle immagini con anteprima salvate | |
mosAdminMenus::GetSavedImages($row, $path); |
Nessuna sostituzione diretta disponibile |
Visualizza il risultato di un controllo nel frontend per un'immagine che potrebbe essere presente in un override del template | |
mosAdminMenus::ImageCheck($file, $directory, $param, $param_directory=, $alt, $name, $type, $align); |
JHTML::_('image.site', $file, $directory, $param, $param_directory, $alt, array('align' => $align), $type); |
Visualizza il risultato di un controllo nel backend per un'immagine che potrebbe essere presente in un override del template | |
mosAdminMenus::ImageCheckAdmin($file, $directory, $param, $param_directory, $alt, $name, $type, $align); |
JHTML::_('image.administrator', $file, $directory, $param, $param_directory, $alt, array('align' => $align), $type); |
Metodi deprecati | |
mosAdminMenus::menutypes(); |
Deprecato |
mosAdminMenus::menuItem($item); |
Deprecato |
7. Cambiamenti all'API che gestisce il caching
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
Get the cache for a group | |
$cache = mosCache::getCache($group); |
return JFactory::getCache($group); |
Clean the cache for a group | |
mosCache::cleanCache($group); |
$cache =& JFactory::getCache($group); $cache->clean($group); |
8. Altri cambiamenti a varie classi
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
class MyClass extends mosAbstractTasker
|
class MyController extends JController
|
$object = new mosEmpty; |
$object = new JObject; |
MENU_Default::MENU_Default(); |
JToolBarHelper::publishList(); JToolBarHelper::unpublishList(); JToolBarHelper::addNew(); JToolBarHelper::editList(); JToolBarHelper::deleteList(); JToolBarHelper::spacer(); |
$tabs = new mosTabs($useCookies); |
$pane = new JPaneTabs(array('useCookies' => $useCookies)); |
9. Cambiamenti alle classi di helper HTML
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
mosCommonHTML::ContentLegend(); |
Nessuna sostituzione diretta disponibile. |
mosCommonHTML::menuLinksContent($menus); |
Nessuna sostituzione diretta disponibile. |
mosCommonHTML::menuLinksSecCat($menus); |
Nessuna sostituzione diretta disponibile. |
Visualizza una checkbox o un'icona checkout | |
mosCommonHTML::checkedOut($row, $overlib) |
jimport('joomla.html.html.grid'); echo JHTML::_('grid.checkedOut',$row, $overlib); |
mosCommonHTML::CheckedOutProcessing($row, $i) |
jimport('joomla.html.html.grid'); echo JHTML::_('grid.checkedout', $row, $i); |
Caricare il file javascript del tooltip | |
mosCommonHTML::loadOverlib(); |
JHTML::_('behavior.tooltip'); |
Caricare il file javascript del calendario | |
mosCommonHTML::loadCalendar(); |
JHTML::_('behavior.calendar'); |
Visualizzare un link the effettua un ciclo sui livelli d'accesso | |
mosCommonHTML::AccessProcessing($row, $i, $archived) |
JHTML::_('grid.access', $row, $i, $archived); |
Visualizzare l'icona di stato pubblicazione | |
mosCommonHTML::PublishedProcessing($row, $i, $imgY, $imgX) |
JHTML::_('grid.published',$row, $i, $imgY, $imgX) |
Visualizzare l'icona di stato pubblicazione cliccabile | |
mosCommonHTML::selectState($filter_state, $published, $unpublished, $archived) |
JHTML::_('grid.state', $filter_state, $published, $unpublished, $archived) |
Visualizzare un pulsante per salvare l'ordinamento | |
mosCommonHTML::saveorderButton($rows, $image); |
echo JHTML::_('grid.order', $rows, $image) |
Visualizzare l'icone di ordinamento nell'intestazione di una colonna (table heading <th>) | |
mosCommonHTML::tableOrdering($text, $ordering, $lists, $task); |
echo JHTML::_('grid.sort', $text, $ordering, @$lists['order_Dir'], @$lists['order'], $task); |
Visualizzare un link "Indietro" | |
<?php mosHTML::BackButton ($params, $hide_js);?> |
Nessuna sostituzione diretta disponibile. |
Ripulire e preparare il testo per l'output | |
<?php echo mosHTML::cleanText ($text);?> |
<?php echo JFilterOutput::cleanText($text);?> |
Visualizzare un pulsante per la stampa | |
<?php mosHTML::PrintIcon($row, &$params, $hide_js, $link, $status);?> |
Nessuna sostituzione diretta disponibile. |
Nascondere un'indirizzo email ("Email cloaking") | |
<?php echo mosHTML::emailCloaking($mail, $mailto, $text, $email);?> |
<?php echo JHTML::_('email.cloak', $mail, $mailto, $text, $email);?> |
Caricare il supporto per tenere in vita una sezzione (evitare il time-out di una sessione) | |
<?php mosHTML::keepAlive();?> |
<?php echo JHTML::_('behavior.keepalive');?> |
10. Utilizzo delle barre dei menu e degli strumenti (menubar e toolbar)
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
mosMenuBar::startTable(); mosToolbar::startTable(); |
Deprecato. |
mosMenuBar::endTable(); mosToolbar::endTable(); |
Deprecato. |
mosMenuBar::addNew(); mosMenuBar::addNewX();
|
JToolbarHelper::addNew('new', 'New'); |
mosMenuBar::saveedit() ; |
|
mosToolbar |
JToolbarHelper |
11. Cambiamenti alle classi del core rappresentanti le tabelle del database
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
mosCategory |
JTableCategory |
mosContent |
JTableContent |
mosComponent |
JTableComponent |
mosMambot |
JTablePlugin |
mosMambotHandler |
JDispatcher |
mosMenu |
JTableMenu |
mosModule |
JTableModule |
mosSection |
JTableSection |
mosSession |
JTableSession |
mosUser |
JTableUser |
Aggiornare l'ordine degli elementi | |
$result = $row->updateOrder($where); |
$result = $row->reorder($where); |
Pubblicare una lista di elementi | |
$result = $row->publish_array($cid, $publish, $user_id); |
$result = $row->publish($cid, $publish, $user_id); |
12. Utilizzo dei plugin
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
mosMambotHandler::loadBotGroup($group); |
JPluginHelper::importPlugin($group, null, false); |
mosMambotHandler::loadBot($folder, $element, $published, $params); |
JPluginHelper::importPlugin($folder, $element); |
mosMambotHandler::registerFunction( $event, $function ) |
JApplication::registerEvent( $event, $function ); |
mosMambotHandler::call($event); |
$dispatcher = &JDispatcher::getInstance(); $result = $dispatcher->trigger($event, $arguments); |
13. Formati dei file
Utilizzo in Joomla 1.0 | Utilizzo in Joomla 1.5 |
---|---|
File di traduzione | |
/language/english.php |
/language/en-GB/en-GB.php /language/en-GB/en-GB.com_content.php /language/en-GB/en-GB.mod_latest_news.php /language/en-GB/en-GB.plg_content_code.php |
<?php // Files saved as PHP files define('_COMMENTS_TITLE', 'Title'); define('_COMMENTS_GUEST_TO_POST', 'Allow guests to post'); ?> |
# Files must be saved as UTF-8 in INI format
COMMENTS_TITLE=Title
COMMENTS_GUEST_TO_POST=Allow guests to post
|
Conclusione
Ora che avete abbastanza materiale potete iniziare a convertire le vostre vecchie estensioni a Joomla 1.5.
Per approfondire ulteriormente il funzionamento delle singole classi e dei loro metodi date un'occhiata al riferimento ufficiale del framwork di Joomla 1.5 (in inglese).
Fonte : Qua