如何在TYPO3中使用新字段扩展tx:cart



我想用一个新字段来扩展扩展购物车,以便在结账时放入IBAN。因此,我创建了一个新的扩展,并在ext_tables.sql中添加了一个数据库字段,其中包含以下代码

#
# Table structure for table 'tx_cart_domain_model_order_item'
#
CREATE TABLE tx_cart_domain_model_order_item (
iban varchar(255) DEFAULT '' NOT NULL
);

现在我需要在中扩展类Item

ext/cart/Classes/Domain/Model/Order/item.php

我试图在我的扩展中创建一个文件

ext/cartextend/Classes/Domain/Model/Order/item.php 

并试图用扩展类

namespace ExtcodeCartDomainModelOrder;
use ExtcodeCartPropertyExceptionResetPropertyException;
class Item extends ExtcodeCartDomainModelOrder
{
/**
* Iban
*
* @var string
*/
protected $iban;
/**
* @return string
*/
public function getIban()
{
return $this->iban;
}
/**
* @param string $iban
*/
public function setIban($iban)
{
$this->iban = $iban;
}
}

我还添加了一个正确实现的输入字段。

但是IBAN根本没有保存——我想扩展类是错误的。我真的很感激任何暗示。非常感谢!Urs

也许你必须像这样扩展item.php(其他看起来很好(:

namespace ExtcodeYourExtensionDomainModelOrder;
class Item extends ExtcodeCartDomainModelOrderItem

别忘了让extbase知道你可以在前端使用iban:(我有它来扩展cart_products,你必须熟练使用它(

config.tx_extbase {
persistence {
classes {
ExtcodeCartExtendedProductDomainModelProductProduct {
mapping {
tableName = tx_cartproducts_domain_model_product_product
recordType =
}
}
}
}
objects {
ExtcodeCartProductsDomainModelProductProduct.className   = ExtcodeCartExtendedProductDomainModelProductProduct
}
}

最新更新