Back to top

Autore Topic: usare JRoute::_ in pagina esterna (ajax)  (Letto 3090 volte)

Offline bronco

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
usare JRoute::_ in pagina esterna (ajax)
« il: 08 Gen 2009, 03:44:45 »
salve, ho un problema con la creazione di un content plugin con navigazione in ajax.

in pratica tramite javascript richiamo la pagina ajax.php che nel suo interno ha un codice tipo questo:

Codice: [Seleziona]
<?php
define
'_JEXEC');
//joomla 1.0 compatibilit&#224; componente
define'_VALID_MOS');

$path =str_replace("\plugins\content"""dirname(__FILE__));
define('JPATH_BASE'$path );

define'DS'DIRECTORY_SEPARATOR );


require_once ( 
JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( 
JPATH_BASE .DS.'includes'.DS.'framework.php' );
require_once ( 
JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'plugin'.DS.'helper.php' );

$mainframe =& JFactory::getApplication('site');
$cfg&#160; &#160; &#160;  =& JFactory::getConfig();
$database&#160; =& JFactory::getDBO();

//link sef non funziona!
$link="index.php?option=com_componente&Itemid=".$itemid."&task=lista&id=".$id;
$seflink=JRoute::_($link);
?>

Il problema nasce con JRoute::_ in quanto inserisce prima dell'url /plugin/content/ facendolo diventare tipo questo localhost/plugins/content/component/componente/?task=lista&id=2058

anche JURI::root() mi da localhost/plugins/content/ inveche di localhost.

come faccio a utilizzare JRoute::_ in un file esterno da joomla? ci sto sbattendo la testa da ore  :(
grazie dell'aiuto
« Ultima modifica: 08 Gen 2009, 03:49:59 da bronco »

Offline bronco

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re: usare JRoute::_ in pagina esterna (ajax)
« Risposta #1 il: 08 Gen 2009, 18:35:28 »
alla fine ho risolto nel modo più semplice, eliminando plugins/content dal link dopo essere passato da JRoute

Codice: [Seleziona]
$link="index.php?option=com_componente&Itemid=".$itemid."&task=lista&id=".$id;
$seflink=JRoute::_($link);
$seflink=str_replace("plugins/content/", "", $seflink);

sicuramente non è il modo più corretto, ma per ora è l'unico modo che ho trovato. Anche per JURI::root() ho usato lo stesso sistema

Codice: [Seleziona]
$livesite     = str_replace("plugins/content/", "", JURI::root());

in seguito usando per tutto lo script la variabile $livesite.

Però mi piacerebbe capire perchè aggiunge sempre il percorso dove si trova il file, probabilmente perchè è un file esterno da joomla.

 



Web Design Bolzano Kreatif