小编rob*_*sch的帖子

Yii2:无法执行RBAC迁移(您应该配置"authManager"...)

正如这里所描述的那样,我正在尝试进行迁移,以便让yii创建用户身份验证表.但是我得到错误:

异常'yii\base\InvalidConfigException',消息'您应该在执行此迁移之前配置"authManager"组件以使用数据库.

authManager存在于配置中,但我仍然遇到该错误.组态:

'components' => [
    ...
    'db' => $db,
    'authManager'  => [
        'class'        => 'yii\rbac\DbManager',
        //            'defaultRoles' => ['guest'],
    ],
    ...
],
Run Code Online (Sandbox Code Playgroud)

有什么问题?

migration console configuration yii2

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

删除iframe水平滚动条

我想删除iframe中的水平滚动条.我只需要一个垂直滚动条来查看冗长的内容.我的代码是

<iframe height='514' width='790' 
        marginwidth='0' marginheight='0' 
        frameborder='0' 
        overflow-y='scroll' 
        overflow-x='hidden'>
</iframe>
Run Code Online (Sandbox Code Playgroud)

任何人请解决我的问题.提前祝福.

html iframe

15
推荐指数
2
解决办法
6万
查看次数

我可以在Firefox中创建高分辨率的屏幕截图吗?

在Firefox中,我可以在访问Web开发人员工具栏时创建全页屏幕截图(可以在开发人员工具设置中激活).不幸的是,我只能使用默认分辨率来执行此操作.有没有机会获得更高分辨率的图像?使用Firefox或附加组件?或者它可以在另一个浏览器中?

firefox screenshot high-resolution webpage-screenshot

13
推荐指数
3
解决办法
7341
查看次数

如何在表中的特定位置添加具有Yii 2迁移的新列?

假设我有这个表结构:

+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
| id | first_name | last_name | country | city | address | zipcode | created             | updated             |
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
|  1 | Duvdevan   | Duvdevani | NULL    | NULL | NULL    | NULL    | 2016-02-12 15:37:19 | 2016-02-12 16:35:57 |
+----+------------+-----------+---------+------+---------+---------+---------------------+---------------------+
Run Code Online (Sandbox Code Playgroud)

我想添加一个名为新列email,刚过id之前first_name,使用addColumn 方法的的Migration类.

我在新迁移中唯一能做的就是:

public function up()
{
    $this->addColumn('contacts', 'email', $this->string(64));
}
Run Code Online (Sandbox Code Playgroud)

它将把它放在桌子的最后,updated在场后.

如何在表中的特定位置添加列,以便可以遵循此SQL查询:

ALTER TABLE contacts ADD email VARCHAR(64) AFTER id
Run Code Online (Sandbox Code Playgroud)

php mysql database-migration yii2

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

如何创建yii2内联复选框列表

我在yii2论坛上描述了我的问题,但没有人帮助我,很可能是因为没有人知道答案.

这是这里的简短描述.

我想这样做:

<label class="checkbox-inline"><input type="checkbox" value="ASD">Option 1</label>
<label class="checkbox-inline"><input type="checkbox" value="DSA">Option 2</label>
<label class="checkbox-inline"><input type="checkbox" value="REW">Option 3</label>
Run Code Online (Sandbox Code Playgroud)

但是使用yii2 checkboxList Html帮助器.

这是我简化的复选框值数组

<?= $form->field($model, 'country')->checkboxList(['FR'=>'France', 'DE'=>'Germany']) ?>
Run Code Online (Sandbox Code Playgroud)

我需要将class="checkbox-inline"这个yii2辅助方法生成的每个复选框的标签标签插入,但我无法弄清楚如何做到这一点.

我正在关注这些指南:checkboxList和复选框一(我不能发布超过2个链接,因为我是新来的)但它们对我没有帮助,我只是不明白我必须做什么.我试过的一切都失败了.

有人可以帮助我,我现在试了三天吗?

html php checkbox yii2 twitter-bootstrap-3

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

python mysql删除语句不起作用

在这里我试图删除任何包含"在他们的电子邮件/用户名中的用户.

    def removeQuote(self, tbl,record):
            """ Updates the record """
            statmt="select id from %s WHERE `email` LIKE '%%\"%%'" % (tbl)
            self.cursor.execute(statmt)
            rows=list(self.cursor.fetchall())
            for idx, val in enumerate(rows):
                    id= val[0]
                    delstatmt = "DELETE FROM `maillist_subscription` WHERE id = '%s'" % id
                    print delstatmt
                    self.cursor.execute(delstatmt)
Run Code Online (Sandbox Code Playgroud)

此输出显示操作已成功完成,但记录仍保留在数据库中.输出还显示了正确的mysql语句:

DELETE FROM `maillist_subscription` WHERE id = '8288754'
Run Code Online (Sandbox Code Playgroud)

感谢你的帮助!

python sql transactional

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

.htaccess用问号"?"重写URL

我的目标是这个网址:

component/users/?view=registration
Run Code Online (Sandbox Code Playgroud)

至:

registration.html
Run Code Online (Sandbox Code Playgroud)

.htaccess是在网站的文件夹mysite的.

我试过这个:

RewriteBase /mysite
RewriteRule ^component/users/?view=registration$ registration.html$ [R=301,L]
Run Code Online (Sandbox Code Playgroud)

但我不工作......

当我尝试这个:

RewriteRule ^component/users/_view=registration$ registration.html$ [R=301,L]
Run Code Online (Sandbox Code Playgroud)

它运作得很好.

那我怎么能用问号解决这个问题呢.我已经读过它,它不是URL的一部分(附加).我已经读过我必须使用像querystring这样的东西,但我并不真正理解语法.

也许有人可以写出这个问题的解决方案?会很棒=)

url .htaccess mod-rewrite

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

GridView行作为链接,但Yii2中的操作列项除外

当我使用下面的代码时,它会覆盖action-column删除/更新链接.

'rowOptions' => function ($model, $key, $index, $grid) {
    return [
        'id'      => $model['id'], 
        'onclick' => 'location.href="' 
            . Yii::$app->urlManager->createUrl('accountinfo/update') 
            .'?id="+(this.id);',
    ];
},
Run Code Online (Sandbox Code Playgroud)

由于我有很多列,最好在一个地方指定链接网址,而不是在每列中使用以下代码:

 'value' => function ($data) {
                return Html::url('site/index');
            }
Run Code Online (Sandbox Code Playgroud)

那么除了动作列之外,还有哪种方法可以为GridView中的整行提供链接?

编辑:全网格视图

GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel'  => $searchModel,
    'rowOptions'   => function ($model, $index, $widget, $grid) {
        if ($widget == 1)
            return [
                'id' => $model['id'], 
                'onclick' => 'location.href="'
                    . Yii::$app->urlManager->createUrl('accountinfo/update') 
                    . '?id="+(this.id);'
            ];
    },
    'columns'      => [
        ['class' => 'yii\grid\SerialColumn'],

        // 'id',
        'f_name',
        'l_name',
        'address',
        'country',
        'state',
        'city', …
Run Code Online (Sandbox Code Playgroud)

php gridview yii2

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

如何修复作曲家post-install-cmd脚本的错误?

我想使用composer脚本进行一些安装后的操作,例如将文件从bootstrap vendor文件夹复制到我的Web应用程序公用文件夹.我有PHP世界和Web应用程序开发的宝贝经验.

我正在尝试通过遵循本教程学习一点

这是我的目录结构* 在此输入图像描述

这是我的composer.json

{
    "name": "Composer Script",
    "description": "An example to demonstrate the use of Composer scripts",
    "version": "1.0.0",
    "require": {
        "twitter/bootstrap": ">=3.0"
    },

    "scripts": {
        "post-install-cmd": [
            "ComposerScript\\Installer::postInstall"
        ],
        "post-package-install": [
            "/var/www/test/composer-script/install.sh"
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

这是ComposerScript\Installer.php

class Installer

    {
        public static function postInstall(Event $event)
        {
            $composer = $event->getComposer();
            // do stuff
        }

        public static function postPackageInstall(Event $event)
        {
            $installedPackage = $event->getOperation()->getPackage();
            // do stuff
        }

        public static function warmCache(Event $event)
        {
            // …
Run Code Online (Sandbox Code Playgroud)

php autoloader composer-php

9
推荐指数
1
解决办法
9816
查看次数

如何在发送Yii2之前获取HTML电子邮件内容?

我想用跟踪器替换HTML电子邮件中的所有链接.据我所知,有这个EVENT_BEFORE_SEND事件.所以我创建了一些可以像下面这样使用的行为

$mailer = \Yii::$app->mailer;
/* @var $mailer \yii\mail\BaseMailer */
$mailer->attachBehavior('archiver', [
   'class' => \app\MailTracker::class
]);
Run Code Online (Sandbox Code Playgroud)

这是MyTracker班级的内容.

class MailTracker extends Behavior {
    public function events() {
        return [
            \yii\mail\BaseMailer::EVENT_BEFORE_SEND => 'trackMail',
        ];
    }

    /**
     * @param \yii\mail\MailEvent $event
     */
     public function trackMail($event) {
        $message = $event->message;

        $htmlOutput = $this->how_do_i_get_the_html_output();
        $changedOutput = $this->changeLinkWithTracker($htmlOutput);
        $message->getHtmlBody($changedOutput);
     }
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是\yii\mail\BaseMailer没有提供在发送之前获取HTML输出的方法.

这该怎么做?

UPDATE

我能做到这一点的唯一方法是通过这种黑客方式.

    /* @var $message \yii\swiftmailer\Message */
    if ($message instanceof \yii\swiftmailer\Message) {
        $swiftMessage = $message->getSwiftMessage();
        $r = new …
Run Code Online (Sandbox Code Playgroud)

php swiftmailer yii2

9
推荐指数
2
解决办法
3673
查看次数