Ejemplo n.º 1
0
                continue

            # hardcoded paths... bleh
            if key in translations:
                links.append((
                    key,
                    name,
                    translations[key].get_absolute_url() + trailing_path))
            elif not only_existing:
                links.append((key, name, None))

        return links

register.tag(
    'feincms_languagelinks',
    do_simple_assignment_node_with_var_and_args_helper(LanguageLinksNode))


# ------------------------------------------------------------------------
def _translate_page_into(page, language, default=None):
    """
    Return the translation for a given page
    """
    # Optimisation shortcut: No need to dive into translations if page already
    # what we want
    try:
        if page.language == language:
            return page

        if language is not None:
            translations = dict(
Ejemplo n.º 2
0

class FooterNavigationNode(SimpleAssignmentNodeWithVarAndArgs):
    """
    DEPRICATED: USE footer_pages TAG
    {% load in_footer %}
    {% footer_navigation for feincms_page as footer_pages %}
    {% for p in footer_pages %}
        <a href="{{p.get_absolute_url}}">{{p.title}}</a>{% if not forloop.last %} |{% endif %}
    {% endfor %}
    """
    def what(self, page, args, default=None):
        queryset = Page.objects.active().filter(in_footer=True)
        return queryset.filter(language=translation.get_language()) if 'language' in [f.name for f in Page._meta.fields] else queryset

register.tag('footer_navigation', do_simple_assignment_node_with_var_and_args_helper(FooterNavigationNode))


@register.simple_tag(name="footer_pages")
def in_footer():
    """
    {% load in_footer %}
    {% footer_pages as footer_pages %}
    {% for p in footer_pages %}
        <li>
            <a href="{{ p.get_absolute_url }}">{{ p.title }}</a>
        </li>
    {% endfor %}
    """
    queryset = Page.objects.active().filter(in_footer=True)
    return queryset.filter(language=translation.get_language()) if 'language' in [f.name for f in Page._meta.fields] else queryset
Ejemplo n.º 3
0
        translations[page.language] = page

        links = []
        for key, name in settings.LANGUAGES:
            if exclude_current and key == page.language:
                continue

            # hardcoded paths... bleh
            if key in translations:
                links.append((key, name,
                    translations[key].get_absolute_url() + trailing_path))
            elif not only_existing:
                links.append((key, name, None))

        return links
register.tag('feincms_languagelinks', do_simple_assignment_node_with_var_and_args_helper(LanguageLinksNode))


# ------------------------------------------------------------------------
def _translate_page_into(page, language, default=None):
    """
    Return the translation for a given page
    """
    # Optimisation shortcut: No need to dive into translations if page already what we want
    try:
        if page.language == language:
            return page

        if language is not None:
            translations = dict((t.language, t) for t in page.available_translations())
            if language in translations:
Ejemplo n.º 4
0
from django import template
from django.utils import translation

from feincms.module.page.models import Page
from feincms.utils.templatetags import SimpleAssignmentNodeWithVarAndArgs
from feincms.utils.templatetags import do_simple_assignment_node_with_var_and_args_helper

register = template.Library()


class FooterNavigationNode(SimpleAssignmentNodeWithVarAndArgs):
    """
    {% load in_footer %}
    {% footer_navigation for feincms_page as footer_pages %}
    {% for p in footer_pages %}
        <a href="{{p.get_absolute_url}}">{{p.title}}</a>{% if not forloop.last %} |{% endif %}
    {% endfor %}
    """
    def what(self, page, args, default=None):
        queryset = Page.objects.active().filter(in_footer=True)
        return queryset.filter(language=translation.get_language()) if 'language' in [f.name for f in Page._meta.fields] else queryset
        
register.tag('footer_navigation', do_simple_assignment_node_with_var_and_args_helper(FooterNavigationNode))