【问题标题】:error because of missing object in signalslot (tx_news)由于信号槽(tx_news)中缺少对象而导致的错误
【发布时间】:2020-02-10 20:05:04
【问题描述】:

我为 tx_news 编写了一个信号槽扩展,它扩展了 detailAction。当调用新闻详细视图时,调度程序按预期工作。但是,当在没有现有新闻条目的有效参数的情况下调用详细信息页面时,我收到以下错误:

Oops, an error occurred!
Argument 1 passed to .....\Slots\NewsControllerSlot::detailActionSlot() must be an instance of GeorgRinger\News\Domain\Model\News, null given

错误很容易理解:

public function detailActionSlot(News $newsItem, $currentPage, $demand, $settings, $extendedVariables)

缺少第一个参数 $newsItem。

但是我怎样才能避免错误呢? 谢谢!

【问题讨论】:

    标签: typo3 typo3-9.x tx-news


    【解决方案1】:

    在github上创建一个pr或者至少一个issue,这是一个bug

    【讨论】:

    • 谢谢 Georg,我在 github 上提出了一个问题。但这似乎只是我的一个错误......
    【解决方案2】:

    大卫布鲁赫曼给了我一个提示:

    public function detailActionSlot(News $newsItem = null, $currentPage, $demand, $settings, $extendedVariables)
    {
        if (is_object($newsItem)) { 
            // do stuff here
       }
    }
    

    即使抛出 404 也能完美运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-25
      • 1970-01-01
      • 2018-03-04
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 2020-12-06
      相关资源
      最近更新 更多