[英]Url Sef in ajax module joomla
大家好,在此先感謝您提供的幫助。
我正在創建一個joomla模塊來通過ajax顯示文章,我快要完成了,我的網址有問題。
問題在於該模塊通過ajax調用了search.php。 除了網址以外,其他一切都很好。
返回我的網址是:/www.miste.com/modules/mod_mymodule/index.php?option=com_content&view=article&id=12:mi-title-article&catid=10&Itemid=107
正確的方法是:/ www.miste.com/index.php?option=com_content&view=article&id=12:mi-title-article&catid=10&Itemid=107
我的部分代碼如下:
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">
預先感謝您可以給我的幫助
開發模塊時,我曾使用過類似的東西。
$ article-> slug = $ article-> id。':'。$ article-> alias; $ article-> catslug = $ article-> catid嗎? $ article-> catid。':'。$ article-> category_alias:$ article-> catid;
回聲JRoute :: _(ContentHelperRoute :: getArticleRoute($ article-> slug,$ article-> catslug));
這是循環內。
您是否嘗試過不使用contenthelperroute? 從模塊調用時,它可能不適合。 嘗試:
$link=JRoute::_("index.php?option=com_content&view=article&id={$article->id}&catid={$article->catid}");
另外,在您的代碼中看起來有些混亂,您同時擁有$ link和$ UrlArticle-變量,但是從未使用過后者(無論如何在代碼片段中)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.