일부 국가 이미지를 표시하기 위해 yii 부트 스트랩 축소판 그리드을 사용하고 싶습니다. 그런 다음 각 국가를 표시하고 표시하고 싶습니다. 도시 등, 전체 화면을 다시로드하지 않고 그냥 오른쪽. 아래보기가 이미지를 표시하는 데 사용되는 다른 것들 사이보기 만들기Yii 부트 스트랩 Thumbail - 이미지 드릴 다운
echo $this->renderPartial('_form', $this);
에 대한
코드입니다. 그것에는 두 개의 div가 있습니다. 국가/도시에 관한 이미지를 따기위한 하나의 다른 표시는 사용자가 사진 근처에 있어야하는데 버튼을 클릭하여 도시의 관점에서 만들어진 것을 선택하지만, 경우에만 도시로 사용자 훈련.
1 의심 -> 내가 파셜을 렌더링해야 하는가? 난 단지 화면의 오른쪽, 이미지를 가지고있는 하나를 새로 고칠. 이전 코드에서 iam이 부분적으로 렌더링되고, 아래에서 다른 부분을 렌더링하는 것을 고려하십시오. 그게 가능한가?
$this->renderPartial('_formCountry', $this);
이 뷰는 뷰 아래 국가의 이미지를 채우는 위젯
$dataProvider = new CActiveDataProvider('Country');
$this->widget('bootstrap.widgets.TbThumbnails', array(
'id' => 'countryThumbId',
'dataProvider' => $dataProvider,
'template' => "{items}\n{pager}",
'itemView' => '_countryThumb',
));
로드에 대한 책임이며, 우편으로 나라의 ID를 전송합니다.
2 의심 -> 어떻게 내가 이미지을 클릭하는 대신이 할 수있는 버튼을 가진 드릴 다운 할 수 있습니다 ???
사용자가 을 집어 국가에 따라echo $this->createUrl('city/view', array('id' => $data['id']));
$this->widget('bootstrap.widgets.TbButton', array(
'label' => 'cidades',
'buttonType' => 'ajaxButton',
'type' => 'primary', // null, 'primary', 'info', 'success', 'warning', 'danger' or 'inverse'
'size' => 'mini', // null, 'large', 'small' or 'mini'
'url' => Yii::app()->createUrl("tripDetail/showCities"),
'ajaxOptions' =>
array('data' =>
array(
'id' => $data['id'],
),
'type' => 'POST',
)
)
);
이 작업은 버튼 클릭시 해고하고 새로운 dataProvider의를 얻을 수있다
3 의심 -> 얼마나 많은 renderPartials을 중첩 될 수 있습니다 ????
public function actionShowCities()
{
$cityId = $_POST['id'];
$dataProvider = $this->getCities($cityId);
$this->renderPartial('_formCity', array('dProvider'=>$dataProvider));
}
* 이 동작은 위의 차례로 *
$this->widget('bootstrap.widgets.TbThumbnails', array(
'id' => 'countryThumbId',
'dataProvider' => $dProvider,
'template' => "{items}\n{pager}",
'itemView' => '_cityThumb',
));
* _cityThumb *
4 의심 _cityThumb를 호출이보기 _formCity을 발사 -> 성읍이 있었다 내가 나에게 도시를 표시하는 버튼을 클릭하면, 렌더링에만 화면, 아무 일도하지, 왜 ????
echo $this->createUrl('place/view', array('id' => $data['id']));
긴 포스트와 많은 의심 죄송 하지만 PHP는 프레임 워크와의 첫 시간 .... 그리고 YII 적어도 처음에는, 그것은 쉬운 일이 아니다. : - [
왜'$ this'를'renderPartial()'에 넘겨 줍니까? 여기 $ 컨트롤러는 맞습니까? 또는 약간의 변경을 했습니까? 또한 회신을 보내고 알림을 받으려면 @ bool.dev를 사용할 수 있습니다. –
예, 그 컨트롤러, 그리고 그것은 여기 없어야한다. 왜냐하면 내가 필요 없다. :) @ bool.dev –
흠, 전에는 '$ this'에 컨트롤러의 인스턴스가 항상 있기 때문에 이전에 해본 적이 없다. 이것은'$ this'가 암묵적으로 전달된다는 것을 의미합니다. 편집 : 질문에 대답하는 데 도움이 될만한 특정 이유에 대해, lemme 알아요, coz 알아요 –