TWIG 템플릿이있는 Silex 응용 프로그램을 사용하는 프레임 워크 (특히 EC-Cube3)를 사용하고 있습니다.두 개의 매개 변수를 하나씩 TWIG url에 전달하십시오.
PHP 개체 배열로 구성된 탐색 사이드 바가 있습니다.
이$app->match('/item', 'Controller::method')->bind('named_url');
프레임 워크는 결국 url
필드를 사용하고과 같이 나뭇 가지에 평가 : URL은 전형적인 렉스 방식으로 만들어
$item = array(
"id" => "item_id"
"url" => "named_url"
);
: 나는 이런 식으로 뭔가를 보이는 항목 배열을 삽입 할 수 :
{{ url(item.url) }}
그리고 이것은 일반적으로 괜찮습니다! 나뭇 가지의 url
함수는 두 번째 인수에 대한 id
이 필요하기 때문에 작동하지 않습니다 같은 배열로 URL을 설정,이 시나리오에서는
$app->match('/item/{id}', 'Controller::method')->bind('named_url'); // Needs 'id' to be evaluated.
: 나는이 같은 매개 변수를 포함하는 URL이있을 때 그러나 문제는 온다 .
응용 프로그램의 TWIG 파일을 변경할 수 없으므로 (응용 프로그램을 안전하게 업데이트 할 수 없기 때문에) id
을 포함하도록 항목의 url
을 설정할 수 있어야합니다.
조사한 결과 이것이 가능하지 않다고 생각합니다. 이것이 불가능하다는 것이 사실입니까? 아니면 내가 모르는 몇 가지 방법이 있습니까?
같은 것이 있습니다. 나뭇 가지 파일을 편집 할 수 없습니다. PHP 배열 만 편집 할 수 있습니다. – ABeard89
제 EDIT # 2 변경 사항을 참조하십시오. –
그것은 확실히 흥미 롭습니다. 나는 상자 밖에서 생각하는 것을 좋아한다. 경로에서'id '를 제거하면 TWIG가 URL을 해석 할 수는 있지만 라우트에서 변수의 유연성을 잃을 수 있습니다. 단순히 '/ item'의 단일 URL 만 일치시킬 수 있으며 '/ item/3'과 같은 다른 URL은 더 이상 일치하지 않습니다. Silex는 이와 같은 URL을 컨트롤러 메소드에 연결할 수 없습니다. – ABeard89