我正在安装一个模块,我在哪里收到错误 正在运行
php bin/magento setup:di:compile
。
错误如下:
Fatal error: Trait 'Niks\LayeredNavigation\Model\Layer\Filter\SliderTrait'
not found in /var/www/clients/client2/web202/web/app/code/NIKS
/LayeredNavigation/Model/Layer/Filter/Decimal.php on line 10
当我检查Decimal.php
时,代码就像
<?php
namespace Niks\LayeredNavigation\Model\Layer\Filter;
use Magento\CatalogSearch\Model\Layer\Filter\Decimal as CoreDecimal;
/**
* Layer attribute filter
*/
class Decimal extends CoreDecimal
{
use SliderTrait; //This is relevant line 10 referred in code
...
并在文件SliderTrait.php
中就像:
<?php
namespace Niks\LayeredNavigation\Model\Layer\Filter;
use Magento\Framework\App\ObjectManager;
use Magento\Store\Model\StoreManagerInterface;
trait SliderTrait
{
/** @var \Niks\LayeredNavigation\Model\ResourceModel\Fulltext\Collection|null */
protected $_skipFilterCollection;
...
所以对我来说代码看起来没问题,我找不到任何问题,为什么会产生这个错误。
答案 0 :(得分:2)
我可以看到您的供应商文件夹名称是&#34; NIKS&#34;,与供应商名称空间&#34; Niks&#34;相比。对于自动加载类,似乎Magento 2文件夹结构在/app/code
内区分大小写。将命名空间更改为&#34; NIKS&#34;,或将文件夹名称更改为&#34; Niks&#34;。那应该解决它!