다음과 같은 문제가 있습니다. 정렬 된 레코드가있는 테이블에서 특정 위치에 새 레코드를 삽입하거나 레코드를 다른 위치로 복사/이동하려고합니다.컨트롤러/컨트롤러/동작과 같은 Yii2 잘못된 경로
인덱스보기에서 {new} {copy} {move}를 그리드보기로 정의했습니다. 그중 하나를 클릭하면 select (controller/select)라는 새로운보기로 이동합니다.이 두보기는 두 개의 작업 버튼 {before} {after}을 사용하여 동일한 테이블의 그리드보기를 사용하여 레코드를 위 또는 아래에 배치해야하는지 여부를 나타냅니다 선택된 레코드.
이 버튼 중 하나를 클릭하면 컨트롤러 작업 만들기 (이전에 새로 선택 했음) 또는 컨트롤러 작업 복사 이동 (컨트롤러/작성 또는 컨트롤러/복사 이동)으로 연결됩니다. 컨트롤러는 작업을 수행하고 $ this-> redirect ([ 'index'])를 사용하여 인덱스보기로 돌아갑니다. 이것은 올바르게 작동합니다.
인덱스보기에서 동작 버튼 중 하나를 다시 클릭하면 {new} {copy} {move} 컨트롤러/select 대신에 이상한 경로 : controller/controller/select가 표시됩니다. 이 동작은 브라우저를 새로 고치지 않아도 메뉴에서 인덱스 뷰를 호출 할 때만 중지됩니다.
왜 이런 일이 발생합니까? 이전에 그리드보기에서 작업을 선택한 후 즉시 그리드보기를 작성했기 때문일 수 있습니까? 그리고이 행동을 피하는 방법?
call index view
click on action button {new} {copy} or {move}
create route controller/select
get the select view
in select view click on action button {before} or {after}
create route controller/copy or controller/copy-move
create a new record at the choosen position or copy/move it there
return $this->redirect(['index']) after controller has done his job
in index view again click onto action button {new} {copy} or {move}
create route controller/controller/select instead of controller/select which ends in a 404 error.
'컨트롤러/선택'에 대한 링크를 어떻게 생성합니까? – gmc
index.php에서와 같이 생성됩니다 - index.php : – chrisly49
@gmc 그 자체로 생성됩니다 : 'before'=> function ($ url, $ model) { $ session = Yii :: $ app-> session; $ mode = $ session [ 'mode']; $ url = ($ mode === 'create')? 'create? idTo =': 'copy-move? idTo ='; Html :: a (''.FA :: icon ('업로드'). '', $ url. $ model [ 'id']. '& position = before', [ 'title'=> '표제')]); – chrisly49