小编Jon*_*Day的帖子

访问Magento购物车和/或结账时的运费

请注意,这个问题是关于运费,而不是价格.有一个重要的区别,即商店所有者对运输方法的收费是多少,而不是客户支付的$$费用.

shipping_tablerate数据库表包括cost字段,其在填充Mage_Shipping_Model_Carrier_Tablerate对象的过程中collectRates的方法.但是,该字段在堆栈中的任何其他位置都不可访问,例如从引号的地址.

我需要在购物车页面上访问该值,除了实例化Mage_Shipping_Model_Rate_Request要传递的对象之外,我无论如何都找不到它collectRates().鉴于数据已从表中加载并且应该可访问,这似乎是不必要的低效率.

我已经尝试过观察<shipping_carrier_tablerate_load/>事件,但似乎_load没有为该模型抛出事件.

我也试过从报价中获取汇率:

$quote = Mage::getSingleton('checkout/cart')->getQuote();
$address = $quote->getShippingAddress();
$rate = $address->getShippingRateByCode($code ='tablerate_bestway');
Run Code Online (Sandbox Code Playgroud)

我可以看到计算结果price,但是cost在该模型中不存在.

在这个阶段,我的想法已经不多了.任何建议都感激不尽!

谢谢,乔纳森

php shipping magento cart

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

注销后防止后退操作

注销后,如果我按浏览器中的“后退”按钮,它不应显示上一页,而必须转到默认页面(仅登录页面)。

因此,我尝试了多种方式(ruby on rails应用程序),例如“ history.forward()”,“ onbeforeunload”,使元标记中的缓存过期,“ http://www.brookebryan.com/后退按钮检测”如此之多。 。 我很迷茫。

有人可以提出解决方案吗?

ruby-on-rails back-button

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

用于PHP中许多客户端的一个或多个数据库

我正在ZF中编写一个PHP应用程序.客户将使用它将产品销售给最终客户.客户将在我的服务器上托管他们的应用程序,或者他们可以自己使用 他们中的大多数将在我的服务器上托管此应用程序

我可以同时为所有客户设计一个数据库,因此每个客户都将使用相同的数据库,但当然产品等将分配给特定客户.不重要的.

我可以为每个客户使用单独的数据库,因此数据库结构将更简单.然后我可能会使用单独的子域,甚至可能使用文件位置,但这只是一个细节.

哪种解决方案具有更好的性能,差异有多大?你会选哪一个?

php performance database-design zend-framework

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

Magento登录并注册一页

我正在尝试将登录表单和Magento中的帐户表单合并为一个页面.原因是我认为页面越少越好.我发现Magento令人困惑,对其布局和模板系统的理解有限.我决定最简单的方法是将登录表单添加到注册帐户页面.我在login.phtml中找到了登录表单并注册了表单,在template/customer/form /中找到了register.phtml.

我只是将login.phtml中的PHTML代码复制到同一目录下的register.phtml文件中.这就是我最终得到的结果:

http://pastebin.com/fpkeBsxc

在我填写帐户的电子邮件和密码并单击登录后,页面将返回验证错误,并参考下面的注册帐户表单.基本上,我不确定这是因为我的方法是完全愚蠢/错误的,我不能像这样复制和粘贴代码,或者这是一个我看不到的简单html问题?我认为可能是错误的方式,因为注册表格有效.我会在评论中发布这个截图,它不会让我粘贴多个链接.谢谢你的建议.

php layout magento

5
推荐指数
3
解决办法
2万
查看次数

当数据库结构在不同版本之间发生变化时,如何升级Magento?

我见过的所有升级方法(不确定magento connect方法)都不会只触及数据库中的文件和目录).我在我的第一个Magento构建中,但我发现他们已经使用过去的更新更改了目录结构.所以我的问题是我应该如何更新Magento以确保数据库升级?

php sql database upgrade magento

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

Magento,定制产品清单

我根据Mage_Catalog_Block_Product_List创建了自己的产品列表页面:

应用程序/代码/本地/法师/目录/座/产品/ Special.php:

class Mage_Catalog_Block_Product_Special extends Mage_Catalog_Block_Product_List
{      
    /* Original contents */

    /* Here I call addAttributeToFilter on product collection, and then... */
    return $this->_productCollection; 
}
Run Code Online (Sandbox Code Playgroud)

我将其包含在中心列的CMS页面中:

<reference name="content">
    <block type="catalog/product_special" template="catalog/product/list.phtml" />
</reference>
Run Code Online (Sandbox Code Playgroud)

问题是:产品列表显示正常,但我的左栏没有分层导航.

这很奇怪,因为我使用与普通列表完全相同的模板.

我检查了几件事:

  • Mage_Catalog_Block_Product_Special只是一个代理类.这不起作用.即使我在CMS页面上使用块类型"catalog/product_list",我也不会获得分层导航.
  • 没有任何扩展可以覆盖关键的核心类.
  • 我也尝试创建自己的模块并将其列在例如'mycatalog'下.这导致完全相同的问题.

我有一种感觉,这与尝试在CMS页面上包含产品列表有关,但我无法找到确切的问题.

任何有关这方面的帮助将非常感谢.

php magento faceted-search layered-navigation

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

如何使用local.xml在Magento 1.5中设置默认布局?

所以我已经完成了一些我想要使用的布局,并且我认为在local.xml文件中设置它会为每个页面修复此问题.像这样

<default>
<reference name="root">
    <action method="setTemplate">
      <template>page/mytheme.phtml</template>
    </action>
</reference>
</default>
Run Code Online (Sandbox Code Playgroud)

然而,这没有做任何事情.相反,如果我去

...<customer_account_forgotpassword>
  <reference name="root">
    <action method="setTemplate"><template>page/mytheme.phtml</template></action>
  </reference>
</customer_account_forgotpassword>  

<customer_account_confirmation>
  <reference name="root">
    <action method="setTemplate"><template>page/mytheme.phtml</template></action>
  </reference>
</customer_account_confirmation>...
Run Code Online (Sandbox Code Playgroud)

对于每个特定的地方,它都会在这些特定的页面上被更改.我在想错还是这是唯一的方法呢?

xml layout default magento

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

在Magento安装脚本中创建属性集

创建属性并将它们分配给现有属性集是一个已解决的问题,但我们遇到了一个问题,即尝试创建属性集并使用默认属性填充它,并且特定属性失败.这是使用中的代码:

$setup->addAttributeSet('catalog_product', 'women_sizing_denim');

$oAttributeSetModel = Mage::getModel("eav/entity_attribute_set")
        ->load($setup->getAttributeSetId('catalog_product', 'women_sizing_denim'))
        ->initFromSkeleton($setup->getAttributeSetId('catalog_product', 'default'))
        ->save();
Run Code Online (Sandbox Code Playgroud)

我可以通过调试验证该initfromSkeleton方法是否按照公布的方式从默认的attribute_set加载属性,但是在之后save(),新的集合为空.

可以在集合中添加新属性,因此它确实存在并且正确创建,但缺少的默认属性使其无法使用,因为SKU,价格,名称等都是必需的.

php attributes magento entity-attribute-value

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

无法在EcomDev PHPUnit测试中获取会话单例

经过一些严肃的调试后,我发现在使用EcomDev_PHPUnit模块运行测试时,我无法调用Magento中的会话对象

任何单/模型调用即Mage::getSingleton('admin/session')Mage::getModel('customer/session')最终从抛出一个异常EcomDev_PHPUnit_Controller_Request_Http::getHttpHost()Cannot run controller test, because the host is not set for base url. ,因为这是造成$_SERVER['HTTP_HOST']指标未设置

是否有配置中的某些内容可能导致此问题?

testing phpunit unit-testing magento

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

未发射/或观察者未在magento中工作的事件

我有一个模块,可以收听一些事件.它在我测试过的至少十几个安装中工作正常.

在特定安装上,我在Magento版本1.4.1.1上安装了它的客户端,它不起作用.当我测试他的系统时,我手动触发事件,例如Mage :: dispatchEvent('..'),观察者会听到它们.

我该怎么看?我不知道这可能是什么原因.

debugging events magento observer-pattern

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