使用干净的 url 在 yii2 中的超链接中传递多个参数,Html::a() 不会生成干净的 url

2024-01-30

我正在尝试通过中提到的方法生成超链接http://www.yiiframework.com/doc-2.0/guide-helper-html.html#hyperlinks http://www.yiiframework.com/doc-2.0/guide-helper-html.html#hyperlinks像这样

 Html::a('<b>Register</b>', 
    ['story/create', array('id' =>39,'usr'=>'11')], 
    ['class' => 'profile-link'])

我想得到像这样的网址story/create/id/39/usr/11

但它正在生成

story/create?1%5Bid%5D=39&1%5Busr%5D=1

我已经启用了 yii2 的 clean url 功能,例如

  'urlManager' => [
        'class' => 'yii\web\UrlManager',
        // Disable index.php
        'showScriptName' => false,
        // Disable r= routes
        'enablePrettyUrl' => true,
        'rules' => array(
                '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        ),
        ], also.

如何实现这一目标?


随着生成url像这样使用(查看更多http://www.yiiframework.com/doc-2.0/guide-helper-url.html http://www.yiiframework.com/doc-2.0/guide-helper-url.html):

Html::a('<b>Register</b>', 
        ['story/create', 'id' =>39,'usr'=>'11'], 
        ['class' => 'profile-link'])

在 urlManager 中输入新规则:

rules' => array(
  ....
  'story/create/<id:\d+>/<usr:\d+>' => 'story/create',

        ),

输出网址将是这样的:

story/create/39/11

在控制器中:

public function actionCreate($id, $usr)

而Yii2提供了这个参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用干净的 url 在 yii2 中的超链接中传递多个参数,Html::a() 不会生成干净的 url 的相关文章

  • yii2 在 gridview 中更改控制器操作

    我有 ItemController 并在 actionView 中放置了 Itempicture 的 gridview 我希望当我单击图标视图时 更新和删除 然后转到 ItempictureController 那么如何使用不同的控制器更改
  • 在 Yii2 中隐藏 URL 中的网页

    我已遵循中描述的答案这个问题 https stackoverflow com questions 27178364 yii 2 0 hiding basic web from the url along with the index php
  • Yii 2 ActiveForm表单字段如何在复选框列表中实现“全选”选项?

    Yii 2 ActiveForm表单字段如何在复选框列表中实现 全选 选项
  • 在 Yii2 中运行行为代码之前获取控制器操作

    我正在尝试在 a 中执行一些代码Yii2控制器 因为我需要模型中的一些代码才能在behaviors部分 以便我可以将模型作为参数传递并避免运行重复的查询 但是我还需要能够找出什么action正在被召唤 但我运气不太好 我尝试过使用befor
  • 如何使用 Yii 2 构建类似 `select ... where id % 2 = 1` 的查询?

    当然 我可以Yii app gt db gt createCommand sql gt query 但如果我想用一个ActiveRecord find gt where conditions 做这个工作 这是使用的选项之一yii db Ex
  • Yii2 迁移。表名中的百分号和括号

    我在github上浏览了yii2 oauth2 server代码 并在其中遇到了有趣的语法迁移文件 https github com Filsh yii2 oauth2 server blob master migrations m1405
  • 自动重定向到干净的网址

    我如何在 php 中自动将网站从脏网址重定向到干净网址 例如 http www mysite com page page1 action action1 to http www mysite com page1 action1 您必须检查它
  • 关于 Yii2 RBAC 的疑惑

    到目前为止 我一直在使用 Yii 1 1 14 开发 Web 应用程序 但现在是时候进行升级了 我工作的公司开发了自己的访问控制系统 我对它真的很满意 直到我看到它到底是什么样子 数据库中8个表的组合 不包括用户表 还有一堆外键 1 个控制
  • 在 yii2 中搜索两个日期

    日期可以用不同的格式表示 表格本身看起来像这样 book varchar 250 NOT NULL date INT NOT NULL 现在我的问题是我无法在两个日期之间的范围内实现搜索 例如 有 5 本书 日期不同 但开始日期开始 在31
  • 使用选项卡小部件将 ActiveForm 字段拆分为不同的选项卡

    我正在创建一个表单视图 我想使用官方选项卡小部件以选项卡结构组织表单字段 是否可以使用包含活动表单字段的 div 元素的 id 或类 来初始化选项卡小部件 如何管理它的一个示例如下 首先 将您的联系表单分为每个选项卡的一个视图文件 将 Ac
  • yii2 中的自动完成

    在 Yii2 中 我希望当用户开始输入时 我的输入字段之一能够自动完成 下面是我的代码 它使用Jui Autocomplete 这是行不通的 当我打印我的数组时 我就像 Array 1 gt abc 2 gt xyz 4 gt pqr
  • Yii2:对 ajax 提交的表单进行 ajax 表单验证

    我想知道是否有 Yii2 专家可以帮助我了解如何最好地结合使用 ajax 表单和 Yii ajax 验证 我想我可以解释这个问题 而无需向您介绍我的所有代码 我正在制作一个促销代码输入表单 用户在表单中输入促销代码 该表单通过 ajax 提
  • 使用第三方库记录来自 PHP 应用程序的所有 cURL 请求

    好吧 我的 PHP Yii2 应用程序遇到了困难 我需要记录来自应用程序的每个传入和传出请求 传入的请求可以轻松地记录在 PHP 本身中 在引导阶段添加一些处理程序 这很容易 但真正的问题是我正在使用许多第三方库 即 Amazon MWS
  • Yii 2.0 AJAX 请求的 CSRF 验证

    我有一个ajax触发从我的数据库中删除条目的函数 我需要去做CSRF验证相同 我怎样才能做到这一点 我正在发送CSRF cookie连同我的帖子请求 但是Yii 2 0不验证它 并且通过 ajax 传递的任何输入都会到达服务器 我该怎么做C
  • 服务器端文件验证在 Yii.2.0 中不起作用

    Is the FileValidatorYii2 中的类只支持客户端验证 我使用代码编写了文件上传系统 在模型中 public function rules return allAllowedFileType safe allAllowed
  • yii2 更新后返回上一页

    更新记录后如何将用户重定向到上一页 这是典型的场景 用户在索引页面中过滤结果或对记录进行分页 然后找到想要编辑的记录并单击编辑按钮 他们更新该记录的数据 一旦单击 更新 按钮 他们将被重定向到索引视图 但具有先前选择的过滤器 页面 更新后我
  • Yii2 从 MySQL 中的表登录的分步指南

    我开始在 Yii2 中迈出第一步 到目前为止 我已经能够编写一个应用程序并将数据库中的表连接到它 就像我在 Yii1 中学到的那样 该表是contacts我的创建视图中的表单将数据发送到数据库 没有任何问题 问题是我只能在 Yii2 内置的
  • yii2 行为 ActiveRecord::EVENT_BEFORE_INSERT 不起作用

    我的模型中的行为函数如下 public function behaviors return timestamp gt class gt yii behaviors TimestampBehavior attributes gt Active
  • 在 config/main.php 中找不到 Yii2 模块(不在 /vendor 文件夹下)类

    我在 api 文件夹下创建了一个模块 它本身与 yii2 高级应用程序中的后端和前端处于同一级别 文件夹结构 api 常见的 控制器 楷模 配置 模块 v1 控制器 楷模 运行 测试 网络 在 api config main php 中 r
  • 如何在 Yii 2 中创建 BaseController 扩展 Controller

    正如标题 我将创建自定义控制器并覆盖 Yii 2 中的核心控制器 下面是我的代码 创建BaseController 我把这个文件放在root components中 namespace yii base use Yii class Base

随机推荐