私の joomla プロジェクトには、いくつかの非表示のページがあります (そのページに直接アクセスできるメニューがないことを意味します)。一部のページがこのページにリダイレクトされています。
このコードを使用してこのページにアクセスしています
$app = JFactory::getApplication();
$app->redirect('index.php?option=com_package&view=testpage');
完璧に機能しています。
アプリケーションの SEF URL、URL サフィックス、URL 書き換えを有効にしました。しかし、これらのページ (適切なメニューがありません) には SEF URL が表示されません。ただし、そのページへのメニュー項目があるページには SEF URL が表示されます。
そこで、隠しメニューを追加し、そのメニューにこれらすべてのページを追加しました。しかし、SEF URL は表示されません。
それらのページへの SEF URL を有効にするためのアイデアはありますか?
助けてください よろしくお願いします
私の Router.php は次のようになります
defined('_JEXEC') or die;
function GadminBuildRoute(&$query)
{
$segments = array();
if (isset($query['task'])) {
$segments[] = implode('/',explode('.',$query['task']));
unset($query['task']);
}
if (isset($query['id'])) {
$segments[] = $query['id'];
unset($query['id']);
}
return $segments;
}
/**
* @param array A named array
* @param array
*
* Formats:
*
* index.php?/gadmin/task/id/Itemid
*
* index.php?/gadmin/id/Itemid
*/
function GadminParseRoute($segments)
{
$vars = array();
// view is always the first element of the array
$count = count($segments);
if ($count)
{
$count--;
$segment = array_pop($segments) ;
if (is_numeric($segment)) {
$vars['id'] = $segment;
}
else{
$count--;
$vars['task'] = array_pop($segments) . '.' . $segment;
}
}
if ($count)
{
$vars['task'] = implode('.',$segments);
}
return $vars;
}