2017-08-04 62 views
0

我有一個extbase模型的擴展,我想擴展它。適用於所有領域,除了「內聯」字段。當我映射內聯字段時,我沒有收到所有的子元素,但只有一個子元素的計數器爲uid。Extbase mapOnProperty with inline field

示例:內聯字段「description」有三個子項(uid = 17,uid = 18,uid = 19),所以字段tx_firstextension_domain_model_job.description包含數字3.在前端,我有一個ObjectStorage,說明模型(UID = 3)

這裏是我的Typo腳本:

config.tx_extbase { 
    objects.Foo\FirstExtension\Domain\Model\Job.className = Bar\SecondExtension\Domain\Model\Job 
    persistence.classes.Bar\SecondExtension\Domain\Model\Job.mapping { 
    table = tx_firstextension_domain_model_job 
    columns { 
     description.mapOnProperty = description 
     anyotherfield.mapOnProperty = anyotherfield 
     onemorefield.mapOnProperty = onemorefield 
    } 
    } 
} 

SOLUTION

我的問題是一個錯誤的配置選項。正確的是表名,但我用。這裏是更正 - 最後更簡單 - 片段:

config.tx_extbase { 
    objects.Foo\FirstExtension\Domain\Model\Job.className = Bar\SecondExtension\Domain\Model\Job 
    persistence.classes.Bar\SecondExtension\Domain\Model\Job.mapping { 
    tableName = tx_firstextension_domain_model_job 
    } 
} 

回答

0

在您的作業模型配置中似乎存在配置錯誤。請檢查以下內容:

  1. 是模型(Job.php)配置爲ObjectStorage屬性描述(包括getter和setter函數+正確標註),並沒有財產在__construct函數實例化爲ObjectStorage裏面?

  2. 是在TCA配置文件配置/ TCA正確配置類型「內聯」現場/ tx_secondextension_domain_model_job.php

也許你不得不延長第一延長的TCA,以使在線在擴展其他擴展時工作。那麼你可能需要添加字段描述到Configuration/TCA/Overrides/tx_firstextension_domain_model_job.php,但我不確定這是否真的有必要...

+0

我看不到模型或TCA中的配置錯誤。我擴展了上面的描述。 –

+0

我想你的TCA配置缺少config'foreign_field'=>'fieldxy',它應該包含含有父作業的uid的描述記錄的數據庫字段的字段名。 –

+0

感謝您的幫助。我發現了這個問題。 –