YiiFramework Nav::widget - плавный переход на якорь

  • Автор темы Автор темы Ak-el-a
  • Дата начала Дата начала

Ak-el-a

Новичок
Хочу организовать плавные переход на якорь в пределах одной страницы

echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'items' => [
[
'label' => 'About',
'url' => ['#about'],
'linkOptions' => ['class'=>'page-scroll'],
],

[
'label' => 'Contact',
'url' => ['#contact'],
'linkOptions' => ['class'=>'page-scroll'],
],
Yii::$app->user->isGuest ? (
['label' => 'Login', 'url' => ['/main/login']]
) : (
'<li>'
. Html::beginForm(['/site/logout'], 'post', ['class' => 'navbar-form'])
. Html::submitButton(
'Logout (' . Yii::$app->user->identity->username . ')',
['class' => 'btn btn-link']
)
. Html::endForm()
. '</li>'
)
],
]);

Но плавного перехода у меня не получается, т к в ссылку подставляется "/site/#about" и переходит не в пределах страницы, а на страницу заново. Как убрать название контроллера (/site/) из ссылки?
 
мне стыдно за слово Yii в теге перед заголовком темы
 
Хотелось бы ответ по теме.
Если вы знаете решение этого момента, поделитесь, пожалуйста.
Как реализовать это средствами обычного html понятно, средства yii только изучаю.
 
Посредством настройки роутинга

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,

'suffix'=>'',
'rules'=>array(
''=>'site/index',
'<action>'=>'site/<action>',

//'<controller>/<action>' => '<controller>/<action>'
),

],

получилось добиться такого адреса - /#about. Как бы еще убрать первый слеш?
 
Сверху