Magento

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

4
在具有不同域的商店之间共享会话
我在Magento装置上有三个网站,每个网站都有自己的域。 现在,由于Web浏览器的安全性,您无法访问其他域的Cookie,也无法访问会话。 我需要以某种方式能够在具有不同域的两个不同商店之间传递临时数据。 我的特定用例: 我正在使用GeoIP触发重定向到正确的国家/地区存储,但是我还需要能够手动覆盖它。现在,我遇到的问题是,我要使用Cookie在当前商店上手动覆盖,但是当我重定向到另一商店时,另一商店上没有Cookie,因此它回退并查找用户基于GeoIP的商店。但是,这随后在太存储之间创建了一个无限循环重定向。 这是通过找出要index.php与自定义模块一起使用的商店的网站代码,并使用正确的代码运行Magento来完成的。然后为我处理所有重定向等。

4
将类别工具栏移出产品/列表
我正在尝试将显示排序选项和寻呼机的工具栏移出产品列表,以便将其与面包屑和类别名称捆绑在一起。 我发现此网站适用于旧版本的Magento,但不适用于CE 1.7或EE 1.12。 在注释中,有人使用一些代码将其移至根目录,但这也不起作用。这是将其移到类别/视图的代码,这将有所帮助: $toolbar = $this->getChild('product_list')->getToolbarBlock(); $toolbar->setCollection($this->getChild('product_list')->getLoadedProductCollection()); echo $toolbar->toHtml(); 如果还有另一种将面包屑分组的方法,则类别名称和工具栏会让我知道。


9
如何以编程方式将产品设置为缺货/缺货
我尝试了一些在网上找到的片段,但没有成功。 只是尝试通过代码将产品设置为有货/无货,这是我所知道的: $product = Mage::getModel('catalog/product')->load( 'id' ); $stockItem = $product->getStockItem(); $stockItem->setData('manage_stock', 1); $stockItem->setData('is_in_stock', 0); $stockItem->setData('use_config_notify_stock_qty', 0); $stockItem->setData('qty', 0); $stockItem->save(); $product->save(); 通过管理面板查看产品信息时,它没有任何改变,有什么想法吗?

1
对于cms / block实体,为什么从cms_page_store中显式删除从属数据?
cms/block实体具有联接表cms_block_store,即将给定块链接到一个或多个商店的记录。在CE 1.6之前,资源模型Mage_Cms_Model_Mysql4_Block(链接)在删除实体之前不会单独删除这些记录,而是有效地依靠级联来删除它们。从1.6.0.0版本开始,在从以下位置删除实体之前,重定位的资源模型显式删除了Mage_Cms_Model_Resource_Block::_beforeDelete(链接) 中的这些记录:cms_block protected function _beforeDelete(Mage_Core_Model_Abstract $object) { $condition = array( 'block_id = ?' => (int) $object->getId(), ); $this->_getWriteAdapter()->delete($this->getTable('cms/block_store'), $condition); return parent::_beforeDelete($object); } 是否有明显的理由在两个单独的查询中执行此操作,而不是像以前那样依赖级联?
8 database  cms  model  mysql 

3
添加到表的新列未保存
我在newsletter_subscriber表中添加了一个新列'artists_followed'。在我覆盖的Mage_Newsletter_Model_Subscriber模型类中,添加了以下功能: public function updateSubscriberArtists($email, $artist) { $this->loadByEmail($email); if ($this->getId()) { $this->setArtistsFollowed($artist); try { $this->save(); } catch (Exception $e) { throw new Exception($e->getMessage()); } } } 一切正常,没有错误,但是当我查看数据库时,不会填充新列。 我的桌子是: CREATE TABLE `mage_newsletter_subscriber` ( `subscriber_id` int(7) unsigned NOT NULL AUTO_INCREMENT, `store_id` smallint(5) unsigned DEFAULT '0', `change_status_at` datetime DEFAULT NULL, `customer_id` int(11) unsigned NOT …
8 model 

2
如何获得联邦快递的模块报价以匹配联邦快递的网站报价?
尝试获取联邦快递的运输模块以匹配联邦快递在我公司网站上使用其网站给我的报价时,我遇到了一些麻烦。我在Fedex网站上提取这些报价时使用的模块与我使用的帐户相同。在我的网站和Fedex上,我都使用“住宅交付”,“定期取件”,“您的包装”,在Magento端,我尝试了“包裹申请类型”这两个选项。我也没有真正看到一种模式(即总是以一定百分比增加或降低……这是非常不一致的),下面是我要提出的一些结果: 1x 45lbs包裹-Magento表示送货上门价格为16.39美元,Fedex则为18.45美元 1x 45lbs包装+ 1x 54lbs包装-Magento说$ 41.73,Fedex说$ 37.84列出价格 1个45磅包装+ 2个54磅包装-Magento表示63.50美元,Fedex表示57.23美元 关于我可能设置错误的任何想法,或者由于某种原因该模块只是不准确?我正在运行Magento社区1.7.0.2

3
Cron使MySQL崩溃
转移到新服务器后,我每天收到一次MySQL crash [1]问题,这是我收到的电子邮件,烦人的是,其潜在的影响是。关于如何调试此问题的任何提示? 显然崩溃发生了,$schedule->save()所以我尝试用try ... catch来包装它,但这没有帮助 SQLSTATE[HY000]: General error: 2006 MySQL server has gone away Trace: #0 /var/www/vhosts/site/store/lib/Zend/Db/Adapter/Pdo/Abstract.php(305): PDO->beginTransaction() #1 /var/www/vhosts/site/store/lib/Zend/Db/Adapter/Abstract.php(495): Zend_Db_Adapter_Pdo_Abstract->_beginTransaction() #2 /var/www/vhosts/site/store/lib/Varien/Db/Adapter/Pdo/Mysql.php(219): Zend_Db_Adapter_Abstract->beginTransaction() #3 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/Resource/Abstract.php(76): Varien_Db_Adapter_Pdo_Mysql->beginTransaction() #4 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/Abstract.php(313): Mage_Core_Model_Resource_Abstract->beginTransaction() #5 /var/www/vhosts/site/store/app/code/core/Mage/Cron/Model/Observer.php(125): Mage_Core_Model_Abstract->save() #6 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/App.php(1338): Mage_Cron_Model_Observer->dispatch(Object(Varien_Event_Observer)) #7 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Cron_Model_Observer), 'dispatch', Object(Varien_Event_Observer)) #8 /var/www/vhosts/site/store/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('default', Array) #9 /var/www/vhosts/site/store/cron.php(46): Mage::dispatchEvent('default') #10 …
8 database  error 

2
自定义基于非属性的分层导航。这是唯一的方法吗?
今天,我已经提出了一个不基于属性的分层导航选项。它用于评级,因此前端可以显示漂亮的闪亮星星。 为此,我有: 创建一个模块 重写catalog_block_layer_view <blocks> <catalog> <rewrite> <layer_view>Bob_Catalog_Block_Layer_View</layer_view> </rewrite> </catalog> </blocks> 创建了一个名为Bob_Catalog_Block_Layer_View的类,该类扩展了Mage_Catalog_Block_Layer_View 创建了_initBlocks(),getFilters()和_prepareLayout()来覆盖父类方法。这些都在某个时刻调用父类,然后在返回的数据之前添加或附加额外的数据。 创建一个过滤器块Bob_Catalog_Block_Layer_Filter_Rating,它使用构造函数扩展Mage_Catalog_Block_Layer_Filter_Abstract,该构造函数设置filterModelName并调用其父对象,然后设置一个自定义模板,因为Mage_Catalog_Block_Layer_Filter_Abstract似乎在其构造函数中硬编码了模板名称。 创建一个模型Bob_Catalog_Model_Layer_Filter_Rating,该模型扩展了Mage_Catalog_Model_Layer_Filter_Abstract并实现了apply(),getName(),_ getItemsData()。 这一切都很好。分层导航中显示出漂亮的闪亮星星。 我有种直觉,我想念一些东西,因为当涉及到图层状态模板时,我必须在其中放置一个条件来拾取自定义评分过滤器并更改布局。另外,我需要做的一些事情(克隆产品集合,以便装入事件不会增加分页中的集合数量)使我感到自己一直在爬山。 因此,问题是,关于如何构建自定义的非属性支持的分层导航过滤器,您有任何更好的建议(或者是博客文章wink)吗? 谢谢阅读, 硅

5
是否添加要导出的列但隐藏在网格中?
我创建了一个自定义报告。该报告中包含大量字段,这些字段以CSV格式导出时必填。 我要弄清楚的是,是否有一种方法可以忽略前端网格中某些字段的呈现。它们中的大多数对于admin中的筛选过程并不是很重要,仅在下载报告以在Magento之外进行进一步解析时才使用。 我希望这种类型的功能驻留在网格类中,因为这是生成实际网格以及后来导出的CSV的原因,但是我看不到任何看起来像能见度的东西。 在我为自定义报告覆盖此类中的方法之前,是否有一种鲜为人知的方法来实现此目标,该方法比通过addColumn属性数组添加某种“ showInGrid”属性更容易? TL,DR是否有一种简单的方法来导出字段(例如CSV或XML),但从管理网格中省略了字段?

1
定制的客户网格导致MySQL表扫描和文件排序又降低了性能
编辑:我最初在Stackoverflow上发布了这个问题,但从未得到完整的回答,我在此发布,希望能够进一步阐明为什么大规模表扫描以及任何(希望)最小的核心更改可以防止此类问题的方法。 Magento企业。1.10.1.1。客户和地址的数据集是半大型(125k +)CSR,通常位于此网格上(有时一次有25+个并发用户)。 这是在客户Grid.php Block文件中生成集合的代码片段。没什么特别的,特别是主要向集合添加属性。 $collection = Mage::getResourceModel('customer/customer_collection') ->addNameToSelect() ->addAttributeToSelect('email') ->addAttributeToSelect('group_id') ->addAttributeToSelect('prod_codes') ->addAttributeToSelect('last_called_date') ->addAttributeToSelect('time_zone') ->addAttributeToSelect('salesrep') ->addAttributeToSelect('do_not_call') ->addAttributeToSelect('club_member') ->addAttributeToSelect('call_back_date') ->addAttributeToSelect('marketing_code_outcome') ->joinAttribute('billing_postcode', 'customer_address/postcode', 'default_billing', null, 'left') ->joinAttribute('billing_city', 'customer_address/city', 'default_billing', null, 'left') ->joinAttribute('billing_telephone', 'customer_address/telephone', 'default_billing', null, 'left') ->joinAttribute('billing_region', 'customer_address/region', 'default_billing', null, 'left'); $this->setCollection($collection); 生成此查询,此查询行为异常,导致在客户网格中的加载时间非常长: SELECT e . *, _table_prefix.value AS prefix, _table_firstname.value AS …

2
如何创建带有填充源的表单ui组件选择框
我正在尝试找出如何在magento组件ui表单中创建一个选择框,并将其指向可以在其中填充选择列表的位置。 我以为这样的事情会起作用,但它不会 <field name="formats"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="dataType" xsi:type="string">text</item> <item name="disabled" xsi:type="boolean">false</item> <item name="label" xsi:type="string" translate="true">formats</item> <item name="formElement" xsi:type="string">select</item> <item name="enabled" xsi:type="boolean">false</item> <item name="source" xsi:type="string">Magento\Catalog\Model\Product\AttributeSet\Options</item> <item name="dataScope" xsi:type="string">formats</item> </item> </argument> </field> 谢谢
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.