2015-05-28 19 views
20

Chúng tôi có hiển thị danh sách các mục đã chọn trong TreeSelect trong mục hiện tại. Trong trường hợp của chúng tôi, chúng tôi gọi chúng là "Thẻ" (1)Sitecore 8, MVC, Trình chỉnh sửa trải nghiệm: Cách tạo lại làm mới sau khi Nút trình chỉnh sửa trường đã được sử dụng

Chúng tôi đã thêm Nút Trình chỉnh sửa trường vào thành phần để cho trình chỉnh sửa thay đổi các mục đã chọn. (2) (Như được mô tả trên ví dụ Adding a custom component)

Khi trình chỉnh sửa nhấp (2) cửa sổ trình soạn thảo (3) nó được mở trong hộp thoại. Trình soạn thảo có thể chọn các mục khác nhau (được gọi là các thẻ trong trường hợp của chúng tôi) bằng cách sử dụng TreeSelect.

Khi trình chỉnh sửa nhấn nút ok (4) các giá trị được đặt.

Bây giờ đến vấn đề:

Các giá trị thực sự thiết lập như họ nhận được lưu trữ khi các biên tập viên nhấn nút Save nhưng chúng tôi muốn danh sách của chúng tôi trên trang (1) ngay lập tức phản ánh các mặt hàng thiết lập khi ép biên tập viên nút ok (4), tức là trước khi phải lưu toàn bộ mục.

Làm cách nào để đạt được điều đó?

(tôi trong danh bạ với sự hỗ trợ Sitecore nhưng cho đến nay tôi vẫn chưa nhận được bất kỳ câu trả lời ...)

Screenshot

Cập nhật Sau rất nhiều cuộc nói chuyện với sự hỗ trợ chúng tôi vẫn không có giải pháp hữu ích.

Chúng tôi đã thử biến nó thành trình kết xuất trường hiển thị các liên kết. Những gì đã làm việc:

  • Trường sẽ được cập nhật khi bạn đã chỉnh sửa trong trình chỉnh sửa trường bật lên. (nhưng ...)
  • Có vẻ như lần đầu tiên trang được tải.
  • Bạn có thể tạo nút WebEdit bằng các lệnh để chỉnh sửa trường và thêm nút đó làm nút Tùy chỉnh vào trường (đăng ký <command name="webedit:fieldeditor" type="Sitecore.Shell.Applications.WebEdit.Commands.FieldEditor, Sitecore.Client"/> và đặt Nhấp vào nút để webedit:fieldeditor(command={3473DDA1-2983-493C-AF7A-054C75AA7AD3},fields=NameOfField nơi guid trỏ đến chính nó và "Biểu tượng" được đặt trên đó .)

gì đã không làm việc là:

  • các lĩnh vực được cập nhật bởi giá trị nguyên, không phải những gì tôi muốn hiển thị. Mã máy chủ có liên quan, nhưng không phải trong kết xuất mã html.
  • Khi tôi muốn chỉnh sửa giá trị trong trình chỉnh sửa trường, giá trị được gửi đến trình chỉnh sửa trường không phải là giá trị thô nhưng giá trị thực sự được hiển thị trên trang. (Tôi đoán điều này có thể được giải quyết bằng cách nào đó)

Vấn đề đối với hỗ trợ được chuyển thành yêu cầu tính năng để cho phép máy chủ tham gia hiển thị trường, chứ không chỉ gửi giá trị mới cho JavaScript cập nhật. Máy chủ thực hiện hiển thị đầu tiên để khi nó đã được tham gia vào việc cập nhật, nó sẽ được phép thực hiện hiển thị các lần sau.

Chúng tôi đã quyết định không dành nhiều thời gian hơn cho vấn đề này ngay bây giờ (chúng tôi cũng có những việc khác để làm) và có trải nghiệm biên tập tồi vì trường không được cập nhật cho đến khi người biên tập thực sự lưu mục đó.

Tuy nhiên, chúng tôi không có giải pháp phù hợp cho vấn đề này. Nếu bạn muốn tiếp tục làm việc trên đó và muốn có một tài liệu tham khảo cho vấn đề của tôi nó là 439059.

+1

Nói chung đội Sitecore hỗ trợ sẽ chỉ yêu cầu bạn điền thêm thông tin khi vé của bạn không hoàn thành 100%. Kinh nghiệm của tôi với bộ phận hỗ trợ là họ (khi thông tin hoàn tất) sẽ luôn cung cấp cho bạn giải pháp/giải pháp phù hợp cho vấn đề của bạn. – Younes

+2

Có, @Younes, hầu hết thời gian hỗ trợ sitecore cho câu trả lời tốt, nhưng trong vấn đề này đã có một số hiểu lầm (cả tôi và lỗi của họ) mà làm cho tôi gắt gỏng. ;-) Vì vậy, tôi nghĩ rằng tôi sẽ cung cấp cho cộng đồng stackoverflow cơ hội để sản xuất một câu trả lời tốt hơn/nhanh hơn. Và khi tôi nhận được câu trả lời, mọi người sẽ có thể đọc được. –

Trả lời

0

này có thể không hữu ích ở đây. Tôi đã làm điều này trong các trang web bình thường, nhưng không phải trong Sitecore. Nhưng, đây là một khả năng ....

Đây là một tình huống mà bạn sẽ vượt qua một chức năng gọi lại để cửa sổ con popup. Việc gọi lại này sẽ làm cho cửa sổ người gọi/cha mẹ đọc lại/tải lại thông tin vừa được cập nhật bởi đứa trẻ.

Ví dụ: Máy ép người dùng (2) để mở cửa sổ soạn thảo (3) (Mở cửa sổ trình soạn thảo và chức năng gọi lại được chuyển thành tham số) Người dùng nhấn nút "OK" (4). Trình xử lý sự kiện nút "OK" cập nhật các thay đổi, sau đó gọi hàm Callback để tải lại thông tin đã cập nhật và đóng cửa sổ bật lên. Khi cửa sổ bật lên đóng, cửa sổ chính hiện hiển thị thông tin mà cửa sổ bật lên/trình chỉnh sửa vừa được cập nhật.

Điều này cần một số phát triển javascript (jquery) phía máy khách nhưng nó khá khả thi bình thường.

1

Hãy xem tại post đó.

Cách hoạt động: how-it-works

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