Tôi đã cố gắng giải quyết vấn đề này một thời gian, nhưng tôi không thể tìm ra thứ gì đó hoạt động tốt.Vô hiệu hóa các sự kiện nhấp chuột trong chỉnh sửa XPM (Dao cạo)
Bạn thấy đấy, trên trang web của chúng tôi có rất nhiều hình ảnh hoặc div có thể nhấp, được cung cấp với các liên kết thành phần rơi trên toàn bộ hình ảnh. Nếu bạn kích hoạt XPM và cố gắng chọn thành phần, nó sẽ kích hoạt sự kiện liên kết thành phần của nó, và định tuyến bạn đến đúng trang.
Tôi đã tìm kiếm giải pháp nhanh để tắt hành vi này chỉ khi chỉnh sửa và cho đến nay tôi đã đưa ra một vài cách giải quyết hoàn toàn không phải những gì tôi đang tìm kiếm.
Ví dụ: bạn có thể sử dụng điều kiện Dao cạo dao cạo tuyệt vời (IsSiteEditEnabled), chức năng này luôn được giải quyết thành true nếu ấn phẩm/trang/máy chủ bạn hiện đang được kích hoạt để chỉnh sửa trang. Điều này có nghĩa là nếu bạn chèn mã mẫu cụ thể, chẳng hạn như
@if(!IsSiteEditEnabled){
<a tridion:href="#"> other code, ending in closing of </a>...
}
Sẽ không tạo liên kết khi chỉnh sửa trang web (XPM) không được kích hoạt nhưng có thể được kích hoạt. Tóm tắt các máy chủ dàn dựng. Trừ khi không có lựa chọn nào khác, tôi sẽ cần một máy chủ xuất bản Live để làm cho mã hoạt động, nhưng điều này sẽ đặt ra vấn đề mà các biên tập viên sẽ nghĩ rằng các liên kết bị hỏng trên các máy chủ dàn dựng.
Tôi có cảm giác rằng có điều gì đó tôi thiếu ở đây. Tôi tin rằng vấn đề này có thể đã gặp phải một người như bạn :)
này là một trong những khối
<article class="block-2x2 banner">
<tcdl:ComponentField name="component_link"></tcdl:ComponentField>
@if(!IsSiteEditEnabled){
@:<a tridion:href="@Fields.component_link">
}
<div class="image-container">
<tcdl:ComponentField name="image"><img src="@Fields.image" alt="@Fields.image.altText"></tcdl:ComponentField>
</div>
<div class="hgroup">
<h4 class="primary-title">@RenderComponentField("header", 0)</h4>
<h5 class="secondary-title">@RenderComponentField("title", 0)</h5>
</div>
@if(!IsSiteEditEnabled){</a>}
</article>
Có vẻ như câu hỏi này có thể cần tiền thưởng ... – MDa
Tôi nghĩ bạn có thể cần nhiều hơn tiền thưởng - Tôi thực sự bối rối bởi câu hỏi của bạn - Có lẽ xem xét việc sửa lại nó. Tại sao bạn muốn vô hiệu hóa các liên kết? Có phải vì việc ngăn bạn chỉnh sửa các thành phần không? –
Vâng, toàn bộ thành phần là một biểu ngữ nhấp chuột lớn. Vì vậy, điều đó có nghĩa là, để chỉnh sửa nó trên trang web, bạn cần tập trung vào thành phần nói trên bằng cách nhấp vào nó. Bởi vì nó có một liên kết, bạn sẽ được chuyển hướng đến một trang khác và việc chỉnh sửa là không thể. – MDa