从这个页面,
http://www.yiiframework.com/wiki/23/how-to-create-a-breadcrumb-widget/
它似乎表明我们应该将文件放在组件文件夹中.但是如果我的小部件包含javascript和css文件,那么这些文件应该放在哪里?
顺便说一句,这是一个好主意,我创建它作为扩展?如果我这样做,所有窗口小部件文件都更加自包含在扩展文件夹内的文件夹中.但是,由于我要处理的小部件是非常自定义的,因此它不太可能对其他人或我的其他项目有用.使它成为一个扩展似乎有点奇怪.
我明白,只要我在代码中使用的路径是正确的,我放在这些文件的位置并不重要,但我想知道常见的做法.
我想提出一些重新编写Yii框架和Android应用程序的问题.我将在Android平台上构建一个移动应用程序,并将Yii框架作为服务器端实现.我想知道Yii框架支持多少Android平台?Yii框架Web服务是否与Android完全兼容?
而且,如果有人能提出一些教程或有用的信息,那对我来说非常有用......
单击按钮时,不会执行警报.我究竟做错了什么?也许我需要在我的标题部分包含一些js文件?
这是我的登录表单视图:
<?php echo CHtml::beginForm(); ?>
<div class="row">
<?php echo CHtml::label('username', 'username'); ?>
<?php echo CHtml::textField('username'); ?>
</div>
<div class="row">
<?php echo CHtml::label('password', 'password'); ?>
<?php echo CHtml::textField('password'); ?>
</div>
<?php
echo CHtml::ajaxButton('sign in', array('site/login'),array(
'type'=>'POST',
'update'=>'#mydiv',
'beforeSend' => 'function(){
alert("beforeSend");
}',
'complete' => 'function(){
alert("complete");
}',
));
?>
<?php echo CHtml::endForm(); ?>
<div id="mydiv" style="color:white;">...</div>
Run Code Online (Sandbox Code Playgroud)
这是我在控制器中的代码:
public function actionLogin()
{
$this->renderPartial('//blocks/user_info');
}
Run Code Online (Sandbox Code Playgroud)
user_info只是回响 some text
我在设计新的和相当大/复杂的网站时潜入RBAC.我正在试图弄清楚是创建一个任务还是只是一个带有biz规则的操作.
现在,我已经阅读了大多数(如果不是全部)现有文档.当前的文档说"任务由操作组成".这篇 wiki文章说,不同的术语只是命名约定,唯一存在的限制是结构性 - 角色必须包括任务(或其他角色); 任务应包括操作(或其他任务),操作是不由其他实体进一步组成的原子术语.我还阅读了"Agile web dev ..."和"Yii cookbook"书中的相关章节 - 两者都没有进一步阐述这个问题(至少从我的眼镜中可以看出).
让我们举例说明我将提出的问题.实际上,让我们使用类似于上面提到的大多数文档资源中演示的示例:假设我有一篇博文,我希望/需要让其作者能够"更新自己的帖子".现在,为什么这应该是文档资源中常见的任务,而不是具有商业规则的操作?
我认为上面的问题揭示了"任务"的明确定义(当然在RBAC背景下).
请帮我提炼出更好的RBAC任务定义.
编辑:我被建议以下提到的术语的定义,以帮助以有用的方式概念化它们.简而言之,最简单的形式是:操作是基本的构建块.它们是开发人员使用的材料,只有它们.开发人员组成操作的任务和操作.角色由任务组成,例如一组任务.角色和任务是网站管理员应该使用的 - 分配和撤销用户而不是操作.这是查看和掌握这些实体(角色,任务和操作)的好方法.您是否有另一种选择来进行不同的概念化?任何意见将不胜感激.
TIA!波阿斯.
我的项目是基于多租户的.
我有多个客户(公司),每个客户有多个用户.
每个客户端都有自己的数据库,因此在用户身份验证期间,我会发现该用户的关联数据库的名称.
每个数据库的结构是相同的......只有数据不同.
这样我们就可以为不同的公司保留不同的数据库,而不会混淆数据库中的数据.
编写应用程序时,未知客户端数量(以及数据库数量),因此无法在引导脚本中包含所有连接.
现在,我想要做的是,动态地改变引导程序中的数据库连接,或者能够为登录的用户动态创建新连接.在Yii中是否有一个简单的解决方案,仍然使用AR,查询建设者?
同样的问题在yii论坛上被问到仍然没有回答清楚,....你可以在这里找到这个问题 Yii动态数据库连接
我有一个multiple select-list-box对Staff中Create-Service-Form,用于创建一个新的服务时,选择多个工作人员.为此,我可以为一项服务分配多名员工.
我把staff_id田地保存为:
$model->staff_id = serialize($model->staff_id);
这里是多选列表框的更新视图代码:
<div class="row">
<?php echo $form->labelEx($model,'staff_id'); ?>
<?php
$data = array('1' => 'Sam', '2' => 'john', '3' => 'addy');
$htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'multiple');
echo $form->ListBox($model,'staff_id', $data, $htmlOptions);
?>
<?php echo $form->error($model,'staff_id'); ?>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是,当我加载表单来更新服务时.如何选择以前保存在数据库中的员工?
我尝试了这个 dropDownList属性,但它无法正常工作.
$ select | 字符串| 选定的值
如果有人有解决方案,那么建议我.谢谢所有的伙伴......
我正在尝试使用一些引导功能,如Yii CHtml类中的Icon字形,这是我的代码:
<?php
echo CHtml::submitButton('<i class="icon-user"></i> Login',
array(
'class' => 'btn btn-large pull-right'
));
?>
Run Code Online (Sandbox Code Playgroud)
但它有点不"识别"标签,只是像下面的图像一样呈现标签.
有没有人知道如何解决它(没有键入html标签本身).
感谢你们.
我有一个要求Yii,我必须根据某些条件更新一个表.我必须更新专栏new_val = previous_value + new_val.但是代码没有按预期工作.
我试过的代码是
$update = Yii::app()->db->createCommand()
->update('tbl_post', array('star'=>('star' + 1),'total'=>('total' + $ratingAjax)),
'id=:id',array(':id'=>$post_id));
Run Code Online (Sandbox Code Playgroud)
在正常查询中,查询将是
UPDATE tbl_post set star= star + 1,total = total + '$ratingAjax' where id = 1
Run Code Online (Sandbox Code Playgroud)
谁知道哪里出错了?
我基本上尝试使用Yii中的CActiveForm类创建一个多步骤表单.我的想法是希望使用内置功能以最简单的方式实现这一点.我的要求如下:
validateOnChange()和validateOnSubmit()方法这是我迄今为止开发的半工作解决方案:
视图:
<div class="form">
<?php $form = $this->beginWidget('CActiveForm', array(
'id'=>'listing-form',
'enableClientValidation'=>false,
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validateOnChange'=>true,
'validateOnSubmit'=>true,
'afterValidate'=>'js:validateListing',
),
)); ?>
<?php echo $form->errorSummary($model); ?>
<div class="step" id="step-1">
// model input fields
<?php echo CHtml::submitButton('Next Step', array('name'=>'step1')); ?>
</div>
<div class="step" id="step-2" style="display: none;">
// model input fields
<?php echo CHtml::submitButton('Next Step', array('name'=>'step2')); ?>
</div>
<div class="step" id="step-3" style="display: none;">
// model input fields
<?php echo CHtml::submitButton('Submit', array('name'=>'step3')); ?>
</div>
<?php $this->endWidget(); ?> …Run Code Online (Sandbox Code Playgroud) 我有这个错误信息:
Uncaught InvalidStateError:无法从'HTMLInputElement'读取'selectionDirection'属性:input元素的类型('hidden')不支持选择.
当我检查控制台时,它在此代码中显示错误:
function simpan() {
$.ajax({
url: 'app/tblhasilsurvey/simpan',
type: 'post',
async: false,
data: {
cmd: window.cmd,
id: window.id_hasilsurvey,
id_daftar: window.id_daftar,
id_jadwal: window.id_jadwal,
//tblhasilsurvey_nobasurvey : $("#nomor_ba_survey").val(),
nomor_izin : $("#nomor_izin").val(),
tgl_izin : $("#tgl_izin").val(),
pemilik_izin : $("#pemilik_izin").val(),
lokasi : $("#lokasi").val(),
kodekel : $("#kelurahan").val(),
kodekec : $("#kecamatan").val(),
tblhasilsurvey_tglbasurvey : $("#tgl_ba_survey").val(),
tbldaftarrencanasurvey_koordinat : $("#lattitude_").val()+';'+$("#longitude_").val(), // (lattitude;longitude)
tblhasilsurvey_fungsibangunan : $("#fungsi_bangunan").val(),
tblhasilsurvey_uraianpermasalahan : $("#uraian_permasalahan").val(),
tblizin_id : $("#tblizin_id").val()
},
success: function (data) {
if(data=='success') {
notifikasi('Sukses','Data Berhasil Disimpan', 'success');
//window.location.reload();
} else {
notifikasi('Gagal','Data Gagal Disimpan', …Run Code Online (Sandbox Code Playgroud) yii ×10
php ×3
ajax ×1
ajaxsubmit ×1
android ×1
frameworks ×1
html ×1
javascript ×1
jquery ×1
multi-select ×1
mysql ×1
rbac ×1
sql-update ×1
web-services ×1
widget ×1