2012-05-22 26 views
8

phép nói rằng tôi có một thành phần sử dụng một lược đồ tập, và thành phần này được sử dụng với hai mẫu thành phần đối lập, ví dụ:thành phần động liên kết sử dụng 2 mẫu

Thành phần: Sản phẩm A

Template One: sản phẩm Tiếp thị

template Hai: Hỗ trợ sản phẩm

Qua thành phần liên kết động, tôi muốn để có thể sử dụng uri tcm của thành phần để xác định một siêu liên kết đến nơi cư trú của nội dung (sử dụng một mẫu dreamweaver ie <a href="tcm:11-xxxx">Link text</a>)

Vấn đề là mặc dù các liên kết đang được tạo cho các phần sai của trang web mà tôi đang làm việc, tức là các liên kết đến hỗ trợ sản phẩm trong phần tiếp thị sản phẩm và ngược lại.

Tôi đã thử đặt mức độ ưu tiên liên kết của các mẫu ... cả hai được đặt thành cao .... nhưng Tridion dường như sử dụng mẫu cuối cùng được xuất bản để quyết định nơi liên kết sẽ đến.

Ngoài ra, nếu tôi đặt một trong các mẫu sang phương tiện và mẫu còn lại, chỉ cần liên kết tới nội dung bằng mẫu có mức độ ưu tiên cao nhất (nghĩa là tất cả các liên kết sẽ hỗ trợ sản phẩm, ngay cả trong phần tiếp thị sản phẩm)

Có ai biết cách giải quyết vấn đề này không? Cảm ơn!

Trả lời

8

Ngoài ý kiến ​​của Chris, bạn có thể sử dụng thuộc tính tridion: excludeetemplateuri để kiểm soát chính xác Mẫu thành phần nào bạn có thể liên kết tùy thuộc vào nhu cầu tiếp thị hoặc hỗ trợ của bạn.

trong DWT .. bạn có thể sử dụng một cái gì đó như thế này.

<a tridion:href="tcm:8-299" tridion:excludetemplateuri="tcm:8-420-32">linkText</a> 

Đây là link for reference

+0

Đó là những gì tôi đang tìm kiếm! Cảm ơn cho lời giải thích quá Chris, nó đã được hữu ích trong việc đánh giá những gì vấn đề là quá như tôi đã có các mẫu khác bằng cách sử dụng lược đồ sản phẩm cần ưu tiên của họ điều chỉnh –

+1

Hãy cẩn thận bằng cách sử dụng thuộc tính excludeetemplateuri. Trong 12 năm thực hiện Tridion, tôi chưa bao giờ cần nó. Nó chỉ nên được sử dụng cho các trường hợp quản lý ngoại lệ cực đoan trong quan điểm của tôi. URI mã hóa cứng trong các mẫu có thể giới thiệu tất cả các vấn đề di chuyển khi di chuyển và gỡ lỗi - Chỉ 2 xu của tôi –

+2

Chris, Chúng tôi đã sử dụng chúng trong một dự án của chúng tôi với nhu cầu sử dụng tương tự. chúng tôi đã không mã hóa chúng, nhưng chúng tôi có C# TBB có lược đồ tham số với URL webdav để giải quyết ID TCM và đặt biến gói. @Richard, Như Chris đã đề cập, bạn không nên mã cứng ID mẫu trong DWT của bạn. Bạn nên sử dụng URL Webdav và C# TBB shoul đang làm việc tắt URL WebDav thành TCMID. –

8

Sự cố của bạn liên quan đến ngữ cảnh của Bản trình bày thành phần đã xuất bản. SDL Tridion giải quyết ưu tiên cho mục tiêu CP như sau (nơi nó chỉ di chuyển sang bước tiếp theo nếu có nhiều hơn một trận):

  1. Finds CP có mức ưu tiên cao nhất (Bạn có 2 ưu tiên cao)
  2. Tìm trang gần nhất với trang hiện tại, bằng cách xem Nhóm Cấu trúc hiện tại (SG), SG con, anh chị em ruột SGs ... (Bạn dường như có 2 ở đây)
  3. Kịch bản dự phòng cuối cùng là nó liên kết tới được xuất bản gần đây nhất (Đây là những gì bạn đang thấy)

Đây là tiêu chuẩn đồng minh do bạn có một Bản trình bày thành phần động (DCP) không thực sự xuất hiện trên trang hoặc vì lý do nào đó, ID trang không được đặt trong mã liên kết của bạn, vì vậy, nó không thể tính vị trí của CP hiện tại, và như vậy phải bỏ qua bước (2) từ trên cao.

Điều đó có thể không giúp bạn giải quyết vấn đề của bạn, nhưng nó giải thích những gì bạn đang nhìn thấy. Vì vậy, tôi có thể giúp đỡ nhiều hơn, hãy giải thích những gì bạn đang xuất bản (có phải là DCP không?) Và có thể xem mã được xuất bản và kiểm tra xem URI Trang đã được thêm vào mã liên kết chưa (và đảm bảo nó không phải là tcm) : 0-0-0).

+2

Trong thực tế, "gần gũi" thuật toán có thể là một sự phù hợp tốt ở đây.Trang có các liên kết nằm trong cùng một phần của trang web như các kết xuất mà nó cần liên kết đến không? –

+2

Tôi [mô tả thứ tự lân cận] (http://www.createandbreak.net/2012/05/how-to-remember-tridion-dynamic-linking.html) trên CreateAndBreak.net. Tuy nhiên, tôi không biết về mối quan hệ. Thông tin tốt! –

Các vấn đề liên quan