标签: magento2

如何清除 Magento 2 中单个 product_id 的缓存

我编写了一个 cron 作业,它检查直接在数据库中进行的库存数量更改,因此绕过了 Magento 核心,该核心可以处理缓存过期。

我希望能够通过以下方式使用对象管理器:

public function clearCacheforProduct($productID) {
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $cacheManager = $objectManager->get('\Magento\Framework\App\Cache\Manager');
    $cacheManager->clean('catalog_product_' . $productID);
}
Run Code Online (Sandbox Code Playgroud)

当前,当 cron 作业运行时,这会以静默方式失败。

知道如何清除单个产品 ID 的缓存吗?

php caching magento2

1
推荐指数
1
解决办法
5663
查看次数

Magento 2 找不到 css 和 js 文件

提前感谢您的帮助!

我将基于 Magento 2 的站点从托管移至我的本地主机。我清除了缓存,在 core_config 中调整了(安全和不安全)url,使用 cli 运行静态内容部署()。检查“文件夹”的所有许可。

Magento 运行但没有 css 和 js 文件。

在控制台中,我可以看到以下内容:

部署后 Magento 2 主页面的打印屏幕

请给一些建议,我应该怎么做才能消除这个问题?提前致谢!

PS:Win 10 Open Sever (PHP7x64, MySQL5,7x64, Apache-PHP7-x64+Nginx1.10) 无外部缓存

PPS 在从主机复制站点之前,我尝试使用 cli 使用示例数据设置 magento,但我收到了同样的问题!所以我相信这不仅仅是将 magento 2 从主机移动到本地的问题。我可以看到 M2 尝试从 pub/static 中不存在的 version1485628564 文件夹加载所有文件

http://magehost.two/pub/static/**version1485628564**/frontend/Magento/luma/en_US/mage/calendar.css
Run Code Online (Sandbox Code Playgroud)

php installation magento2

1
推荐指数
1
解决办法
1万
查看次数

如何在 magento 2 的结账页面上获取步骤名称?

我在结帐页面的“订单摘要”中添加了一个自定义块。它显示在两个步骤 - 运输和付款。但我需要知道当前的步骤是什么。我怎样才能在这个块上得到它?

javascript checkout magento magento2

1
推荐指数
1
解决办法
3507
查看次数

在类别视图 Magento 2 上禁用价格过滤器

我是 magento 的新手并继续学习:)

如何禁用价格过滤器以在类别视图中显示? 在此处输入图片说明

magento2

1
推荐指数
1
解决办法
4144
查看次数

如何在 Magento 2 中以编程方式从产品信息中获取延期交货状态

如何以编程方式从产品信息中获取延期交货状态?

现在产品信息已准备好为$_product,我们也可以通过此代码获取库存状态。

<?php $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
     $StockState = $objectManager->get('\Magento\CatalogInventory\Api\StockStateInterface');
     $product_is_stock = $StockState->getStockQty($_product->getId(), $_product->getStore()->getWebsiteId()); ?>
Run Code Online (Sandbox Code Playgroud)

此外,延期交货功能已解决,因此我们可以将缺货产品添加到购物车中。

php status stock magento2

1
推荐指数
1
解决办法
3999
查看次数

Magento 2.1.7 将网站重定向到旧网址

我已经在我的服务器上安装了最新的 magento 2.1.7 版本并安装了一个主题。我已经在一个文件夹(http://example.com/site/)中安装了 magento,一切正常。现在我已将它移动到根目录(http://example.com/)作为主网站,但它不起作用,它重定向到带有 SID var 的旧 URL。http://example.com/site/?sid=8374urh347yr7w4ry

我尝试了以下更改:

  • 更改了 core_config_data 表中的 base_url,
  • 删除了 var/ 中的所有缓存/所有内容
  • 删除浏览器缓存/cookies
  • 我在 localhost 上尝试过,但仍然重定向到http://example.com/site/?sid=8374urh347yr7w4ry
  • 删除系统tmp文件
  • 我检查了 env.php 文件,但什么也没有
  • 所有权限集

magento 是否也将 base_url 存储在任何文件中?这样我就可以改变了。

任何帮助将不胜感激

php magento2

1
推荐指数
1
解决办法
4387
查看次数

magento 2 在没有 SQL 触发器的情况下工作吗?

这是情况。

我使用的是 magento 2.1.6 企业版。在 magento 文档中曾说过“Magento 使用 MySQL 数据库触发器来改善重新索引期间的数据库访问”。

但我的问题是如果我使用没有触发器的数据库会发生什么。因为我打算把数据库迁移到谷歌云SQL。在谷歌云文档中,他们说如果您要使用复制,请避免触发,因为它可能会导致副本不一致。

什么是最好的呢?

mysql google-cloud-sql magento2

1
推荐指数
1
解决办法
2259
查看次数

自定义模块迁移的 Magento2 代码迁移工具问题

有人遇到过这个错误吗?

我正在尝试迁移自定义模块。

当我运行此命令时,出现以下错误。请指教。

php bin/migrate.php migrateModuleStructure source destination
Run Code Online (Sandbox Code Playgroud)
PHP Fatal error:  Uncaught Error: Cannot instantiate interface Magento\Framework\Serialize\SerializerInterface in /var/www/code-migration-develop/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:50
Run Code Online (Sandbox Code Playgroud)

提前致谢。

code-migration magento2

1
推荐指数
1
解决办法
346
查看次数

Magento 2 - 在左连接中使用 group_concat 进行选择

我目前正在尝试将订单产品中的 SKU 放入后端的订单网格和过滤器中。它已经在工作,但仅适用于一个 SKU,而不是订单的所有 SKU。我的控制器看起来像这样:

<?php
namespace Vendor\Module\Model\ResourceModel\Order\Grid;

use Magento\Sales\Model\ResourceModel\Order\Grid\Collection as OriginalCollection;
use Magento\Framework\Data\Collection\Db\FetchStrategyInterface as FetchStrategy;
use Magento\Framework\Data\Collection\EntityFactoryInterface as EntityFactory;
use Magento\Framework\Event\ManagerInterface as EventManager;
use Psr\Log\LoggerInterface as Logger;

class Collection extends OriginalCollection
{
    protected $_authSession;
    public function __construct(
       EntityFactory $entityFactory,
       Logger $logger,
       FetchStrategy $fetchStrategy,
       EventManager $eventManager,
       \Magento\Backend\Model\Auth\Session $authSession
      )
    {        
       $this->_authSession = $authSession;
       parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager);
    }

    protected function _renderFiltersBefore() {
        $user = $this->_authSession->getUser();
        $joinTable = $this->getTable('sales_order_item');
        $this->getSelect()->joinLeft($joinTable, 'main_table.entity_id = sales_order_item.order_id', ['sku'])->group('entity_id');
        parent::_renderFiltersBefore();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我的问题:是否可以将左连接中的数据选择为 group_concat?如果是这样,请给我一个关于如何做到这一点的提示。我试过这样

$this->getSelect()->joinLeft($joinTable, 'main_table.entity_id …
Run Code Online (Sandbox Code Playgroud)

mysql magento2

1
推荐指数
1
解决办法
2147
查看次数

在使用 Magento 2 GraphQl 时,字符串翻译似乎不起作用

在 GraphQl Resolver 中,我们希望使用__()方法返回翻译后的字符串。不幸的是,这似乎不起作用。我们还进行了一些调试,但无法弄清楚为什么这不起作用。我的猜测是,解析器无法翻译,因为他们不知道翻译成哪种语言。但是我不知道如何设置语言。

有没有其他人遇到过这种问题,这在 PWA Studio 中是如何工作的?

translation magento2 graphql magento-2.3

1
推荐指数
1
解决办法
992
查看次数