Magento

Magento电子商务平台用户的问答


2
在集合查询上左联接表
我正在执行以下操作以从系统中获取一些订单以进行导出: $orders = Mage::getModel('sales/order')->getCollection() ->addFieldToFilter('status', $statusToExport) ->addFieldToFilter('store_id', $this->processingStoreId) ->addFieldToFilter('updated_at', array('gteq' => date('Y-m-d H:i:s', $lastSyncTime))); 如果订单在我拥有的自定义表中,我需要在不导出的地方添加一些内容entity_id。如果使用的是SQL,则可以执行以下操作: left join myTable as mt on main_table.entity_id = mt.entity_id where mt.entity_id is null 但是我不确定如何修改集合查询来做类似的事情。 注意:我确实尝试过 $orders = $orders->getSelect() ->joinLeft( array("t1" => $myTable), "main_table.entity_id = t1.entity_id", array("admin_field_id" => "t1.id") ) ->where("t1.id is null") 但这会更改它,因此这是一个查询,我希望返回销售/订单集合。 我觉得我缺少一些简单的东西... 编辑 …

5
为什么我不能使用loadBySku()通过SKU加载产品?
概要 我想通过SKU加载产品,有很多文章,博客文章,堆栈溢出结果等。我只想知道-为什么通过SKU加载产品必须如此困难? // This method does not work (Of all, I expect this to work) $product = Mage::getModel('catalog/product')->loadBySku($sku); // These do not work either $product = Mage::getModel('catalog/product')->loadByAttribute($sku, 'sku'); $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku); // This does not work $product = Mage::getModel('catalog/product')->load($sku, 'sku'); 当然,我现在对Magento期望simple做的事情太多了(简单是Magento显然不熟悉的概念) // This works: $product = Mage::getModel('catalog/product'); $product->load($product->getIdBySku($sku));

4
如何避免新扩展安装上的404错误
当您使用system.xml config 安装新扩展时,这是Magento中显示的一个非常常见的错误: 当您转到System->Configuration->Extension选项卡时,显示404错误。您需要注销并再次登录,然后就可以了。但是有什么办法可以避免这种情况?

4
有效地从ID获取产品网址
仅给出ID,获得产品网址的最有效方法是什么?在代码的某些地方,我们有一些东西,例如Mage::getModel('catalog/product')->load($id)->getProductUrl()获取产品的URL,鉴于与产品相关的事件数量等等,这似乎很浪费,有没有更简单的方法?还可以指定类别ID的功能很好。 另外,是否有一种有效的方法对商品(例如名称)的单个属性执行相同的操作?

4
禁用模块-性能提高了吗?
这个问题分为2部分: 禁用核心模块是否会提高存储的整体性能,如果是,是否需要在admin中禁用(即禁用前端输出)还是通过config.xml禁用才能看到此性能提升。 如果要提高性能,则可以通过第1部分中回答的方法安全地禁用CE 1.7.0.2构建中的哪些模块。

3
is_salable来自哪里?
注意:如果您一直在通过PHP代码编辑产品,请在之后将它们重新编入管理员的索引中,并节省大量时间尝试找出为什么它们在下面没有像我一样显示出来... 我正在兜圈子,试图弄清楚is_salable产品的设置方式,从而弄清楚为什么我的产品现在展示。 我发现在代码中只有一个地方可以设置它: $salable = $this->isAvailable(); 但是我无法弄清楚如何或从何处获得此信息,因为当我遵循时,isAvailable它似乎只是循环回去...。 /app/code/core/Mage/Catalog/Model/Product.php public function isSalable() { Mage::dispatchEvent('catalog_product_is_salable_before', array( 'product' => $this )); $salable = $this->isAvailable(); $object = new Varien_Object(array( 'product' => $this, 'is_salable' => $salable )); Mage::dispatchEvent('catalog_product_is_salable_after', array( 'product' => $this, 'salable' => $object )); return $object->getIsSalable(); } 从这里跟随$ this-> isAvailable()之后,它会走几行: **public function isAvailable() …
27 catalog  core 


4
在观察者之后返回$ this
我在互联网上以及在第三方模块中都看到了一些冲突的信息- $this在观察者方法结束时返回是一种要求还是最佳实践? 例如: MyCompany_Module_Model_Observer.php public function salesOrderSaveAfter($observer){ //do stuff return $this; }

4
升级脚本-使用选项创建新的select属性
我想使用升级脚本用一些预定义的选项创建一个新的产品属性。 我有一个升级脚本在工作,所以我唯一不知道怎么做的就是添加下拉选项和属性。 我使用以下命令在模块升级脚本中添加属性: $installer->addAttribute('catalog_product', "shirt_size", array( 'type' => 'int', 'input' => 'select', 'label' => 'Shirt Size', 'sort_order' => 1000, 'required' => false, 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, )); 如何添加三个选项:小型,中型和大型? 我不想使用自定义源模型。我想要正常的选择

4
1.7中的四舍五入问题状态如何?
我们正在使用Magento CE 1.7,并且存在各种舍入问题。在各种计算中,存在0.01欧元的差额。 基本问题可能是商品价格包含在内。税。 联合程序员重写了该Mage_Core_Model_Store::roundPrice()方法,以4位精度进行计算。但这似乎导致PayPal付款出现问题。 这些问题有解决方案吗? 编辑: 实际上,我们尝试了一个官方的核心补丁程序,该补丁程序基本上向添加了4位数字的舍入\Mage_Tax_Model_Sales_Total_Quote_Shipping::_round,\Mage_Tax_Model_Sales_Total_Quote_Subtotal::_deltaRound并\Mage_Tax_Model_Sales_Total_Quote_Tax::_deltaRound修复了优惠券舍入问题,但未解决PayPal问题。

4
清除所有URL重写-企业版(1.13)
在几次混乱的导入之后,剩下了许多需要删除的URL重写。 我正在运行Enterprise 1.13 当我在社区中遇到这个问题时,我只是被截断了core_url_rewrite,然后重新索引了。 但是,在Enterprise中,我注意到有许多控制重写的不同表。 enterprise_url_rewrite enterprise_url_rewrite_category_cl enterprise_url_rewrite_product_cl enterprise_url_rewrite_redirect enterprise_url_rewrite_redirect_cl enterprise_url_rewrite_redirect_rewrite 我可以全部截断吗? 我完全希望有人告诉我,我永远不要截断这些表,因此提前为您的幼稚而道歉。

8
购物车删除所有商品/购物车会话清除
当您查看购物车或去结帐时,我突然管理的一个网站(可能是2周前-根据GA统计信息,现在才报告)开始放下购物车物品。 顶部的“迷你购物车”会在下拉菜单中显示商品,直到您浏览到购物车/结帐,然后您最终在购物车上看到“购物车中没有商品”消息。 似乎是一个会话问题。登录时不会发生。 删除了“系统->网络->会话验证设置”中的所有会话验证选项,并启用了“在前端使用SID”选项。这确实解决了问题,但是由于这些设置在过去3个月中没有更改,因此我知道存在一些潜在问题。 那么这指向带有酸痛问题的问题吗?该网站以某种方式失去了它所在的商店ID,并删除了会话/购物车数据?也许是某些模块的某些观察者/事件/重写。 我无法在本地开发人员或UAT服务器上复制该问题。UAT上的数据库是从生效日期算起的2周,因此这可能指向数据库问题/设置吗? 我正在尝试的事情:我正忙于将当前的实时数据库移至UAT以获取最新信息,以查看是否可以在此处复制该问题。完成后将更新。 一旦我可以在非活动区域复制问题,就可以系统地禁用模块,看看商店ID是否有问题(从MageMonkey和sweettooth开始,因为它们是在2周前更新的) 问题是-我还能尝试什么?是否有任何指向我可以在其中闯入一些断点并逐步执行代码的指针,以查看是否可以跟踪此问题? 没有安装额外的缓存系统,例如清漆或内存缓存。服务器是标准的cpanel安装。在uat上测试我禁用了所有缓存。 进一步更新:当我使用默认主题时,似乎无法复制。我正在系统地将主题覆盖文件夹移回。 我还使用git来回溯代码,每个哈希都存在问题。 更新:自从我有时间花时间以来,已经有一段时间了。高工作量。 我将会话移至基于文件的会话,问题已消失。由于客户端不打算在不久的将来使用多台服务器,并且由于我的工作量,该留在那儿了。以后很可能会再咬我。 magento支持建议该问题与扩展会话类的甜食模块有关,但是我已禁用了该模块,并且问题仍然存在。 当我得到更多结果时将更新。
27 checkout  session  cart 

1
Magento 2.1:使用实体管理器
从2.1 Magento引入Magento/Framework/Model/EntityManager 我在这里可能是错的,但是据我所知,它是替换Magento/Framework/Model/AbstractModel通过继承实现功能并通过组合来解决此问题(仅供参考:https : //en.m.wikipedia.org/wiki/Composition_over_inheritance) 您可以在核心文件中找到一个示例:https : //github.com/magento/magento2/blob/59671558ecdab652b40db2d1a7c63d5b1dea0a92/app/code/Magento/Cms/Model/ResourceModel/Block.php 基本上,所有CRUD操作都在类中显式声明,然后推迟到EntityManager该类。在2.1之前,父方法是通过继承调用的。 所以我的问题是: EntityManager2.1版之前的继承系统有什么好处? 被简单地声明CRUD方法(如上面的例子)足以启动定制CRUD模块中实现它还是有更多?

16
拒绝应用样式“因为它的MIME类型('text / html')不是受支持的样式表MIME类型”
突然,我的Magento 2管理面板上没有加载CSS。前端工作正常。 错误详情: “拒绝应用来自' https://www.ornativa.com/pub/static/version1502029409/adminhtml/Magento/backend/en_US/css/styles-old ...'的样式,因为它的MIME类型('text / html' )不是受支持的样式表MIME类型,并且启用了严格的MIME检查。” “未捕获到的SyntaxError:JSON中的意外令牌<位于JSON.parse()位置0处的回调((index):68)在Object.execCb(require.js:1650)在Module.check(require.js:866)处Module。(require.js:1113)在require.js:132在require.js:1156在Module.emit(require.js:1155)在每个(require.js:57)在Module.check(require.js: 917)“

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.