Yii2是Yii PHP框架的最新版本(Yii是一个基于组件的高性能PHP框架),版本2.0.18于2019年4月23日发布。
大家晚上好。 我正在使用 Yii2Framework,并且由于过滤器的原因,我想使用 yii2\kartik 的 GridViewcomponent 或使用 yii2\kartik 中的 ExportMenualso 将它们导出到 csv。 我的数据Pro...
如何通过WebPack(或Mix或Vite)将Vue3正确集成到Yii2 Advanced - 它可以放置在根目录或前端和后端每个文件夹中?
我的 Yii2 Advanced 项目中需要 Vue3,位于前厅和后厅。 现在我通过 CDN 进行了一些集成,但我需要更多功能,然后我需要通过 WebPack(?) 我可以在哪里放置 WebPack 和 ...
我在yii2中使用动态形式。我的发布数据是这样的数组 [模型地址] => 数组 ( [0] => 数组 ( [全名] => xxxx [
Yii2 是否有任何本机选项可以在连接丢失时重新连接到 MySQL?我的意思是在 yii\db 组件级别。查看了这些组件,但只发现 $this->db->close() 和 ...
根据密钥快速访问 ArrayDataProvider 中的模型?
我有一个 Items ArrayDataProvider,由以下形式的函数返回: 公共函数构建器(){ $items = Item::find()->all(); $dataProvider = 新的ArrayDataProvider([ '
我有一个php页面,需要使用AJAX刷新其中的一部分。 函数重新加载图表(数字){ console.log("正在重新加载图表:", number); var xmlhttp = new XMLHttpRequest();...
我正在使用 Yii2 使用 yii2-symfonymailer 发送电子邮件。 如果出现错误,它会从 send() 方法返回 false,因此我可以检查 sendind 是否成功。 我的问题是: 我怎样才能得到...
我从函数 ReportsController::getStudentYearwiseAvgHeightsProvince() 获取数组数据,格式如下: 数组 ( [0] => 数组 ( [名称] => 俾路支 [数据] => 数组 ( [0] =...
我需要验证作为数据网址上传的图像,其格式为: {配置文件:“数据:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAA ...McAAAAAASUVORK5CYII =”} 我的配置文件模型有以下规则: ...
我的应用程序中有一个菜单: Html::img('@web/images/logo-top.png', ['id' => 'logo']), 'brandUrl' => Yii::$app->homeUrl, “选项”=>...
我有一个问题模型和答案模型,其中问题与答案是一对多关系。如何在Yii2中实现checkboxlist,使其以如下形式显示: 形式: 问题1
在我的Kartik GridView 视图文件中,我尝试处理ExpandRowColumn 的detailRowCssClass 属性的函数。无论设置如何,(例如应用空函数或返回
我有一个模型和验证规则: User 类扩展 ActiveRecord 实现 IdentityInterface { ... 公共函数规则() { 返回 [ [['用户名','密码','电子邮件'],'
我刚刚在 Mac 操作系统上创建了新的 Yii 2 应用程序。我使用的PHP版本是7.3版本。 Composer 安装工作正常,但是当我尝试使用命令 php yiiserve 启动应用程序时,我得到以下信息...
在 Yii 1 中,活动记录模型的新实例自动具有“插入”场景,从数据库检索的活动记录模型自动具有“更新”场景。我发现...
在 yii2 中添加自定义字体 kartik yii-mpdf 后,config_custom.php 应该放在哪里
创建自定义配置文件以更改 mpdf-yii2 中的字体类型后,我应该将该文件放在哪里以及如何调用它。 这是custom_config.php 创建自定义配置文件以更改 mpdf-yii2 中的字体类型后,我应该将该文件放在哪里以及如何调用它。 这是custom_config.php <?php require_once __DIR__ . '/vendor/autoload.php'; $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults(); $fontData = $defaultFontConfig['fontdata']; $mpdfConfig = new \Mpdf\Mpdf([ 'mode' => 'utf-8', 'format' => [190, 236], 'tempDir' => __DIR__ . '/web/css/fonts', 'fontDir' => array_merge($fontDirs, [ __DIR__ . 'web/css/fonts/tajawal' ]), 'fontdata' => $fontData + [ 'tajawal' => [ 'R' => "Tajawal-Regular.ttf", 'L' => "Tajawal-Light.ttf", 'B' => "Tajawal-Bold.ttf", 'useOTL' => 0xFF, 'useKashida' => 75, ], ], 'default_font' => 'tajawal' ]); 这是 /config/web.php 中该库的配置 'pdf' => [ 'class' => Pdf::classname(), 'format' => Pdf::FORMAT_A4, 'orientation' => Pdf::ORIENT_PORTRAIT, 'destination' => Pdf::DEST_BROWSER, 'cssFile' => '@vendor/kartik-v/yii2-mpdf/src/assets/kv-mpdf-bootstrap.min.css', 'cssInline' => '.row { margin: 5px 0px 0px 0px !important; padding: 0px !important; }', 'methods' => [ 'SetTitle' => 'Title', ], ], 以及controller.php中的这段代码 $pdf = Yii::$app->pdf; $pdf->methods = [ 'SetTitle' => $pdfTitle , ]; $mpdf = $pdf->api; $mpdf->setAutoBottomMargin = 'pad'; if($language == 0) { $mpdf->SetDirectionality('ltr'); } else { $mpdf->SetDirectionality('rtl'); } $pdf->content = $content; return $pdf->render(); 我正在尝试此代码添加了选项 'pdf' => [ 'class' => Pdf::classname(), 'format' => Pdf::FORMAT_A4, 'orientation' => Pdf::ORIENT_PORTRAIT, 'destination' => Pdf::DEST_BROWSER, 'cssFile' => '@vendor/kartik-v/yii2-mpdf/src/assets/kv-mpdf-bootstrap.min.css', // 'marginLeft'=>0, // 'marginRight'=>0, // 'marginFooter'=>20, 'cssInline' => '.row { margin: 5px 0px 0px 0px !important; padding: 0px !important; }', 'methods' => [ 'SetTitle' => 'Title', ], 'options' => [ 'config' => $_SERVER['DOCUMENT_ROOT'].'/css/fonts/config-fonts.php', ], 查看kartik\mpdf\Pdf类源代码。它创建自己的 Mpdf 对象实例。因此,当您使用 custom_config.php 时,在 Yii::$app->pdf 中创建自己的实例不会对您有帮助。 看看如何在 Mpdf 类中创建 Pdf 实例,在 options 组件属性覆盖某些值后,其 Mpdf 属性中设置的任何内容都将作为构造函数参数传递到 Pdf 中。这意味着您在配置 Mpdf 组件时,需要在 custom_config.php 属性中设置要传递给 options 中的 Pdf 构造函数的任何内容。 为了保持您的config/web.php干净,您可以在额外文件中准备选项,例如config/pdf.php: $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults(); $fontData = $defaultFontConfig['fontdata']; return [ // your font configurations 'fontDir' => array_merge($fontDirs, [ dirname(__DIR__) . '/web/css/fonts/tajawal', // the dirname() is used here because __DIR__ points to `config` directory. ]), 'fontdata' => $fontData + [ 'tajawal' => [ 'R' => "Tajawal-Regular.ttf", 'L' => "Tajawal-Light.ttf", 'B' => "Tajawal-Bold.ttf", 'useOTL' => 0xFF, 'useKashida' => 75, ], ], // keep defaults that are set up in Pdf::$options 'autoScriptToLang' => true, 'ignore_invalid_utf8' => true, 'tabSpaces' => 4, ]; 如您所见,我省略了 mode、format、tempDir 和 default_font 选项,因为这些选项被 Pdf 组件属性覆盖,因此我们需要在那里设置它们。 您不需要 require vendor/autoload.php,因为在加载配置之前它已经包含在 web/index.php 文件中。 现在我们需要在 Pdf 中的 config/web.php 组件设置中使用此文件。 'pdf' => [ 'class' => Pdf::classname(), 'format' => Pdf::FORMAT_A4, 'orientation' => Pdf::ORIENT_PORTRAIT, 'destination' => Pdf::DEST_BROWSER, 'cssFile' => '@vendor/kartik-v/yii2-mpdf/src/assets/kv-mpdf-bootstrap.min.css', 'cssInline' => '.row { margin: 5px 0px 0px 0px !important; padding: 0px !important; }', 'methods' => [ 'SetTitle' => 'Title', ], 'mode' => Pdf::MODE_UTF8, // we will use constant defined in Pdf class instead of plain text 'tempPath' => dirname(__DIR__) . '/web/css/fonts', // tempDir uses tempPath property instead. Make sure the path to temp dir matches actual directory structure 'defaultFont' => 'tajawal', 'options' => require __DIR__ . '/pdf.php', // here we use the extra file with pdf configuration we've prepared ], 这应该确保 Mpdf 组件中的 Pdf 实例是使用您设置的配置创建的。
我在使用两个外键从表中获取字段时遇到问题。 解释了下面使用表的关系。 用户表有许多公司(company_id)。 Company 表有company_id。 设施
Yii2 - 通过唯一字段获取一行时的 Oracle 性能问题
我使用 Yii2,版本 2.0.35,apaoww/yii2-oci8 版本 **1.0.**0 连接到 Oracle DB 我有一个存储用户的表,大约有 800 万行。该表有一个唯一索引“
我正在尝试将 CraftCMS 3 升级到 4 版本,直到数据库迁移步骤成功完成, 当我尝试运行 php craft migrate/all 命令时出现以下迁移错误, 列后缀
我有一个数组如下: [ 0 => [ '姓名' => '卡' 'id' => '0' ] 1 => [ '名称' => '手机' 'id' => '1' ] 2 => [ ...