标签: yii

我应该在Yii框架中将自定义窗口小部件文件放在哪里?

从这个页面,

http://www.yiiframework.com/wiki/23/how-to-create-a-breadcrumb-widget/

它似乎表明我们应该将文件放在组件文件夹中.但是如果我的小部件包含javascript和css文件,那么这些文件应该放在哪里?

顺便说一句,这是一个好主意,我创建它作为扩展?如果我这样做,所有窗口小部件文件都更加自包含在扩展文件夹内的文件夹中.但是,由于我要处理的小部件是非常自定义的,因此它不太可能对其他人或我的其他项目有用.使它成为一个扩展似乎有点奇怪.

我明白,只要我在代码中使用的路径是正确的,我放在这些文件的位置并不重要,但我想知道常见的做法.

widget yii yii-components yii-extensions

8
推荐指数
2
解决办法
7087
查看次数

Yii框架和Android应用程序

我想提出一些重新编写Yii框架和Android应用程序的问题.我将在Android平台上构建一个移动应用程序,并将Yii框架作为服务器端实现.我想知道Yii框架支持多少Android平台?Yii框架Web服务是否与Android完全兼容?

而且,如果有人能提出一些教程或有用的信息,那对我来说非常有用......

compatibility android frameworks web-services yii

8
推荐指数
1
解决办法
9818
查看次数

在按钮点击时触发警报

单击按钮时,不会执行警报.我究竟做错了什么?也许我需要在我的标题部分包含一些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

php ajax yii ajaxsubmit

8
推荐指数
1
解决办法
2万
查看次数

Yii的RBAC中究竟是什么"任务"?

我在设计新的和相当大/复杂的网站时潜入RBAC.我正在试图弄清楚是创建一个任务还是只是一个带有biz规则的操作.

现在,我已经阅读了大多数(如果不是全部)现有文档.当前的文档说"任务由操作组成".这篇 wiki文章说,不同的术语只是命名约定,唯一存在的限制是结构性 - 角色必须包括任务(或其他角色); 任务应包括操作(或其他任务),操作是不由其他实体进一步组成的原子术语.我还阅读了"Agile web dev ..."和"Yii cookbook"书中的相关章节 - 两者都没有进一步阐述这个问题(至少从我的眼镜中可以看出).

让我们举例说明我将提出的问题.实际上,让我们使用类似于上面提到的大多数文档资源中演示的示例:假设我有一篇博文,我希望/需要让其作者能够"更新自己的帖子".现在,为什么这应该是文档资源中常见的任务,而不是具有商业规则的操作?

我认为上面的问题揭示了"任务"的明确定义(当然在RBAC背景下).

请帮我提炼出更好的RBAC任务定义.

编辑:我被建议以下提到的术语的定义,以帮助以有用的方式概念化它们.简而言之,最简单的形式是:操作是基本的构建块.它们是开发人员使用的材料,只有它们.开发人员组成操作的任务和操作.角色由任务组成,例如一组任务.角色和任务是网站管理员应该使用的 - 分配和撤销用户而不是操作.这是查看和掌握这些实体(角色,任务和操作)的好方法.您是否有另一种选择来进行不同的概念化?任何意见将不胜感激.

TIA!波阿斯.

rbac yii

8
推荐指数
1
解决办法
1669
查看次数

Yii动态数据库连接根据用户?

我的项目是基于多租户的.

我有多个客户(公司),每个客户有多个用户.

每个客户端都有自己的数据库,因此在用户身份验证期间,我会发现该用户的关联数据库的名称.

每个数据库的结构是相同的......只有数据不同.

这样我们就可以为不同的公司保留不同的数据库,而不会混淆数据库中的数据.

编写应用程序时,未知客户端数量(以及数据库数量),因此无法在引导脚本中包含所有连接.

现在,我想要做的是,动态地改变引导程序中的数据库连接,或者能够为登录的用户动态创建新连接.在Yii中是否有一个简单的解决方案,仍然使用AR,查询建设者?

同样的问题在yii论坛上被问到仍然没有回答清楚,....你可以在这里找到这个问题 Yii动态数据库连接

yii

8
推荐指数
1
解决办法
8098
查看次数

如何在yii的更新视图中的多选列表框中加载选定的列表项?

我有一个multiple select-list-boxStaffCreate-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 | 字符串| 选定的值

如果有人有解决方案,那么建议我.谢谢所有的伙伴......

multiple-select multi-select yii yii-inheritance

8
推荐指数
1
解决办法
2万
查看次数

Yii:如何在标签内制作带有html标签的按钮

我正在尝试使用一些引导功能,如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标签本身).

感谢你们.

php yii twitter-bootstrap

8
推荐指数
1
解决办法
2万
查看次数

在Yii中更新查询

我有一个要求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)

谁知道哪里出错了?

php mysql yii sql-update

8
推荐指数
1
解决办法
3万
查看次数

Yii 1.1 - 使用验证创建多步骤表单

我基本上尝试使用Yii中的CActiveForm类创建一个多步骤表单.我的想法是希望使用内置功能以最简单的方式实现这一点.我的要求如下:

  • 多步骤ONE PAGE表单(使用显示/隐藏jQuery的DIV)
  • EACH步骤的AJAX验证(仅验证特定于步骤的属性)
  • 验证必须使用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)

yii

8
推荐指数
1
解决办法
2144
查看次数

Javascript:Uncaught InvalidStateError:无法读取'selectionDirection'

我有这个错误信息:

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)

html javascript model-view-controller jquery yii

8
推荐指数
1
解决办法
9345
查看次数