Chúng tôi đang sử dụng SDL Tridion 2009 SP1. Chúng tôi đã triển khai một chức năng mới, một phần mở rộng trong CMS của chúng tôi, cho phép chúng tôi khóa trang. Nếu một trang bị khóa, nó không thể được xuất bản nữa (thông tin của trang bị khóa sẽ được giữ trong cơ sở dữ liệu được tạo cho phần mở rộng này).Mở rộng đến trạng thái biểu tượng trang trong SDL Trdidion 2009
Chúng tôi muốn thêm biểu tượng mới sẽ thông báo cho người dùng về trạng thái mới của trang.
Hiện nay có 4 sự kết hợp của các biểu tượng (không có hành động, kiểm tra, công bố, kiểm tra và công bố)
Vì tôi không có kinh nghiệm lâu năm với giao diện CMS Tôi muốn có một số giúp đỡ về việc tìm kiếm một giải pháp mà không có tác động đến hiệu suất và mà nó dễ thực hiện trong điều kiện không làm nhiều sửa đổi.
Dưới đây là cuộc điều tra của tôi về vấn đề này:
tôi nhận thấy rằng cách các biểu tượng là render trong các cms không phải là một cơ chế đơn giản mà có thể được cập nhật dễ dàng. Mỗi khi chúng ta bấm vào một mục ở phía bên trái của CMS, để hiển thị danh sách từ bên phải, một cuộc gọi ajax (với một yêu cầu xml) được thực hiện cho WebGUIResponder.aspx. trang.
Câu trả lời chúng tôi sẽ liên lạc lại là một xml có chứa các biểu tượng lĩnh vực thuộc tính
<tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0"
ID="tcm:yyy-zzzz-4" Managed="68" ItemType="4">
<tcm:Item ID="tcm:yyy-zzzzz-64" Type="64" Title="NotificationTest"
Modified="2011-05-09T09:42:27" FromPub="400 YYYY Website Master (EN-GB)"
IsNew="false" Icon="T64L0P1"/>
</tcm:ListItems>
Dựa trên sân Biểu tượng thuộc tính này (Biểu tượng = "T64L0P1) tên hình ảnh bắt đầu được xử lý.
- Xe tăng T-64 = có nghĩa là nó là một trang
- L0 = không được chọn
- P1 = nó đã được xuất bản
Đối với một lĩnh vực như vậy kết quả tên hình ảnh sẽ là = T64.16x16.List.Published.gif
tôi không thể tìm thấy một cách để cập nhật lĩnh vực này thông qua xml trang, không phải là một thông tin đó là giữ trong xml nhưng đúng hơn là được xây dựng trong dll khi yêu cầuxml. (Một nơi nào đó dựa trên các lĩnh vực khác như được xuất bản và một trường nào khác mà trường Biểu tượng này được tính toán.)
Vì vậy, nếu không thể sửa đổi trường này, chúng tôi có thể có: Để tích hợp thay đổi của chúng tôi trong CMS sửa đổi của họ .dll (điều này cho khả năng tương thích với phiên bản mới của SDL Trdion là không tốt để sửa đổi trong dlll) và không thay đổi quá nhiều logic tôi đã suy nghĩ đến cách tiếp cận này.
Chúng tôi có thể thực hiện cuộc gọi Ajax mới đến một trang mới WebGUICheckPageLocked.aspx (cần được kiểm tra tác động của hiệu suất). Trong mã phía sau của trang này, chúng tôi có thể xác định xem trang có bị khóa hay không (sử dụng chức năng nội bộ của chúng tôi để xác định xem trang có bị khóa hay không chức năng này đã được thực hiện). Trong trang, chúng tôi sẽ thay đổi trường biểu tượng thành thứ gì đó T64L0P1E01 (thêm một số thông tin bổ sung sẽ cho phép chúng tôi xác định trạng thái mới của trang). Chúng tôi cũng sẽ sửa đổi chức năng javascript GetPNGIconName, sau đó chúng tôi có thể thực hiện kiểm tra thêm khi xem xét thông tin mới E01 ...)
Xin vui lòng nếu ai đó có ý tưởng tốt hơn về điều này, có thể nó là một cái gì đó dễ dàng có thể được thực hiện, có lẽ nó là một cách chúng ta có thể cập nhật các lĩnh vực biểu tượng.
Kind Regards, Cristina
Chúc mừng bài đăng Tridion đầu tiên của bạn trên SO Cristina - Bạn cũng có thể muốn xem xét cam kết với đề xuất SDL Tridion trên Khu vực 51 tại http://area51.stackexchange.com/proposals/38335/tridion?referrer=eo63snjNlUWNn9xqeeO2NA2 –
Xin chào Chris, Cảm ơn bạn rất nhiều vì đã giúp bạn với tất cả điều này. Tôi không bao giờ thêm bất kỳ câu hỏi nào trên diễn đàn cho đến bây giờ ngay cả khi tôi không phải là người mới trong lập trình. Tôi thực sự đánh giá cao sự giúp đỡ của bạn với điều này. – Cristina