Как наследовать плагины для дочерних страниц без разрыва ссылок в Django-CMS?

Я делаю многоязычный сайт Django-CMS. У меня есть страница, на которой есть некоторый контент, который ссылается на дочернюю страницу, таким образом, чтобы эта ссылка оставалась видимой. Это означает, что кто-то может щелкнуть ссылку несколько раз. Ссылка находится в плагине, который находится на родительской странице и наследуется дочерней страницей. Как я могу сделать так, чтобы ссылка всегда работала, как только плагин наследуется дочерней страницей?

Например, у меня есть www.my.site/en/parent/ и www.my.site/en/parent/child. Если у плагина в /parent есть ссылка href="child", то при наследовании на дочерней странице он будет говорить то же самое, делая ссылку, ведущую на несуществующий www.my.site/en/parent/child/child .

Я экспериментировал с <base href="www.my.site"> и другими URL-адресами, а также пытался выяснить, как ссылаться на текущий язык в CMS, но безрезультатно. Многоязычное промежуточное программное обеспечение, кажется, требует слишком много контроля, чтобы позволить base href работать (оно переписывает вещи). Кроме того, вы не можете иметь {% xxx %} или {{ yyy }} внутри html в CMS, что означает, что я не знаю, как указать абсолютный путь, который сохраняет правильный язык.


person nixjdm    schedule 06.12.2012    source источник


Ответы (1)


Догадаться. Так вот в чем дело. В (родительском) плагине я изначально использовал формат href="child". href="/child" вообще не работал, так как делал ссылку на www.my.site/ru/child. Я должен был обратить больше внимания на то, как выглядит эта неудача. После первой косой черты предполагается, что вы начинаете сразу после выбора языка — это означает, что у вас есть доступ к «абсолютному» пути.

Так что правильный способ записи был просто href="/parent/child". Иногда простые решения трудно увидеть. Короткие перерывы могут творить чудеса.

person nixjdm    schedule 06.12.2012