我正在尝试使用 extbase 创建一些东西,但是我收到的错误消息并不是很有帮助。我将 blog_example 扩展作为指南。一个(也许)重要的区别是:我没有数据库表,因为我想编写一个通过 REST 连接到外部服务的自定义域存储库。
实际的错误信息(显示在插件上方,不是异常信息):
尝试调用 Tx_MyExt_Controller_SubscriptionController->createAction() 时出错
Classes/Controller/SubscriptionController:
精简到重要部分。
class Tx_MyExt_Controller_SubscriptionController extends Tx_Extbase_MVC_Controller_ActionController
{
/**
* @var Tx_MyExt_Domain_Repository_SubscriberRepository
*/
protected $subscriberRepository;
/**
* @return void
*/
public function initializeAction()
{
$this->subscriberRepository = t3lib_div::makeInstance('Tx_MyExt_Domain_Repository_SubscriberRepository');
}
/**
* @param Tx_MyExt_Domain_Model_Subscriber $subscriber
* @dontvalidate $subscriber
* @return string The rendered view
*/
public function newAction(Tx_MyExt_Domain_Model_Subscriber $subscriber = null)
{
$this->view->assign('subscriber', $subscriber);
}
/**
* @param Tx_MyExt_Domain_Model_Subscriber $subscriber
* @return string The rendered view
*/
public function createAction(Tx_MyExt_Domain_Model_Subscriber $subscriber)
{ }
}
类/域/模型/订阅者
class Tx_MyExt_Domain_Model_Subscriber extends Tx_Extbase_DomainObject_AbstractEntity
{
/**
* @var string
* @dontvalidate
*/
protected $email = '';
/**
* @param string $email
* @return void
*/
public function setEmail($email)
{
$this->email = $email;
}
/**
* @return string
*/
public function getEmail()
{
return $this->email;
}
}
资源/私人/模板/订阅/新
<f:form action="create" controller="Subscription" objectName="Subscriber" object="{subscriber}" method="post">
<f:form.textfield property="email"></f:form.textfield>
<f:form.submit value="submit"></f:form.submit>
</f:form>
事实
- 添加
$subscriber = null
删除消息。但是那时$subscriber
_null
- A
var_dump($this->request->getArguments());
显示表单的字段 - 有一个索引动作,它也是定义的第一个动作
ext_localconf.php
我发现的提示和解决方案对我不起作用,所以我希望有人能引导我走向正确的方向。