问题标签 [yii2-advanced-app]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
410 浏览

sql - 通过查询生成器更新不起作用

我尝试使用 sql 命令更新列值,但它显示一般失败。以下是我的更新代码:

当我执行此代码时,会向我显示以下消息。

SQLSTATE[HY000]:一般错误正在执行的 SQL 是:UPDATE companiesSET company_name='ABC' WHERE company_id =2

错误信息:数组([0] => HY000)

我不知道为什么。有谁知道,我在这里做错了什么?

UPD

不能$command->queryAll()与更新命令一起使用。

0 投票
1 回答
1182 浏览

php - 限制删除 yii2-user 中的特定用户

我正在使用yii2-adminyii2-user。我创建了一个Creator可以访问所有内容的角色。还有另一个角色称为Admin访问权限受限的人。但有权删除用户。现在我想限制Admin删除Creator. 我知道这可以通过重写deleteof 的功能来AdminController实现yii2-user。但我无法弄清楚限制Admin或任何其他用户删除的逻辑Creator

提前致谢!

0 投票
2 回答
2166 浏览

php - 更改yii2中的JuiAsset主题

我使用了 yii2-jui 中的 datePicker,我想更改使用的 Jquery Ui 主题。我尝试了硬编码更改myapp\vendor\yiisoft\yii2-jui\JuiAsset.php

以下是_form视图的片段:

但是,这种方式不是获得我想要的东西的我不知道在我的视图中我必须做什么_form.php才能使其能够覆盖 JuiAsset 对象的属性$css

0 投票
2 回答
4894 浏览

php - 在控制器中覆盖 Yii2 资产管理器配置

我使用 yii-jui 在视图中添加一些 UI 元素,例如 datePicker。在frontend\config\main-local.php我设置以下内容以更改 JqueryUI 使用的主题:

我尝试了以下方法来覆盖控制器操作方法中的此配置项:

此外,我尝试将Yii::$app->components['assetManager']上面显示的值设置为视图本身(它是 form 的部分视图_form.php)和调用此视图的操作(updateAction)。然而,所有这些尝试并没有成功改变主题。Yii2 中是否有类似 CakePHP 中的方法,例如Configure::write($key, $value);

0 投票
1 回答
2250 浏览

php - Yii2中如何获取JuiAsset的主题文件夹路径?

中,jui 资产位于以下路径中:web\assets\135efca3\在其中找到themesui文件夹-确实,我不知道为什么 Yii2 会制作不同的路径段或假路径-。我认为assetManager 的getAssetPath()方法应该返回该路径,但我不知道如何!

actions()我在控制器的方法中尝试了以下调试代码:

但是,它只是打印/themes.

换句话说,我可以问,我怎么能提供的第一个参数(对象)getAssetPath()?因为,我认为这是这里的问题。

编辑

我创建了以下助手 -根据关于路径的 arogachev 回答- 以获取主题列表。

然后在视图中我做了以下内容:

我认为现在是学习如何将所有这些打包到一个小部件中的时候了。

0 投票
1 回答
435 浏览

php - yii2 客户门户重写规则

我有一个带有前端和后端的 yii 高级应用程序。

我试图实现的是我可以使用客户的名字访问前端。

示例(本地):http://localhost/myproject/frontend/web/customer1应该成为http://localhost/myproject/frontend/web/customer1/site/login第一次访问

登录后,客户的姓名应保留在 URL 中。目前,登录后URL更改为http://localhost/myproject/frontend/web/

信息: customer是一个 GET 参数。它应该始终是之后的第一个参数,http://localhost/myproject/frontend/web/但我不想在每个重定向或自定义链接中指定参数。我希望有一种方法可以保留此参数并将其传递给以下每个站点更改。

到目前为止我已经尝试过:

但这不起作用。我只能访问登录页面,之后客户名称不再显示在 URL 中。

我的 .htaccess 文件如下所示:

我非常感谢有关此主题的任何提示。

0 投票
2 回答
11909 浏览

php - 如何在 Yii2 中创建可重用的小部件

我在当前的项目中制作了一个简单的小部件。简单地说,它为所有 jui 主题创建了一个选择选项列表,并允许用户更改主题并通过 cookie 保存它。

这个小部件需要两个 javascript 文件, -它们在 run() 中注册- 其中一个是 jquery cookies 插件。我问的是如何保存这个小部件及其 js 文件的完整性,以便在其他 Yii2 项目中轻松重用,而无需手动复制所有需要的 js 文件?

0 投票
1 回答
1074 浏览

php - 具有高级模板的动态配置文件

我想像在运行时一样动态创建配置文件。我有一个Settings在数据库中命名的表。它的结构是这样的:

现在当应用程序第一次启动时,它应该检查它是否连接到数据库。如果没有,则应将其重定向到该installer页面。用户将在其中输入必要的详细信息,并将相应地生成配置文件,并将相同的数据存储在Settings表中以供将来使用。

我不想将任何值硬编码到配置文件中。那么,我怎样才能完成这个任务呢?有任何想法吗?

我想到了一个主意。如果我检查文件中是否有使用 valueparams-local.php调用的参数。如果它存在,我们说应用程序已成功安装,否则我们将用户带到页面。installedtrueinstaller

0 投票
2 回答
727 浏览

content-management-system - 如何使用 Yii2 框架移动和修改共享主机上的文件?

我正在使用高级模板(Yii2 框架)为我的客户网站构建一个 CMS。

问题是:

现在,我需要在共享服务器托管上托管文件。服务器有一个名为 public_html 的目录。我参考了这个指南。根据指南,我对目录进行了更改,将 frontend/web 移至 public_html。现在页面被打破了。根据指南,它指出移动目录后,我们需要对一些索引文件进行更改。

我试图移动文件,但无法修改索引文件。我对这个过程感到困惑。请帮忙知道哪些文件需要移动和修改?

0 投票
1 回答
625 浏览

php - Yii2 kartik GridView 工作不正确

我已经调整了小部件,例如:

> 导入kartik/grid/GridView

> 使用 GridView::widget(...)

但是表格被剪切并且工具栏没有显示: 图片