콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
1 회신
693 화면
I have written following code to add chatter feature for each student record. There are 3 records in the student table but it showing only one chatter section and all three names it showing output like follows:
John Doe
<Here chatter section displayed only once>
Jane smith
<chatter section displayed excepted to display but not displayed >
Alice Bob
<chatter section displayed excepted to display not displayed>

<t t-foreach="students" t-as="student">

          <t t-if="student">

                  <div class="chat">

                          <t t-esc="student.student_name"/>

                          <t t-call="portal.message_thread">

                                 <t t-set="object" t-value="student"/>

                           </t>

                    </div>  

           </t>

       </t>

 </div>

Please tell me the solution so it show the chatter functionality for three times as the names are displayed and also why it is showing the chatter section for one time only.

아바타
취소
베스트 답변

Hi

The problem is related to how the portal message thread works in Odoo. When you use t-call="portal.message_thread" multiple times in the same view, it only renders once because of how Odoo's chatter component is designed.

You need to ensure each chatter has a unique ID. The message thread component needs to be able to distinguish between different record threads.

Modify your code to include a unique identifier for each chatter section:

<t t-foreach="students" t-as="student">
    <t t-if="student">
        <div class="chat">
            <t t-esc="student.student_name"/>
            <div t-attf-id="discussion_thread_#{student.id}" class="mt-4">
                <t t-call="portal.message_thread">
                    <t t-set="object" t-value="student"/>
                </t>
            </div>
        </div>
    </t>
</t>
The key improvement in this version compared to your original code is the addition of the unique ID attribute (t-attf-id="discussion_thread_#{student.id}"). This creates a distinct container for each chatter with a unique identifier based on the student's ID, which helps Odoo properly initialize and render multiple chatter components on the same page.

Regards

Jishna

Accurates

아바타
취소
관련 게시물 답글 화면 활동
2
4월 25
701
0
7월 23
2378
0
6월 23
2045
0
11월 21
1163
0
11월 16
3976