2014-05-25 1 views
0

Salut tout le monde et merci d'avance pour l'aide que vous pouvez me donner.Url Sef dans le module ajax joomla

Je crée un module joomla pour montrer des articles via ajax, j'ai presque fini, j'ai le problème avec l'url.

Le problème est que le module passe un appel via ajax à search.php. Tout me renvoie bien sauf l'url.

L'URL qui me revient est: /www.miste.com/modules/mod_mymodule/index.php?option=com_content & view = article & id = 12: mi-titre-article & catid = 10 Itemid & = 107

La bonne chose serait: /www.miste.com/index.php?option=com_content & view = article & id = 12: mi-titre-article & catid = 10 Itemid = 107 &

Une partie de mon code est ::

if (!$_GET) exit; 
if (!defined("_JEXEC")) define("_JEXEC", "\r\n") or die('Restricted access'); 

define('DS', DIRECTORY_SEPARATOR); 
define('JPATH_BASE', dirname(dirname(dirname(__FILE__)))); 
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 
require_once (JPATH_BASE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php'); 
require_once (JPATH_BASE.DS.'components'.DS.'com_content'.DS.'router.php'); 
require_once (dirname(__FILE__).'/helper.php'); 

/** CREATE THE APPLICATION**/ 
$mainframe = JFactory::getApplication('site'); 
/**INITIALISE THE APPLICATION**/ 
$mainframe->initialise(); 

if(modFpncrFilterArticlesHelper::validaSelect($selectDestino) && modFpncrFilterArticlesHelper::validaOpcion($opcionSeleccionada)) 
    { 
    $tabla=$listadoSelects[$selectDestino]; 

     $db = JFactory::getDbo(); 
     $query = $db->getQuery(true) 
      ->select('id, title, alias, catid') 
      ->from('#__content') 
      ->where('catid="'.$opcionSeleccionada.'"') 
      ->where('state=1'); 
     $db->setQuery($query); 
     $allarticles = $db->loadObjectList('id'); 

    // Comienzo a imprimir el select 
    $InputsArticles = ''; 
     foreach ($allarticles as $article){ 

$catslug = $article->catid; 
$slug = $article->id.':'.$article->alias; 
$link = JRoute::_(ContentHelperRoute::getArticleRoute($slug, $catslug));    

$UrlArticle = JRoute::_(ContentHelperRoute::getArticleRoute($article->id.":".$article->alias, $article->catid), true); 
       $InputsArticles .= "<option value='". $link ."'>".$article->title."</option>"; 
      } 
     $InputsArticles = $InputsArticles; 
    } 
    ?> 
<select name="<?php echo $selectDestino; ?>" id="<?php echo $selectDestino; ?>" onChange='cargaContenido(this.id)'> 
    <option value="0"><?php echo $article_label_active; ?></option> 
    <?php echo $InputsArticles; ?> 
</select> 
<input type="button" name="go" value="<?php echo $button_label; ?>" onclick="check_send();" class="btn btn-success" id="send"> 

Merci à l'avance pour l'aide que vous pouvez me donner

Répondre

0

j'avais utilisé quelque chose comme ça quand je l'avais mis au point un module.

$ article-> slug = $ article-> id. ':'. $ Article-> alias; $ article-> catslug = $ article-> catid? $ article-> catid. ':'. $ article-> category_alias: $ article-> catid;

echo JRoute :: _ (ContentHelperRoute :: getArticleRoute ($ article-> slug, $ article-> catslug));

Ceci est à l'intérieur de la boucle.

+0

Salut, merci pour votre réponse. Le problème est l'URL qui me montre le chemin vers le module également quand il ne devrait pas faire. – user3673405

+0

montre encore après l'application de mon code? – user3118004

0

avez-vous essayé sans utiliser le contenuhelperroute? Il pourrait ne pas être adapté lorsqu'il est appelé depuis un module. Essayez:

$link=JRoute::_("index.php?option=com_content&view=article&id={$article->id}&catid={$article->catid}"); 

Aussi, ressemble à un désordre là-bas dans votre code où vous avez à la fois le lien $ et le UrlArticle de $ - les variables, mais celle-ci est jamais utilisé (dans votre fragment de code de toute façon)