Joomlashow arrow Guide arrow Convertire vecchie estensioni a Joomla 1.5

Convertire vecchie estensioni a Joomla 1.5

25-03-2009 11:35

scritto da Federico Capoano

da Joomla 1.0 a Joomla 1.5Con 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.

Questa guida è il risultato di una traduzione e un'adattamento dell'articolo Converting Old Extensions to Joomla 1.5 scritto da Andrew Eddie su theartofjoomla.com.

L'articolo è stato tradotto e adattato da Federico Capoano.

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

  1. Cambiamenti delle funzioni del template
  2. Cambiamenti alle variabili globali di Joomla
  3. Cambiamenti generali API e funzioni
  4. Cambiamenti che coinvolgono il database
  5. Cambiamenti ai componenti
  6. Cambiamenti agli helper dei menu dell'amministrazione (backend)
  7. Cambiamenti all'API che gestisce il caching
  8. Altri cambiamenti a varie classi
  9. Cambiamenti alle classi di helper HTML
  10. Utilizzo delle barre dei menu e degli strumenti (menubar e toolbar)
  11. Cambiamenti alle classi del core rappresentati le tabelle del database
  12. Utilizzo dei plugin
  13. Formati dei file

1. Cambiamenti alle funzioni del template

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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 ($this->countModules('left')) : ?>

<?php if (mosCountModules('left') || mosCountModules('right')) : ?>

<?php if ($this->countModules('left OR right')) : ?>

Caricare i moduli in una posizione
<?php mosLoadModules('left', 0);?> <jdoc:include type="modules" name="left" style="table"/>
<?php mosLoadModules('left', -1);?> <jdoc:include type="modules" name="left" style="raw"/>
<?php mosLoadModules('left', -2);?> <jdoc:include type="modules" name="left" style="xhtml"/>
<?php mosLoadModules('left', -3);?> <jdoc:include type="modules" name="left" style="rounded"/>
Caricare un singolo modulo in particolare
<?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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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&agrave;
$path = $mainframe->getBasePath(0);
// seconda possibilit&agrave;
$path = $mainframe->getBasePath('site');
// terza possibilit&agrave;
$path = $mainframe->getBasePath('front');
 
 
// metodo unico
$path = JPATH_SITE.DS;
 
 
 
 
 
 
 
// prima possibilit&agrave;
$path = $mainframe->getBasePath(2);
// seconda possibilit&agrave;
$path = $mainframe->getBasePath('installation');
 
 
// metodo unico
$path = JPATH_INSTALLATION.DS;
 
 
 
 
 
// prima possibilit&agrave;
$path = $mainframe->getBasePath(1);
// seconda possibilit&agrave;
$path = $mainframe->getBasePath('admin');
// terza possibilit&agrave;
$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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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 &egrave; 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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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)

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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"', $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"', '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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
 
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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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)

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
mosMenuBar::startTable();
mosToolbar::startTable();
Deprecato.
mosMenuBar::endTable();
mosToolbar::endTable();
Deprecato.
mosMenuBar::addNew();
mosMenuBar::addNewX();
JToolbarHelper::addNew('new', 'New');
mosMenuBar::saveedit();

JToolbarHelper::save('saveedit');

mosToolbar JToolbarHelper

11. Cambiamenti alle classi del core rappresentanti le tabelle del database

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
 
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

Torna all'indice

Utilizzo in Joomla 1.0 1.0 native Utilizzo in Joomla 1.5 1.0 native
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).

Nemesis Design Federico Capoano è un freelance web designer / web developer proveniente da Roma che attualmente vive in Spagna, nelle Isole Baleari. Ideatore e fondatore di Joomlashow.it, gestisce una piccola impresa individuale che offre servizi di web design e web development conosciuta come "Nemesis Design".

Puoi tenerti aggiornato su nuovi articoli e tips & tricks su Joomla seguendolo su Twitter.

Commenti utenti  

Visualizza 7 di 7 commenti

thanks

sorry to post this message in (bad) english but i am Portuguese and dont speak italian. 
 
First of all congratulations to the site and sorry the off topic, but can you explain how you did this article? tables and index. 
 
It was made "by hand" or d you use someking of plugin or component to format html this way? 
 
Thanks in advance. Keep up the good work

Scritto da: ruigato (Guest) 25-03-2009 21:45

RE: thanks

Hello ruigato, 
 
i copied the source of the original article and edited it by hand. Adding an index is very easy, you just need to put Title to the headings and then put in the index a link like Go to this paragraph. 
 
Regards

Scritto da: nemesis (Membro) 26-03-2009 14:16

RE ...

Ops, the comment plugin stripped my code..! 
Title  
go to the section

Scritto da: nemesis (Membro) 26-03-2009 14:18

Time Wasting

Nothing dude wats up all this is just a waste of time..... keep up the work and waste your time

Scritto da: Daniel Redcliff (Guest) 09-04-2009 07:19

RE: Time Wasting

why you say that this is time wasting?

Scritto da: nemesis (Membro) 09-04-2009 13:13

Correzione

Ciao... 
Complimenti per l'articolo... 
Ti segnalo però che c'è qualche piccolo errore, probabilmente dovuto alla conversione dei caratteri nel blog... 
es 
Recuperare l'oggetto contenente il database 
 
global $database; 
 
diventa 
 
$db = &JFactory::getDbo(); 
 
però c'è un " & a m p ;" di troppo 
(l'ho messo spaziato in modo che non venga convertito :-) )

Scritto da: Daniele (Guest) 03-10-2010 00:31

RE: correzione

Grazie per la segnalazione.

Scritto da: nemesis (Membro) 03-10-2010 09:53

Aggiungi il tuo commento

Solo gli utenti possono commentare un'articolo.
‹ Precedente   Successivo ›

Categorie

Ricerca

Web Design

siti web su misura, design unico

Login

Hai dimenticato la password?

Registrati