문제

아래에는 일부 제품을 정렬하기위한 두 개의 확인란이 포함되어 있습니다.

<form id="FiltreExtraForm" action="" method="post" name="FiltreExtraForm">
    <input id="ProductsDeliveryPrice" type="checkbox" value="1" name="data[Products][delivery_price]"/>
    <input id="ProductsPicture" type="checkbox" value="1" name="data[Products][picture]"/>
</form>

게시 후 필터링을 수행하지만 수신 된 매개 변수를 url에 추가하고 싶습니다. eg :/roducts/index/delivery_price : 1/picture : 0. 이게 가능해. 어떻게 할 수 있습니까?

참고 : 양식 정보를 보내는 데 사용하고 싶지 않습니다.

도움이 되었습니까?

해결책

당신이하고 싶은 것 같네요 게시/리디렉션/get.

CakePhp 에서이 작업을 수행하는 두 가지 예는 다음과 같습니다.

리디렉션의 두 가지 주요 장점 a POST a GET 요청은 다음과 같습니다.

  1. 사용자는 "다시 제출하고 싶습니까?"를 얻지 못합니다. 상쾌한 경우 대화
  2. 결과 페이지/쿼리를 북마크 할 수 있습니다

다른 팁

게시하는 작업에서 Get URL을 준비한 다음이 URL로 리디렉션 할 수 있습니다. 그런 다음 해당 URL의 조치는 필터링을 수행합니다.

내가 당신을 올바르게 이해하고 (그리고 내가 확실하지 않은 경우) 양식 동작의 쿼리 문자열에 추가 변수를 전달할 수 있습니다. 일반적으로 다음과 같이 보일 수 있습니다.

<form id="FiltreExtraForm" action="/products/index?delivery_price=1&picture=0" method="post" name="FiltreExtraForm">

케이크를 사용하면 기존의 쿼리 문자열 없이도 동일한 작업을 수행 할 수 있어야합니다 (위의 전통적인 방법도 작동하지만).

<form id="FiltreExtraForm" action="/products/index/delivery_price:1/picture:0" method="post" name="FiltreExtraForm"> 

헬퍼 양식을 보거나 적어도 헬퍼를 사용하여 Action URI를 구성하는 것이 좋습니다. 그러나 이것이 당신이 따르는 것을 얻을 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top