Php 来自控制台应用程序的资产管理,Yii
如何使用Yii assets manager从控制台应用程序访问作为资产发布的图像? 我使用Yii(控制台应用程序)中的Php 来自控制台应用程序的资产管理,Yii,php,command-line,yii,console-application,assets,Php,Command Line,Yii,Console Application,Assets,如何使用Yii assets manager从控制台应用程序访问作为资产发布的图像? 我使用Yii(控制台应用程序)中的命令发送新闻稿。我无法在邮件模板中使用作为资产发布的图像 我将实际图像放在受保护的/assets/images/文件夹中。当我使用assetmanager发布它们时,它们将在root/assets/6f3434/images/文件夹中可用 通常,我在Yii的web应用程序中访问图像的代码是 assetBase?>/images/a.png”/>其中$this->assetBas
命令发送新闻稿。我无法在邮件模板中使用作为资产发布的图像
我将实际图像放在受保护的/assets/images/
文件夹中。当我使用assetmanager
发布它们时,它们将在root/assets/6f3434/images/
文件夹中可用
通常,我在Yii的web应用程序中访问图像的代码是
assetBase?>/images/a.png”/>
其中$this->assetBase
引用已发布文件夹的url,在本例中为root/assets/6f3434
如果我从控制台应用程序运行代码,同样的方法也不起作用。您没有解释什么是不起作用的。所以这里只是一个一般性的指导原则
您必须在控制台应用程序中配置assetManager
组件。您还需要调整一些设置,以便最终获得相同的资产路径。您应该在console.php
中添加类似的内容:
<?php
'aliases' => array(
'webroot' => realpath(__DIR_.'/../..'),
),
'components' => array(
'assetManager'=>array(
'class' =>'CAssetManager',
'basePath' =>realpath(__DIR__.'/../../assets'),
'baseUrl' =>'/assets',
),
'request' => array(
'baseUrl' => '',
),
),
//...
您没有解释什么不起作用。所以这里只是一个一般性的指导原则
您必须在控制台应用程序中配置assetManager
组件。您还需要调整一些设置,以便最终获得相同的资产路径。您应该在console.php
中添加类似的内容:
<?php
'aliases' => array(
'webroot' => realpath(__DIR_.'/../..'),
),
'components' => array(
'assetManager'=>array(
'class' =>'CAssetManager',
'basePath' =>realpath(__DIR__.'/../../assets'),
'baseUrl' =>'/assets',
),
'request' => array(
'baseUrl' => '',
),
),
//...
让我试试这个解决方案,谢谢。现在我用request组件&getBaseUrl()函数直接指向资源,而不是资产文件夹。让我试试这个解决方案,谢谢。现在我用request组件&getBaseUrl()函数直接指向资源,而不是资产文件夹。