Git Product home page Git Product logo

Comments (8)

idlesign avatar idlesign commented on June 9, 2024

Привет, в конце недели обсудим, как закончу плитку в ванной класть.

from django-sitetree.

idlesign avatar idlesign commented on June 9, 2024
  1. Контекст изначально передаётся по принципу необходимости и достаточности.
    Касательно иконок: оптимально объеденить их в спрайт, после привязать к элементам меню стили оформления при помощи js.
  2. Недопонял, передавать через контекст куда? Контекст — это уровень шаблона; фильтрация элементов — уровень логики. Уточни, пожалуйста.

from django-sitetree.

pws21 avatar pws21 commented on June 9, 2024
  1. Ты имеешь ввиду прям в тупую раздавать JS'ом величину сдвига бэкграунда? Ну да, как вариант.
    Но где хранить сдвиг, ведь иконки могут быть не подряд? Делать дополнительный класс для хранения координат?

  2. Инициатором создания меню является тэг в шаблоне. А это значит, чтобы донести до момента создания меню хук, его можно поместить в контекст, вместо того, чтобы использовать глобалс. Ну грубо говоря что-то типа этого:

    class sitetree_menuNode(template.Node):
    """Renders specified site tree menu items."""
    
    def __init__(self, tree_alias, tree_branches, use_template):
        if use_template is None:
            use_template = 'sitetree/menu.html'
        self.template = template.loader.get_template(use_template)
        self.tree_alias = tree_alias
        self.tree_branches = tree_branches
    
    def render(self, context):
        sitetree.set_hook_from_context(context)
        tree_items = sitetree.menu(self.tree_alias, self.tree_branches, context)
        my_context = template.Context({'sitetree_items': tree_items, 'user': context['user'], 'request': context['request'], 'sitetree_custom_hook': context['sitetree_custom_hook']})
        return self.template.render(my_context)
    

    А во view что-то типа:

    render_to_response('template.html',{'some_objects': some_objects, 'sitetree_custom_hook': callable_hook_function}, context_instance=RequestContext(request))
    

from django-sitetree.

idlesign avatar idlesign commented on June 9, 2024
  1. Нет, Паш, я имею в виду работу со спрайтами при вёрстке. Сдвиги хранятся в css, тебе остается соотнести имя css-класса с каким-либо из параметров элемента дерева (н.п. с алиасом). Ребята из webo software делали однажды книгу по клиентской оптимизации, там подход хорошо описан.
  2. Собственно: контекст — это уровень шаблона; фильтрация элементов — уровень логики %)

from django-sitetree.

pws21 avatar pws21 commented on June 9, 2024
  1. То есть каждый элемент будет иметь свой css класс. Придется при добавлении каждого пункта меню прописывать новый класс. Не очень то удобно. В таком случае и JavaScript вроде ни к чему.
    Интересная книжка кстати, спасибо за наводку.
  2. Я, по сути, предлагаю использовать контекст в качестве транспорта, чтобы доставить в логику хук ф-ию.
    Мы просто считаем, что использование глобалс в django - не самое элегантное решение, а зачастую опасное.
    Но если для тебя это принципиально, то ладно.

from django-sitetree.

idlesign avatar idlesign commented on June 9, 2024
  1. А мы какую проблему решаем? Если у нас есть одна картинка, которую нужно использовать для каждого из пунктов, то достаточно css. Если у нас разные картинки для разных пунктов, то даже при наличии проброса контекста без прописывания идентификаторов (имен файлов) этих картинок не обойтись.
  2. Нет, пихать в контекст тоже не будем. Касательно глобальных переменных: не вижу причины не использовать их здесь, по крайней мере покуда есть единственная точка их изменения — функция; либо покуда не будет предложено какое-нибудь блестящее решение %)

from django-sitetree.

idlesign avatar idlesign commented on June 9, 2024
  1. Глобальный контекст проброшен. Главное — не злоупотреблять этим %)

from django-sitetree.

pws21 avatar pws21 commented on June 9, 2024
  1. Спасибо, постараюсь %)
  2. Ладно оставим так пока, если вдруг вылезут баги при мультипоточности отпишу в чем выражаются.

from django-sitetree.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.