yii 相关问题

用于有关任何版本的Yii的问题,Yii是一个用于在PHP5 +中编写Web 2.0应用程序的开源MVC框架

无法在 Yii2 中的页脚内提交表单

我在页脚内有一个订阅新闻通讯表格,该表格显示在所有页面上。为此,我创建了一个订阅者小部件,如下所示: SubscriberWidget.php 我在页脚内有一个订阅新闻通讯表格,该表格显示在所有页面上。为此,我创建了一个像这样的订阅者小部件: SubscriberWidget.php <?php namespace frontend\components; use Yii; use yii\base\Widget; use yii\helpers\Html; use frontend\models\SubscribeNewsletterForm; class SubscriberWidget extends Widget { public function run() { $subscriber_model = new SubscribeNewsletterForm(); return $this->render('_subscribe-newsletter-form.php', [ 'subscriber_model' => $subscriber_model ]); } } ?> 这是 SubscribeNewsletterForm 模型代码: 订阅新闻通讯表格.php <?php namespace frontend\models; use Yii; use yii\base\Model; class SubscribeNewsletterForm extends Model { public $email; public function rules() { return [ [['email'], 'required'], ['email', 'email'] ]; } } ?> 这是我的_subscribe-newsletter-form.php的代码 <?php use yii\helpers\Html; use yii\bootstrap\ActiveForm; use yii\helpers\Url; ?> <h3>Subscribe to Newsletter</h3> <?php $form = ActiveForm::begin(['id' => $subscriber_model->formName(), 'action' => ['project/subscriber'], 'validateOnBlur' => false, 'validateOnType' => false]); ?> <div class="input-group"> <?= $form->field($subscriber_model, 'email')->textInput()->label(false); ?> <span class="input-group-btn"> <?php echo Html::submitButton('Sign Up', ['class' => 'btn btn-primary subscribe-btn']); ?> </span> </div> <?php ActiveForm::end(); ?> <?php $script = <<< JS $('#{$subscriber_model->formName()}').on('beforeSubmit', function(e){ var form = $(this); $.post( form.attr("action"), form.serialize() ).done(function(data){ form.trigger("reset"); }) return false; }); JS; $this->registerJs($script); ?> 在ProjectController.php中我创建了如下操作: public function actionSubscriber() { $subscriber_model = new SubscribeNewsletterForm(); $request = Yii::$app->request; if($request->isAjax && $subscriber_model->load($request->post())){ $subscriber = new Subscriber([ 'email' => $subscriber_model->email ]); $subscriber->save(); } } 这是订阅者模型代码。 订阅者.php <?php namespace frontend\models; use yii\db\ActiveRecord; class Subscriber extends ActiveRecord { public static function tableName() { return 'subscriber'; } } ?> 前端/config/main.php <?php $params = array_merge( require(__DIR__ . '/../../common/config/params.php'), require(__DIR__ . '/../../common/config/params-local.php'), require(__DIR__ . '/params.php'), require(__DIR__ . '/params-local.php') ); return [ 'id' => 'app-frontend', 'basePath' => dirname(__DIR__), 'bootstrap' => ['log'], 'controllerNamespace' => 'frontend\controllers', 'components' => [ 'request' => [ 'csrfParam' => '_csrf-frontend', ], 'user' => [ 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true], ], 'session' => [ // this is the name of the session cookie used for login on the frontend 'name' => 'advanced-frontend', ], 'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], ], ], ], 'errorHandler' => [ 'errorAction' => 'site/error', ], /* 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ], */ ], 'params' => $params, ]; ?> 上述代码验证有效,但我无法将电子邮件保存在数据库中。请告诉我我做错了什么。 您的模型需要规则。另外,我总是用表前缀支持的方法替换生成的表名称。另外,我总是喜欢使用时间戳行为来记录创建或更新事物的时间。特别是当您获取联系信息以使用潜在客户时,我会记录时间戳及其 IP 地址。 订阅者.php use yii\behaviors\TimestampBehavior; // ... /** * @inheritdoc */ public static function tableName() { return '{{%subscriber}}'; } /** * @inheritdoc */ public function behaviors() { return [ TimestampBehavior::className(), ]; } /** * @inheritdoc */ public function rules() { return [ ['email', 'filter', 'filter' => 'trim'], ['email', 'required'], ['email', 'email'], ['email', 'string', 'max' => 255], ['email', 'unique', 'targetClass' => '\common\models\Subscriber', 'message' => 'This email address has already been taken.'], [['created_at', 'updated_at'], 'integer'], ]; }

回答 1 投票 0

当我调用 warning() 或 info() 时,如何防止 post 变量出现在 Yii2 日志中?

我正在维护一个用 Yii2 构建的应用程序,我想使用 Yii::warning() 来写入日志消息。除非我在用户登录序列中记录事件,否则这很好。 用户名和密码是...

回答 2 投票 0

将 css 类添加到表单(Yii 表单构建器)

我们如何向 Yii form bui 创建的表单元素添加 css class 或 id 想象一下我创建了一个表单,如下所示: 控制器: 公共函数actionRegistration() { $...

回答 1 投票 0

yii 活动表单始终无效

我的 yii 项目有问题。在我的管理面板中,我有一个用于创建使用 CActiveForm 小部件制作的商店产品的表单。 像这样的东西: beginWidget('CActiveFor...

回答 3 投票 0

Yii 1.1.21:是否可以在同一个按钮组中创建两个下拉按钮?

我是 Yii 新手,我一直在寻找有关 Yii 和 CMenu 的文档。我使用过 Phalcon 和其他各种具有类似选项的框架,但 Yii 的菜单引擎对我来说是新的。 我正在努力

回答 1 投票 0

Yii CJuiAutoComplete 用于多个值

我是一名 Yii 初学者,目前正在开发一个标签系统,其中有 3 个表: 问题(id、内容、create_d、...等) 标签(id、标签) Issue_tag_map (id,tag_id_fk,issue_id_fk) 在我的/观点/问题/

回答 1 投票 0

Yii 自定义 CRUD。扩展不同表的通用模型

我的项目有20张桌子。 所有表中的数据管理都是相同的。 只有表中的列会有所不同。 所以我想制作通用模型,通用控制器和通用视图文件夹...

回答 1 投票 0

Cron 错误:异常“yii ase\InvalidConfigException”,消息为““用户”组件的配置必须包含“类”元素。”

我遵循了此页面的代码https://www.yiiframework.com/wiki/646/how-to-implement-cron-in-yii-2 我测试了 cron 但失败了 $ php yii 测试/索引 异常 'yii ase\InvalidConfigException' 与 me...

回答 1 投票 0

Yii 验证:某些错误不显示

这是我的规则方法: 公共函数规则() { $新规则=数组( array('password_verification, valid_from, valid_until', '必填'), 数组('密码验证', '

回答 1 投票 0

Yii 关系通过

我有3张桌子: 房子: ID 姓名 ... 活动: ID 标题 ... 类别: ID 标题 ... 我想建立像 $category->houses 这样的关系,以返回在特定情况下有活动的所有房屋

回答 1 投票 0

Ejuicombobox 在特定模型属性上抛出未定义的偏移错误

我下载了具有自动完成功能的可编辑组合框控件并添加了扩展名。我对模型的 Patient_id 和 Problem_definition_id 属性有问题。适用于

回答 2 投票 0

在 Yii Framework 的 CGridView 中显示 CSV 文件内容

我正在尝试在 CGridView 中显示 CSV 文件内容,我想将 CSV 文件标题显示为 CGridView“Column”,并将其内容显示为 DataProvider。请提供任何想法来实现这一目标?

回答 1 投票 0

Yii 在提交按钮后不保存可编辑网格

不幸的是,这个解决方案不会将编辑后的数据保存在网格上,我可以提供一些帮助吗? 查看名称:admin 型号名称: 时间表 控制器名称:TimesheetController 提前致谢。 看法 <...

回答 1 投票 0

yii CTab查看空内容

如果选项卡内容为空,如何隐藏空白区域?

回答 1 投票 0

在 YII2 中访问子文件夹控制器和视图

嗨我在controllers文件夹内的文件夹中构建了一个控制器 我尝试访问我的控制器及其视图,但我不能总是出现错误 404 请告诉我有什么问题 这是详细信息 这...

回答 2 投票 0

Yii Office365主机smtp邮件发送失败

从YII发送邮件时,对于smtp协议,出现以下错误: Swift_TransportException:预期响应代码 250,但收到代码“530”,消息为“530 5.7.57 SMTP;客户端未经过身份验证...

回答 3 投票 0

Yii - 数据库依赖项缓存是否可以跨多个操作工作?

以这段代码为例: 公共函数 actionPostOneWay( $postId ) { $dependency = new CDbCacheDependency( '从帖子中选择发布日期 WHERE id = :post_id;' ); $取决于...

回答 1 投票 0

Yii:向模型添加属性

我正在尝试向我的模型之一(“CustomUser”)添加一个属性,该模型继承了我的模型“User”。 我想在“createUser”表单中使用此属性作为验证密码字段。我想要...

回答 3 投票 0

在rest api yii2上重写POST方法

我必须在yii2上重写post请求。 每次我在 url v1/availability 上发布请求时 我想调用 actionCreate 来管理请求。 这是我的 main.php 'urlManager' => [ '

回答 2 投票 0

Yii2 - 与多列有很多关系

我有一个表message_thread: ID 发件人ID 收件人 ID 我想在我的用户模型中声明一个关系,它将获取所有消息线程,如下所示: 选择 * 来自消息线程 发件人在哪里...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.