typo3 - TYPO3 Extbase:扩展 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 Extcode\Cart\Domain\Model\Order;
use Extcode\Cart\Property\Exception\ResetPropertyException;
class Item extends \Extcode\Cart\Domain\Model\Order
{
/**
* Iban
*
* @var string
*/
protected $iban;
/**
* @return string
*/
public function getIban()
{
return $this->iban;
}
/**
* @param string $iban
*/
public function setIban($iban)
{
$this->iban = $iban;
}
}
我还添加了一个正确实现的输入字段。
但是 IBAN 根本没有保存 - 我猜类的扩展是错误的。我真的很感激任何提示。非常感谢!乌尔斯
解决方案
也许你必须像这样扩展 item.php (其余的看起来不错):
namespace Extcode\YourExtension\Domain\Model\Order;
class Item extends \Extcode\Cart\Domain\Model\Order\Item
并且不要忘记让 extbase 知道你可以在前端槽打字稿中使用 iban:(我有它来扩展 cart_products,你必须熟练使用它)
config.tx_extbase {
persistence {
classes {
Extcode\CartExtendedProduct\Domain\Model\Product\Product {
mapping {
tableName = tx_cartproducts_domain_model_product_product
recordType =
}
}
}
}
objects {
Extcode\CartProducts\Domain\Model\Product\Product.className = Extcode\CartExtendedProduct\Domain\Model\Product\Product
}
}
推荐阅读
- git - 在大型存储库中创建 git 分支非常慢
- scala - 调用超过 1,000 列的 stddev 时,SparkSQL 作业失败
- c# - WPF 未应用数据模板
- machine-learning - 在 CNN 中计算层的输出量
- javascript - 停止
- python - uWSGI master 如何与进程/worker 通信?
- java - 无法使用 html 和连接池从数据库中获取数据
- php - Laravel 发送邮件
- angular - SPA Angular index.html 未更新缓存(我使用缓存破坏)
- python - 如何将一种模型应用于python中不同的兴趣类别?