Comments (8)
Привет, в конце недели обсудим, как закончу плитку в ванной класть.
from django-sitetree.
- Контекст изначально передаётся по принципу необходимости и достаточности.
Касательно иконок: оптимально объеденить их в спрайт, после привязать к элементам меню стили оформления при помощи js. - Недопонял, передавать через контекст куда? Контекст — это уровень шаблона; фильтрация элементов — уровень логики. Уточни, пожалуйста.
from django-sitetree.
-
Ты имеешь ввиду прям в тупую раздавать JS'ом величину сдвига бэкграунда? Ну да, как вариант.
Но где хранить сдвиг, ведь иконки могут быть не подряд? Делать дополнительный класс для хранения координат? -
Инициатором создания меню является тэг в шаблоне. А это значит, чтобы донести до момента создания меню хук, его можно поместить в контекст, вместо того, чтобы использовать глобалс. Ну грубо говоря что-то типа этого:
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.
- Нет, Паш, я имею в виду работу со спрайтами при вёрстке. Сдвиги хранятся в css, тебе остается соотнести имя css-класса с каким-либо из параметров элемента дерева (н.п. с алиасом). Ребята из webo software делали однажды книгу по клиентской оптимизации, там подход хорошо описан.
- Собственно: контекст — это уровень шаблона; фильтрация элементов — уровень логики %)
from django-sitetree.
- То есть каждый элемент будет иметь свой css класс. Придется при добавлении каждого пункта меню прописывать новый класс. Не очень то удобно. В таком случае и JavaScript вроде ни к чему.
Интересная книжка кстати, спасибо за наводку. - Я, по сути, предлагаю использовать контекст в качестве транспорта, чтобы доставить в логику хук ф-ию.
Мы просто считаем, что использование глобалс в django - не самое элегантное решение, а зачастую опасное.
Но если для тебя это принципиально, то ладно.
from django-sitetree.
- А мы какую проблему решаем? Если у нас есть одна картинка, которую нужно использовать для каждого из пунктов, то достаточно css. Если у нас разные картинки для разных пунктов, то даже при наличии проброса контекста без прописывания идентификаторов (имен файлов) этих картинок не обойтись.
- Нет, пихать в контекст тоже не будем. Касательно глобальных переменных: не вижу причины не использовать их здесь, по крайней мере покуда есть единственная точка их изменения — функция; либо покуда не будет предложено какое-нибудь блестящее решение %)
from django-sitetree.
- Глобальный контекст проброшен. Главное — не злоупотреблять этим %)
from django-sitetree.
- Спасибо, постараюсь %)
- Ладно оставим так пока, если вдруг вылезут баги при мультипоточности отпишу в чем выражаются.
from django-sitetree.
Related Issues (20)
- Dynamic Trees - missing something? HOT 6
- Finer add permission check for displaying the "Add site tree Item" button HOT 3
- Incorporate one dynamic tree into another HOT 2
- How to pass the data models to a menu template ? HOT 4
- Menu Components only appear when the current page HOT 5
- Django 3.1 compatibility HOT 2
- Tests are missing from the sdist HOT 1
- Matching this when multiple URL matches fails HOT 2
- Tree items not displayed in menu if url contains certain special characters HOT 4
- Query the AppConfig directly for its module name HOT 4
- NoReverseMatch on custom models HOT 5
- SiteTree class not returning current item HOT 1
- Sitetreedump with "tree" arguments don't work correctly HOT 1
- compose_dynamic_tree with access_by_perms called in `config.ready` results in database errors HOT 3
- Allow HTML in title_resolved (to allow font-awesome icons) HOT 4
- When changing DEFAULT_AUTO_FIELD setting there are pending migrations
- Building and using a dynamic menu HOT 2
- Dynamic tree items: allow custom attribute binding in item() HOT 1
- Dynamic tree items: simplified access check
- Mapping nested entities to bread crumbs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-sitetree.