Próbuję rozwiązać ten problem już od jakiegoś czasu, ale nie mogę wymyślić czegoś, co działa poprawnie.Wyłączanie zdarzeń kliknięcia w edycji XPM (Razor)
Widzisz, na naszej stronie znajduje się wiele klikalnych obrazów lub elementów div, które są dostarczane z łączami komponentu, które przewijają się na całym obrazie. Jeśli aktywujesz XPM i spróbujesz wybrać komponent, uruchomi on zdarzenie kliknięcia linku komponentu i poprowadzi cię do właściwej strony.
Szukałem szybkiego rozwiązania, aby wyłączyć to zachowanie tylko podczas edycji, i jak dotąd wymyśliłem kilka obejść, które szczerze mówiąc nie są tym, czego szukam.
Można na przykład użyć fantastycznego warunku Razor Mediator (IsSiteEditEnabled), jednak ta funkcja zawsze ma wartość true, jeśli publikacja/strona/serwer, na którym się aktualnie znajdujesz, umożliwia edycję strony. Oznacza to, że po wstawieniu szablonu specyficzny kod, takich jak
@if(!IsSiteEditEnabled){
<a tridion:href="#"> other code, ending in closing of </a>...
}
nie będzie wyjścia, gdy link edit serwis (XPM) nie jest aktywny, ale może być aktywowana. W skrócie serwery pośredniczące.
Jeśli nie ma innej opcji, będę potrzebował serwera publikacji na żywo, aby kod działał, ale spowoduje to problem, który redaktorzy będą uważać, że łącza są zepsute na serwerach pomostowych.
Mam wrażenie, że czegoś tu brakuje. Wierzę, że ten problem może już spotykane przez kogoś takiego jak ty :)
jest to jeden z bloków
<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>
Wygląda na to, że te pytania mogą wymagać nagrody ... – MDa
Myślę, że możesz potrzebować czegoś więcej niż nagrody - naprawdę jestem zdezorientowany twoim pytaniem - Być może rozważ to przeprojektowanie. Dlaczego chcesz wyłączyć linki? Czy to dlatego, że uniemożliwiasz edycję komponentów? –
Cóż, cały komponent jest jednym banerem dużego kliknięcia. Oznacza to, że aby edytować go na stronie, musisz skupić się na tym komponencie, klikając na niego. Ponieważ ma link, zostaniesz przekierowany na inną stronę i edycja jest niemożliwa. – MDa