Commit 281c760a7a8f99e7dab5d47cc783bf9ce9a2fb8c
1 parent
c1d6fbf8
Exists in
master
and in
5 other branches
Line breaks #459
Showing
1 changed file
with
35 additions
and
11 deletions
Show diff stats
README.md
... | ... | @@ -129,7 +129,9 @@ Os **breadcrumbs** reduzem o número de ações que um usuários precisa tomar p |
129 | 129 | No amadeus estamos utilizando a lib [django-bootstrap-breadcrumbs](http://django-bootstrap-breadcrumbs.readthedocs.io/en/latest/) para oferecer essa facilidade aos nosso usuários. |
130 | 130 | |
131 | 131 | **Como usar:** |
132 | -O pacote já se encontra instalado no projeto. Ele está na lista das dependências que se encontram no arquivo `requirements.txt` que foi instalado anteriormente. Então para usar a lib num template, você só precisa fazer o load da tag: ```{% load django_bootstrap_breadcrumbs %}``` | |
132 | + | |
133 | + | |
134 | +O pacote já se encontra instalado no projeto. Ele está na lista das dependências que se encontram no arquivo `requirements.txt`, que já foi instalado anteriormente. Então para usar a lib num template, você só precisa fazer o load da tag: ```{% load django_bootstrap_breadcrumbs %}``` | |
133 | 135 | |
134 | 136 | O pacote assume que você tem uma boa organização de urls no seu projeto para que ele possa funcionar como esperado. Ele funciona a base herança de templates, como assim? |
135 | 137 | |
... | ... | @@ -137,18 +139,23 @@ No arquivo ```core > templates > base.html``` existe um bloco denominado ***brea |
137 | 139 | TODOS os arquivos que herdam do template ```base.html``` ou de outro template que herdou dele, deve implementar o bloco ***breadcrumbs***. |
138 | 140 | |
139 | 141 | ***Exemplo*** |
140 | -Como a nossa dashboard comoça na app ```app```, é nesse app que foi feito a primeira herança do bloco ***breadcrumbs*** e a partir dalí todos os apps estendem dos templates dessa app. | |
142 | + | |
143 | + | |
144 | +Como a nossa dashboard começa na app ```app```, é nesse app que foi feito a primeira herança do bloco ***breadcrumbs*** e a partir dalí todos os apps estendem dos templates dessa app. | |
141 | 145 | Vamos ilustrar um exemplo de breadcrumbs que vai até a página de criar uma discilina dentro de um curso: |
142 | 146 | |
143 | 147 | ```1 - home.html``` |
148 | + | |
149 | + | |
144 | 150 | O arquivo ```1``` se encontra na app ```app``` e ele faz herança do template ```base.html``` |
145 | 151 | |
152 | + | |
146 | 153 | ```python |
147 | 154 | 1 {% block breadcrumbs %} |
148 | 155 | 2 |
149 | -3 {% clear_breadcrumbs %} | |
150 | -4 {% breadcrumb 'Home' 'app:index' %} | |
151 | -5 | |
156 | +3 {% clear_breadcrumbs %} | |
157 | +4 {% breadcrumb 'Home' 'app:index' %} | |
158 | +5 | |
152 | 159 | 6 {% endblock %} |
153 | 160 | 7 |
154 | 161 | 8 {% block render_breadcrumbs %} |
... | ... | @@ -160,11 +167,16 @@ A linha 3 é responsável por 'limpar' todo o breadcrumbs feito anteriormente, o |
160 | 167 | |
161 | 168 | A linha 4, é onde a mágica acontece. É o breadcrumb da página em si. |
162 | 169 | O primeiro parâmetro da template tag: o 'Home', é o texto que vai ficar linkado(quando você estiver em uma outra página). Ele pode ser um texto, que tem que vir entres aspas, por exemplo 'Home', ou pode ser uma variavel do template que nesse caso não precisa de aspas. O segundo parâmetro é a url da página em que o template em questão vai ser exibida, ou seja, ele chama a sua própria ulr, como era de se esperar. |
170 | + | |
163 | 171 | ***OBS:*** Se a url tivesse um parâmetro, ele devia ser passado como um terceiro argumento da template tag. |
164 | 172 | ***OBS2:*** A linha 9 só precisa ser chamado uma única vez e deve ser na template home, egg: os templates que não são o root do breadcrumbs não precisam subsvrever o bloco 'render_breadcrumbs' |
165 | 173 | |
166 | 174 | ```2 - courses > templates > course > index.html``` |
175 | + | |
176 | + | |
167 | 177 | O arquivo ```2``` é o index da app ```courses``` e ele herda o template ```1```. |
178 | + | |
179 | + | |
168 | 180 | ```python |
169 | 181 | 1 {% block breadcrumbs %} |
170 | 182 | 2 |
... | ... | @@ -177,19 +189,28 @@ O arquivo ```2``` é o index da app ```courses``` e ele herda o template ```1``` |
177 | 189 | A linha 3 traz todo o breadcrumbs que já foi feito anteriormente para a página corrente, e a linha 4 acrescenta um novo elemento na lista dos breadcrumbs. Observe que você não precisa se preocupar em dizer qual página está sendo exibida e nem costomizar nenhum HTML. A template tag já faz tudo isso por você. Você só precisa dar um nome para o link, chamar a ulr da página e passar algum parâmetro para a ulr(caso for preciso). |
178 | 190 | |
179 | 191 | ```3 - courses > templates > course > view.html``` |
192 | + | |
193 | + | |
180 | 194 | O arquivo 3 é o template de um curso específico, e ele herda do template ```2```. |
181 | -```python | |
182 | -{% block breadcrumbs %} | |
183 | 195 | |
184 | - {{ block.super }} | |
185 | - {% breadcrumb course 'course:view' course.slug %} | |
186 | 196 | |
187 | -{% endblock %} | |
197 | +```python | |
198 | +1 {% block breadcrumbs %} | |
199 | +2 | |
200 | +3 {{ block.super }} | |
201 | +4 {% breadcrumb course 'course:view' course.slug %} | |
202 | +5 | |
203 | +6 {% endblock %} | |
188 | 204 | ``` |
205 | + | |
189 | 206 | Repare que o primeiro parâmetro agora é uma variavel do template que representa o nome do curso, e o terceiro parâmetro é um argumento para a url(eles não precisam de aspas). |
190 | 207 | |
191 | 208 | ```4 - courses > templates > subject > create.html``` |
192 | -O arquivo ```4``` é o template de criar uma disciplica e ele herda do template ```3``` | |
209 | + | |
210 | + | |
211 | +O arquivo ```4``` é o template de criar uma disciplica e ele herda do template ```3```. | |
212 | + | |
213 | + | |
193 | 214 | |
194 | 215 | ```python |
195 | 216 | 1 {% block breadcrumbs %} |
... | ... | @@ -197,7 +218,10 @@ O arquivo ```4``` é o template de criar uma disciplica e ele herda do template |
197 | 218 | 3 {% breadcrumb 'Create subject' 'course:create_subject' course.slug %} |
198 | 219 | 4 {% endblock breadcrumbs %} |
199 | 220 | ``` |
221 | + | |
200 | 222 | Feito isso o breadcrumbs da página 'Criar disciplina' fica da seguinte forma: |
223 | + | |
224 | + | |
201 | 225 | [Home]() / [Cursos]() / [Nome do Curso]() / Criar disciplina |
202 | 226 | |
203 | 227 | ... | ... |