메뉴의 백엔드 부분 (또는 백엔드에서 관리자까지)의 프론트 엔드에 대한 링크를 추가해야하는 경우 하드 코드없이 어떻게 할 수 있습니까? 이 : 추가 다른 이름과 구성 'UrlManager'구성 요소는 프런트 엔드 응용 프로그램에서 사용되는 것과 동일 추가해야 백엔드 애플리케이션 설정에서Yii2 프론트 엔드와 백엔드 사이의 링크 (고급 템플릿)
/sitename/backend/web
/sitename/frontend/web
메뉴의 백엔드 부분 (또는 백엔드에서 관리자까지)의 프론트 엔드에 대한 링크를 추가해야하는 경우 하드 코드없이 어떻게 할 수 있습니까? 이 : 추가 다른 이름과 구성 'UrlManager'구성 요소는 프런트 엔드 응용 프로그램에서 사용되는 것과 동일 추가해야 백엔드 애플리케이션 설정에서Yii2 프론트 엔드와 백엔드 사이의 링크 (고급 템플릿)
/sitename/backend/web
/sitename/frontend/web
디렉토리 부모
\Yii::$app->request->BaseUrl
반환 경로 :
: 다음return [
'components' => [
'urlManager' => [
// here is your backend URL rules
],
'urlManagerFrontEnd' => [
'class' => 'yii\web\urlManager',
'baseUrl' => '/a/frontend/web',
'enablePrettyUrl' => true,
'showScriptName' => false,
],
],
];
당신은 프런트 엔드 URL을 구성하려면 다음을 호출해야합니다 16,
Yii::$app->urlManagerFrontEnd->createUrl();
내 실수 - 내가 잘못
이잘못된 링크 값을 보내
$menuItems[] = ['label'=>'frontend', 'url'=>[\Yii::$app->urlManagerFrontEnd->baseUrl]];
그게 작품 : 그래서
$menuItems[] = ['label'=>'frontend', 'url'=>\Yii::$app->urlManagerFrontEnd->baseUrl];
, 그것은 반드시 다음과 같은 형태? $ menuItems = [[ 'label'=> '집', 'url'=> [ '/ 사이트/색인']], [ 'label'=> 'Frontend', 'url'=> [Yii :: $ app-> urlManagerFrontEnd-> createUrl ('/')]], ]; – WebArtisan
네,하지만이 Yii :: $ app-> urlManagerFrontEnd-> createUrl ('/') forntend 경로에서 반환되지만 예를 들어 Yii :: $ app-> urlManagerFrontEnd-> createUrl ('controllerName/ActionName ') –
는 슬프게도하지만 메신저 네비게이션 바 네비게이션 바에있는 링크에 Frontend 하지만 작품이를 넣어 경우에만 :: 시작 작동 ([... 나는 내가 네비게이션 바에서 이것을 사용있어 경우 : 요청을 할 수 없습니다 해결하기 위해 "sitename/frontend/web". 아마도 Navbar는 요청할 이전 baseurl을 추가합니다. – WebArtisan