gpt4 book ai didi

twitter-bootstrap - Yii Bootstrap Thumbail - 图像钻取

转载 作者:行者123 更新时间:2023-12-03 01:16:02 25 4
gpt4 key购买 nike

我是 yii 新手(一周前开始),我想使用 yii Bootstrap Thumbnail grid 来显示一些国家/地区图像,然后我想在每个国家/地区进行钻取并显示城市等,无需重新加载整个屏幕,只需加载右侧。

创建 View 的代码

echo $this->renderPartial('_form', $this);

除其他事项外,下面的 View 用于显示图像。它有两个 div。一个用于选择与国家/城市相关的图像,另一个显示用户通过单击应该位于图片附近的按钮来显示用户在城市方面所做的选择,但仅当用户深入到城市时。

第一个疑问 -> 我应该渲染部分内容吗?我只想刷新屏幕的右侧,也就是有图像的一侧。考虑到我正在渲染前面的代码中的一个部分,以及下面的其他代码。这可能吗?

$this->renderPartial('_formCountry', $this);    

此 View 负责加载小部件

$dataProvider = new CActiveDataProvider('Country');

$this->widget('bootstrap.widgets.TbThumbnails', array(
'id' => 'countryThumbId',
'dataProvider' => $dataProvider,
'template' => "{items}\n{pager}",
'itemView' => '_countryThumb',
));

下面的 View 填充了国家/地区的图像,并通过邮件发送国家/地区的 ID。

第二个疑问 -> 我怎样才能深入点击图像,而不是通过按钮来做到这一点???

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

第三个疑问->可以嵌套多少个renderPartials???

public function actionShowCities()
{
$cityId = $_POST['id'];

$dataProvider = $this->getCities($cityId);

$this->renderPartial('_formCity', array('dProvider'=>$dataProvider));

}

*上面的操作会启动此 View _formCity,进而调用 _cityThumb*

$this->widget('bootstrap.widgets.TbThumbnails', array(
'id' => 'countryThumbId',
'dataProvider' => $dProvider,
'template' => "{items}\n{pager}",
'itemView' => '_cityThumb',
));

*_cityThumb*

第四个疑点 -> 城市是唯一渲染的屏幕,当我单击按钮显示城市时,什么也没有发生,为什么???

echo $this->createUrl('place/view', array('id' => $data['id'])); 

抱歉这么长的帖子和这么多的疑问,但这是我第一次使用 php 框架......而 yii 并不那么容易,至少在一开始是这样。 :-[

最佳答案

Q. Should i be rendering partials? Q. How many renderPartials can be nested?

你绝对应该这样做, renderPartial is there做这些事情:

it does not apply a layout to the rendered result. It is thus mostly used in rendering a partial view, or an AJAX response.

您可以嵌套任意多个,只需记住,分隔这些 View 文件应该有其目的。

<小时/>

Q. How can i drill down clicking the image, instead of having a button to do that?

只需对图像使用 JavaScript 点击处理程序。一个 jquery 示例:

<!-- sample image element -->
<img src="xyz.jpg" id="some_id" class="some-class" alt="Image not loaded"/>
<?php
// in yii it's good to use registerScript to add a javascript snippet to generated html
Yii::app()->clientScript->registerScript('script-name','
$("#some_id").click(function(){
// here make the ajax call
});
');

为图像添加点击处理程序的方法有很多,最好的方法取决于您如何使用 View 添加图像标签。

<小时/>

Q. The cities were the only screen that was rendered, when i clicked the button to show me the cities, nothing happened, why?

这需要您进行调试。我能给你的唯一提示是使用 Firebug 检查 http 调用是否发生(或没有)。 .

关于twitter-bootstrap - Yii Bootstrap Thumbail - 图像钻取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13034346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com