标签: magento

产品属性和属性选项如何存储在Magento数据库中?

我试图弄清楚如何在Magento中创建属性和属性选项以及产品和属性之间的链接.有没有提到这是如何工作的?或者任何人都给我一个暗示.

谢谢,

巴兰

magento

31
推荐指数
4
解决办法
8万
查看次数

Magento - 如何在我的帐户导航中添加/删除链接?

我正在尝试删除帐户导航中的链接.我查看了customer/account/navigation.phtml模板.该模板通过$ this-> getLinks()获取链接.如何编辑getLinks()方法以便删除一些链接?

magento

30
推荐指数
6
解决办法
12万
查看次数

如何获取属性集名称?

我想在Magento产品视图模板中获取属性集名称.我可以获取属性值$_product->getAttributeText('attribute'),但是如何获取属性集名称?

我想仅在属于某个属性集时才显示属性.

attributes magento

30
推荐指数
3
解决办法
6万
查看次数

我应该使用EAV模型吗?

我正在为电子商务应用程序设计我的数据库/域,而我很难弄清楚如何存储产品.

该网站将出售各种产品,钢笔,丁字裤,纹身,雨伞,应有尽有.这些产品中的每一个都会分享一些常见的属性,高度,宽度,长度,重量等,但有些产品有特殊数据.例如,笔具有不同的墨水颜色,并且提示/盖子和小册子可以具有不同类型的折叠.到目前为止,我已经考虑了20多个额外属性,但这些属性可能仅适用于网站上1%的产品.

所以我想知道是否适合实施EAV模型来处理额外的数据.请记住,当客户在前端查看网站时,会有一个过滤侧边栏,如eBay和carsales.com.au.(所以记住会有一些相当多的查询)

我认为实现类表继承是不切实际的,因为系统需要保持灵活性.这是因为,在未来的轨道上,我们可能会在未来使用新类型的产品时拥有更多属性.

我考虑的另一件事是使用NoSQL数据库(可能是MongoDB)但是我对这些类型的数据库没什么经验,它甚至可以解决我的问题吗?

审查选项:

  1. 单个产品实体,包含大量列
  2. 单独的属性实体(EAV)
  3. 切换到无模式持久性

我正在构建一个带有属性实体的原型,以查看它的灵活性,测试性能以及查询失控的方式.

编辑:我当然对任何其他解决方案持开放态度.

php database-design magento entity-attribute-value doctrine-orm

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

什么是magento报价?

我无法理解什么是引用.有人可以详细解答什么是magento报价,他们存储什么数据,他们的生命周期和其他相关信息?

编辑:请注意区别:Magento vs Magneto.还有"magento"和"mvc"标签.

model-view-controller magento

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

我的Magento扩展安装脚本无法运行

我正在尝试为我的扩展创建一个安装脚本,由于某种原因它不会安装脚本.扩展将显示在core_resource表中,但我尝试创建的属性将不会创建.

我很确定脚本甚至没有被调用,因为我在开头放了一个exit()并且网站运行得很好.

这是我在配置XML文件中的内容.这位于global - > resources路径中:

<nie_setup>
    <setup>
        <module>Nie_Nie</module>
    </setup>
    <connection>
        <use>core_setup</use>
    </connection>
</nie_setup>
Run Code Online (Sandbox Code Playgroud)

我的安装脚本如下:

$installer = $this;
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$installer->startSetup();

$setup->addAttribute('customer', 'nie_admin', array(
    'input'                 => 'text',
    'type'                  => 'text',
    'backend'               => '',
    'visible'               => 0,
    'required'          => 0,
    'user_defined'  => 1,
));

$installer->endSetup();
Run Code Online (Sandbox Code Playgroud)

有没有明显的东西我在这里失踪,这将是脚本无法运行的原因?

php installation attributes install magento

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

如何从URL中删除index.php?

我的Magento安装中的所有URL都需要index.php,例如:

http://example.com/index.php/admin/
http://example.com/index.php/customer/account/login/
Run Code Online (Sandbox Code Playgroud)

问题是系统默认链接到URL

http://example.com/admin/
http://example.com/customer/account/login/
Run Code Online (Sandbox Code Playgroud)

无论如何,哪个看起来更漂亮.我认为这是.htaccess中的重写问题,但由于过去修补过程给了我500分,我想先问问你们.

更改SEO设置,刷新配置缓存以及重新索引URL无法按此处的建议工作.

.htaccess url-rewriting magento e-commerce

30
推荐指数
4
解决办法
12万
查看次数

所有Magento电子邮件模板在哪里?

Magento似乎有很多电子邮件模板可以根据用户活动发送各种不同的消息:注册,密码恢复,订单,发货等.

我在哪里可以找到所有的电子邮件模板,所以我可以自定义它们并且永远不会错过其中一个,以避免在用户看到一个措辞不佳的默认模板时看起来很糟糕?

它们都位于一个位置/目录中吗?

email templates magento

29
推荐指数
2
解决办法
7万
查看次数

Auth.net捕获问题

我在auth.net上捕获事务的功能是

public function capture(Varien_Object $payment, $amount){

    if(!$this->isEnabled()){
        return parent::capture($payment, $amount);
    }else{

        $captureCase = $_POST['invoice']['capture_case'];
        if(isset($captureCase) && $captureCase == "online"){
            if($capOrderid = $payment->getOrder()->getIncrementId()){

                $capOrder = $payment->getOrder();
                $capPayment = $payment;
                $capAmount = $amount;

                $capTransID = $capPayment->getLastTransId();

                $ccProfile = $this->getProfileForOrder($capOrderid);
                if(isset($ccProfile['used_this_profile']) && $ccProfile['used_this_profile'] == 1){


                    $pID = $ccProfile['cust_profile_id'];
                    $ppID = $ccProfile['cust_paymentprofile_id'];
                    $nick = $ccProfile['nickname'];

                    $lastOrderId = $capOrder->getIncrementId();


                    $cvv = $payment->getCcCid();
                    $directResponseFields = $this->createTransaction($pID,$ppID,$capAmount,$lastOrderId,"profileTransPriorAuthCapture",$cvv,$capTransID);
                    $responseCode = $directResponseFields[0]; // 1 = Approved 2 = Declined 3 = Error
                    $responseReasonCode = $directResponseFields[2]; // See http://www.authorize.net/support/AIM_guide.pdf
                    $responseReasonText …
Run Code Online (Sandbox Code Playgroud)

php authorize.net payment-gateway magento

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

订单确认电子邮件购物车中的Magento 1.9错误货币符号 - 使用PayPal付款时 - formatPrice()

我有Magento 1.9.0.1以GBP(£)作为基准和默认显示货币,以及欧元(€)作为允许货币.

如果用户选择以欧元结账,则该网站全部有效,除非他们以自己的货币通过PayPal付款,然后订单确认电子邮件出错.在我下面的测试中,我以欧元(€)结账,但我的PayPal账户使用的是英镑(£).

购物车的商品价格和子总价以欧元显示,但带有£符号.小计,交付和总计均以欧元显示,并带有正确的€符号.

以下示例显示了具有近似价格的基本表示:

Items       Quantity    Item Price    Sub Total
---         ---         ---           ---
Product     1           £150.00       £150.00  <<-- These £'s should be €'s
-----------------------------------------------
Sub Total:                  €150.00 
Delivery:                   €0.00 
Total:                      €150.00 
Grand Total to be Charged:  £100.00
Run Code Online (Sandbox Code Playgroud)

我试图追踪它,但我不确定它出了什么问题,这是一个测试的噩梦.电子邮件致电:

(Mage_Checkout_Helper_Data) $this->helper('checkout')->formatPrice(...);
Run Code Online (Sandbox Code Playgroud)

那叫

(Mage_Core_Model_Store) $this->getQuote()->getStore()->formatPrice($price);
Run Code Online (Sandbox Code Playgroud)

最终找到了通往Zend货币方法的方法,但我不知道货币符号在哪里丢失.

只有在通过PayPal结账时才会出现此问题,而不是通过CC直接通过网站付款时.

谁能指出我正确的方向?谢谢

php currency magento

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