Jusqu'à présent, je ré-invente la roue ici de la manière la plus inconfortable. Je peux sentir dans mon intestin que cela va casser un jour et me causer beaucoup de douleur. Par conséquent, je suis à la recherche d'un meilleur moyen de prendre un alias d'article et de construire l'URL de l'élément de menu ou l'URL de l'article. N'y a-t-il pas d'appels Joomla API qui rendent cela plus facile/plus propre/plus à l'épreuve du futur?Existe-t-il une meilleure façon de créer cette URL joomla?
/* Find article by alias */
$db =& JFactory::getDBO();
$sql = 'select id from #__content where alias=' . "'$alias'";
$db->setQuery($sql);
$row = $db->loadAssoc();
$artId = $row['id'];
if ($artId != null) {
$artLink = 'index.php?option=com_content&view=article&id='.$artId;
/* Find menu item by article id */
$sql = 'select parent,alias from #__menu where link=' . "'$artLink'";
$db->setQuery($sql);
$row = $db->loadAssoc();
$menuLink = '';
while ($row != null) {
$menuLink = '/' . $row['alias'] . $menuLink;
$sql = 'select parent,alias from #__menu where id=' . $row['parent'];
$db->setQuery($sql);
$row = $db->loadAssoc();
}
$menuLink = 'index.php' . $menuLink;
}
$articleUrl = ($menuLink != '') ? 'index.php' . $menuLink : JRoute::_($artLink);
Peut-être que vous pouvez développer ce que vous voulez atteindre que le routeur API Joomla n'a pas encore aidé? –