Magento

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

2
将动态自定义选项复制到报价项目,订单项目
我有一个观察者,它将动态自定义选项添加到产品详细信息页面(在catalog_controller_product_view事件中调用)。这允许客户从其现有许可证代码的下拉列表中进行选择。 public function addLicenseOptions(Varien_Event_Observer $observer) { $product = $observer->getEvent()->getProduct(); if ($product->isSubscriptionProduct()) { $optionModel = Mage::getModel('catalog/product_option') ->setTitle('License Code') ->setProductId($product->getId()) ->setStoreId($product->getStoreId()) ->setId('license_code') ->setType('drop_down') ->setPrice(null) ->setPriceType(null) ->setIsRequire(true); $customer = Mage::getSingleton('customer/session')->getCustomer(); if ($customer->getId()) { $linksPurchased = Mage::getResourceModel('downloadable/link_purchased_collection') ->addFieldToFilter('customer_id', $customer->getId()); if ($linksPurchased->count() > 0) { foreach ($linksPurchased as $linkPurchased) { $valueModel = Mage::getModel('catalog/product_option_value') ->setTitle($linkPurchased->getData('key_code')) ->setProduct($product) …

1
贷项通知单-默认退回0产品
贷项通知单的典型用例是价格调整(调整运输,礼节性折扣等)。我很少用它来获得总回报。 奇怪的是,Magento的默认行为是CreditMemo退还所有产品并退还所有运费。即使有退货,也很少退款。 如果CreditMemo默认为$ 0(不退还任何产品,不退还任何运费),这样会更好(更安全),因此管理员可以明确知道要退款的内容(默认情况下为零)。否则,例如创建贷项凭证以退还运费但退还整个订单太容易了! 是否有任何配置或自定义支持将CreditMemo缺省设置为$ 0?
13 creditmemo 

2
无效的电子邮件地址“ admin@eternal.florist”
嗨,我买了这个新的高档域名,现在遇到麻烦了。我试图将其设置为在Magento管理员中存储电子邮件地址。并得到了上面的错误。我该怎么办? (我也试图在数据库中更改它。但是我找不到包含它的表)
13 email 

3
删除system.log文件?
我想知道:是否可以手动删除后端var / log目录中的system.log文件? 如果这样做,会对我的网上商店产生负面影响吗? 该文件正在使用相当多的磁盘空间。
13 log 

5
法师注册表项“ _singleton / weee / observer”已存在
当我尝试添加或编辑产品时,出现以下错误: Mage registry key "_singleton/weee/observer" already exists Trace: #0 app/Mage.php(222): Mage::throwException('Mage registry k...') #1 app/Mage.php(476): Mage::register('_singleton/weee...', false) #2 app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('weee/observer') #3 app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('adminhtml_catal...', Array) #4 app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php(143): Mage::dispatchEvent('adminhtml_catal...', Array) #5 app/code/core/Mage/Adminhtml/Block/Widget/Form.php(144): Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Attributes->_prepareForm() #6 app/code/core/Mage/Core/Block/Abstract.php(862): Mage_Adminhtml_Block_Widget_Form->_beforeToHtml() #7 app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tabs.php(79): Mage_Core_Block_Abstract->toHtml() #8 app/code/core/Mage/Core/Block/Abstract.php(238): Mage_Adminhtml_Block_Catalog_Product_Edit_Tabs->_prepareLayout() #9 app/code/core/Mage/Core/Model/Layout.php(456): Mage_Core_Block_Abstract->setLayout(Object(Mage_Core_Model_Layout)) #10 app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('adminhtml/catal...', 'product_tabs') #11 app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('adminhtml/catal...', …


3
如何在管理面板<field>中插入<iframe>?
我正在创建一个自定义模块,该模块在Magento的前端显示Google Maps。要获取这些地图,管理员必须在管理面板中输入并保存地图位置的URL。这一切都很好。该URL已保存在数据库中,并且地图显示在商店的前端。 但是现在我也想在管理面板中显示此地图的预览。这将使管理员可以轻松检查是否输入并保存了正确的URL。 我想以Preview Map新的方式&lt;field&gt;(在应输入URL的字段下方)显示此内容,并使用“地图预览” &lt;label&gt;。下面的模型显示了我要实现的目标。 我的模块system.xml文件中添加了以下代码: &lt;fields&gt; .... &lt;preview translate="label comment"&gt; &lt;label&gt;Map Preview&lt;/label&gt; &lt;frontend_type&gt;link&lt;/frontend_type&gt; &lt;frontend_model&gt;mymodule/system_config_map&lt;/frontend_model&gt; &lt;comment&gt;Preview of your map&lt;/comment&gt; &lt;sort_order&gt;20&lt;/sort_order&gt; &lt;show_in_default&gt;1&lt;/show_in_default&gt; &lt;show_in_website&gt;1&lt;/show_in_website&gt; &lt;show_in_store&gt;1&lt;/show_in_store&gt; &lt;/preview&gt; &lt;/fields&gt; 并且我MyNamespace/MyModule/Block/System/Config/Map.php包含以下代码: class MyNamespace_MyModule_Block_System_Config_Map extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface { public function render(Varien_Data_Form_Element_Abstract $element) { $url = Mage::helper('mymodule')-&gt;getMapUrl($store = null); return '&lt;iframe style="border: 0;" src="'.$url.'" frameborder="0" …

1
如何在config.xml中设置每个网站的默认值?
对于自定义模块,我更喜欢将系统配置设置放入config.xml(默认设置部分)。当我将代码从本地计算机推送到开发/登台/实时环境时,这将变得更加容易,因为我无需进入管理和重新输入设置。还有其他好处-在文本编辑器中执行操作会更快,并且如果config.xml中有相应的默认设置,您总是可以使用明智的默认设置。 我想对一家具有多个网站的Magento商店执行此操作,该商店针对不同的网站(和商店视图)具有不同的运费。目前,我的商店称为“ euro”,“ usd”和“ gbp”。“ euro”视图采用管理员默认值,在网站级别没有替代,而“ gbp”和“ usd”视图则具有网站级别的替代。 ... &lt;default&gt; &lt;carriers&gt; &lt;my_courier&gt; &lt;stuff_goes_here_such_as_price/&gt; &lt;price&gt;15.00&lt;/price&gt; ... &lt;/my_courier&gt; &lt;/carriers&gt; &lt;/default&gt;

3
了解Magento注册表
我一直想知道,所有注册表数据都存储在Magento中吗? 我知道,即使单例对象也存储在注册表中。注册表只是Mage类的静态数组变量。 我有几个问题可以消除我的困惑: 注册表对于不同的用户是否有所不同?我的意思是它是基于每个用户(每个HTTP请求)创建的吗? 例如, Mage::register('foo', 'Hello World'); //set a value for foo Mage::registry('foo'); //will this return hello world for all HTTP users ? 注册表数据是否存储在会话中?如果不是,Magento将如何识别哪个用户调用了注册表数据? 我已经阅读了Alan Storm的博客文章,以及他在StackOverFlow上对此的回答。但是我无法消除混乱。如果我认为我的基础知识搞砸了,请纠正我。谢谢

1
如何在带有联接查询的magento集合中使用分组依据
在模块的管理网格中,我正在使用此代码来获取集合并将其按客户ID分组 $collection = Mage::getModel('referafriend/statistics')-&gt;getCollection(); $collection-&gt;getSelect()-&gt;group('entity_id'); $this-&gt;setCollection($collection); 但是在这里,我必须针对每个客户使用渲染器和过滤器功能来处理客户信息,例如姓名和电子邮件entity_id。我想将客户模型与模块表一起加入。为此,我写了这段代码 $collection = Mage::getModel('customer/customer')-&gt;getCollection() -&gt;addNameToSelect(); $collection-&gt;getSelect()-&gt;join(array('refer' =&gt; 'table_name'),'refer.entity_id = e.entity_id' ); $collection-&gt;getSelect()-&gt;group('entity_id'); $collection-&gt;addAttributeToSelect('*'); 但这给了我这个错误 SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'entity_id' in group statement is ambiguous 任何帮助将不胜感激。

4
如何处理巨大的sales_flat_quote表-删除废弃的购物车垃圾
情况 在我们的magento数据库中,我们有三个表太大了。 sales_flat_quote_shipping_rate:3045MB sales_flat_quote_address:1688MB sales_flat_quote:1897MB 超过6GB的数据。 我找到了有关如何截断这些表的文章。本文只讲第三张桌子。 我不确定会被截断,因此我希望删除所有早于60天的数据。这篇文章谈到了1700万条记录-我们有20条!如果我是正确的话,删除这些记录将不会锁定该表,并且我目前正在测试安装中对其进行测试。这似乎可行,并且与网站没有太多冲突。 问题 我想知道是否也可以对其他两个表使用相同的查询? 我想知道这些表是干什么用的。
13 mysql  log  maintenance 

2
Magento 2产品列表排序[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Magento Stack Exchange 的主题。 3年前关闭。 我看到在Magento 2中,对产品列表页面进行排序或每页可见的产品数量发生更改时,页面的行为方式有所变化。 在Magento 1中,向网址添加了用于排序的参数: http://demo.magentocommerce.com/men/shirts.html?dir = asc&order = price http://demo.magentocommerce.com/men/shirts.html吗?dir = asc&limit = 24&order = price 但是在magento 2中,排序和页数限制是通过POST请求更改的。 当我是一名“ Web开发”学生时,我了解到所有过滤和排序都应通过GET进行,以提供更好的用户体验。 这样,用户可以将已排序的“事物”列表添加为书签,或与经过过滤和排序的列表共享链接。 任何合理的理由为何Magento 2中不再使用它?出于某种原因,值得牺牲一点客户体验吗?
13 sorting  magento2 

1
我如何解决错误指定了无效的后端模型
当我尝试运行magento时,我在日志文件中看到下一个错误: a:5:{i:0; s:74:“指定了无效的后端模型:eav / entity_attribute_backend_time_updated”; i:1; s:6088:“#0 \ app \ code \ core \ Mage \ Eav \ Model \ Entity \ Attribute \ Abstract.php(346):Mage :: exception('Mage_Eav','无效的后端...') 你能帮我解决这个问题吗?因为我找不到解决方案((请提供任何解决方案,谢谢 后端工作良好,而不是仅前端

2
如何检查产品是否打折
我如何知道该产品当前是否有折扣? 我用了这段代码。 if($product-&gt;getFinalPrice() &lt; $product-&gt;getPrice()){ //had a discount } 但这是行不通的。
13 price 


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.