我想用一个新字段来扩展扩展购物车,以便在结账时放入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
}
}