2017-07-17 2 views
1

J'ai hérité d'un site Joomla et j'essaie d'apprendre comment tout cela fonctionne. Code Il héritage est qui fonctionne dans Joomla 2.5 qui ne fonctionne plus dans Joomla 3.7 Le code d'origine tire l'information d'URL à partir _GET $ pour construire le lien correct de la page pour afficher, comme ceci:Obtenir des options à partir de la réécriture d'URL

$search_str = array(); 
foreach ($_GET as $get_key => $get_value) { 
    array_push($search_str, $get_key . '=' . $get_value); 
} 

Il fonctionne très bien dans 2.5 mais rien n'est retourné en 3.7. J'essaie de déterminer la nouvelle méthode pour accomplir la même chose. J'ai regardé JURI et une variété d'autres classes/fonctions, mais je n'arrive pas à trouver quelque chose pour vous aider.

Répondre

0

Pour accéder aux variables d'URL, utilisez;

$app = JFactory::getApplication(); 
$var = $app->input->get(VARIABLE, DEFAULT); 

Ne vous attendez pas l'URL pour être SEO friendly bien, pour que vous devez créer un routeur - https://docs.joomla.org/Supporting_SEF_URLs_in_your_component

EDIT

Salut Dale. Si vous regardez die(print_r(JFactory::getApplication()->input)); et regardez l'objet de données, vous verrez que ses attributs sont les parties d'url que vous attendez, mais elles sont protégées, donc vous ne pouvez pas appeler directement l'objet de données. Au lieu de cela, vous devez utiliser les appeler individuellement, comme ça;

$app = JFactory::getApplication(); 

$option = $app->input->get('option'); 
$view = $app->input->get('view'); 
$layout = $app->input->get('layout'); 
$id  = $app->input->get('id'); 
$Itemid = $app->input->get('Itemid'); 
+0

Je suppose que je n'étais pas assez clair dans mon message original. L'URL d'origine est un lien amical SEO. J'essaie de déterminer quel aurait été le lien d'origine, la version non-amicale. Merci! –

+0

C'est parfait. Je vous remercie! –