test time

test time

Áp dụng flipbook cho toàn bộ bài viết

Expectation:
Tất cả các bài viết khi đưa flipbook code vô đều có thể load ngoài FE

Plan chi tiết đã hoàn thiện

Tôi đã tìm thấy API getFlipbook(id) trong CmsService (dòng 326-328):

getFlipbook(id: number | string) {
  return this._http.get<any>(`${environment.apiUrl}/flipbooks/${id}`);
}

📋 Plan Implementation

Mục tiêu

Khi body content chứa shortcode

, hệ thống sẽ:

  1. Detect và parse shortcode để lấy ID
  2. Call API getFlipbook(4) để lấy PDF URL
  3. Render FlipbookViewerComponent với PDF URL đó

Các bước thực hiện

Step 1: Cập nhật MenuPageDetailComponent

File: src/app/main/share-component/menu-page/shared/menu-page-detail/menu-page-detail.component.ts

Thay đổi:

  1. Import FlipbookViewerModuleFlipbookViewerComponent
  2. Thêm property để lưu flipbook data:
    flipbookData: { id: number; pdfUrl: string; elementId: string } | null = null;
  3. Tạo method detectAndLoadFlipbook(body: string):
    • Parse shortcode pattern \[(dt_flipbook-(\d+))\]
    • Nếu tìm thấy, extract ID và call cmsService.getFlipbook(id)
    • Store response vào flipbookData
  4. Sử dụng ViewContainerRef để dynamic load FlipbookViewerComponent sau khi có PDF URL
  5. Update method applyArticleData() để call detectAndLoadFlipbook()

Step 2: Cập nhật Template

File: src/app/main/share-component/menu-page/shared/menu-page-detail/menu-page-detail.component.html

Thay đổi:

  • Thêm placeholder div để render flipbook viewer:
<!-- Flipbook placeholder - will be dynamically populated -->
<div id="flipbook-container" class="article__flipbook" *ngIf="flipbookData"></div>
<!-- Body content (without flipbook shortcode) -->
<div #articleBody class="article__body entry" [innerHTML]="cachedBodyContent"></div>

Step 3: Import Module

File: src/app/main/share-component/menu-page/menu-page.module.ts (hoặc module tương ứng)

EST: 3 hours


test time

Tiến Đức Trần

2 người theo dõi
Xem thêm bài viết của tác giả này

Bài viết liên quan

Manna: Bánh ban Sự Sống cho thế giới (Thứ Ba Tuần 3 Phục Sinh - Ga 6, 30-35)Suy Tư Tin Mừng
Manna: Bánh ban Sự Sống cho thế giới (Thứ Ba Tuần 3 Phục Sinh - Ga 6, 30-35)

Tạ ơn Cha đã nuôi chúng ta bằng Tấm Bánh Giêsu, Bánh từ trời xuống.

1 tháng trước
Manna: Anh em hãy loan báo Tin Mừng (Lễ Thánh Maccô - Tác giả sách Tin Mừng - Mc 16,15-20)Nói Với Em
Manna: Anh em hãy loan báo Tin Mừng (Lễ Thánh Maccô - Tác giả sách Tin Mừng - Mc 16,15-20)

✠Tin Mừng Chúa Giê-su Ki-tô theo thánh Mác-cô.15 Khi ấy, Đức Giê-su hiện ra với Nhóm Mười Một và nói với các ông rằng : “Anh em hãy đi khắp tứ ph...

3 tuần trước
Mục Tử Trong Thế Giới Hôm Nay | Suy tư Tin Mừng CN IV Phục Sinh – Năm ASuy Tư Tin Mừng
Mục Tử Trong Thế Giới Hôm Nay | Suy tư Tin Mừng CN IV Phục Sinh – Năm A

Hôm nay, thánh Gioan mời chúng ta chiêm ngắm hình ảnh người mục tử ở đồi Galilea

1 tháng trước

Các bài viết được quan tâm