creation module : bricks.py
#1
Bonjour,

Passage dans les bricks.

j'ai ce message d'erreurs :

Code :
TypeError: get_template_context() takes 2 positional arguments but 5 were given


Il est vrai que par rapport à l'exemple, j'ai des champs supplémentaires. Je ne vois pas ou je peux indiquer 5 à la place de 2. Confused
  Répondre
#2
Je ne vois pas trop quoi répondre ; vous ne passez pas correctement les arguments d'une fonction et donc ça ne fonctionne pas, logiquement. La méthode que vous appelez est documentée, je vous invite à regarder cette documentation (si du code n'est pas documenté -- ça peut arriver -- alors c'est un autre problème ; n'hésiter pas à le signaler).
  Répondre
#3
(17-12-2020, 18:21)genglert a écrit : Je ne vois pas trop quoi répondre ; vous ne passez pas correctement les arguments d'une fonction et donc ça ne fonctionne pas, logiquement. La méthode que vous appelez est documentée, je vous invite à regarder cette documentation (si du code n'est pas documenté -- ça peut arriver -- alors c'est un autre problème ; n'hésiter pas à le signaler).

1 - J'ai réussi à afficher la brick/bloc, tant bien que mal, mais les caractères sont très gros, est ce normal ? les caractères ne s'affichent pas comme les autres blocs.

Je viens de m'apercevoir :
2 - Dans le bloc principale l''icône avant "INFORMATIONS CASTORS" ne s'affiche pas. Le texte alternatif apparaît et se superpose.
Si je regarde le html src="".
Comment puis je corriger cela ?
  Répondre
#4
Citation :1 - J'ai réussi à afficher la brick/bloc, tant bien que mal, mais les caractères sont très gros, est ce normal ? les caractères ne s'affichent pas comme les autres blocs.

J'imagine un problème de CSS ; utilisez l'inspecteur de votre navigateur pour voir quelle règle CSS rend votre texte très gros (ou le texte des autres blocs plus petit).


Citation :2 - Dans le bloc principale l''icône avant "INFORMATIONS CASTORS" ne s'affiche pas. Le texte alternatif apparaît et se superpose.


L'icône utilisée doit manquer (dans la bonne taille) ; si c'est bien le cas vous devriez avoir un message d'erreur dans votre terminal qui vous dit que telle image n'est pas trouvée avec telle taille en pixels.
  Répondre
#5
(18-12-2020, 18:10)genglert a écrit :
Citation :1 - J'ai réussi à afficher la brick/bloc, tant bien que mal, mais les caractères sont très gros, est ce normal ? les caractères ne s'affichent pas comme les autres blocs.

J'imagine un problème de CSS ; utilisez l'inspecteur de votre navigateur pour voir quelle règle CSS rend votre texte très gros (ou le texte des autres blocs plus petit).


Citation :2 - Dans le bloc principale l''icône avant "INFORMATIONS CASTORS" ne s'affiche pas. Le texte alternatif apparaît et se superpose.


L'icône utilisée doit manquer (dans la bonne taille) ; si c'est bien le cas vous devriez avoir un message d'erreur dans votre terminal qui vous dit que telle image n'est pas trouvée avec telle taille en pixels.

Code :
J'imagine un problème de CSS ; utilisez l'inspecteur de votre navigateur pour voir quelle règle CSS rend votre texte très gros (ou le texte des autres blocs plus petit).

Quand on créé une brick, le css se créé automatiquement ou il faut le concevoir ?


Citation :L'icône utilisée doit manquer (dans la bonne taille) ; si c'est bien le cas vous devriez avoir un message d'erreur dans votre terminal qui vous dit que telle image n'est pas trouvée avec telle taille en pixels.

En fait dans l'apps que j'ai créé, il me manque tous les petits icônes à gauche sur la page d'affichage "voir".

Quand on créé une apps, est ce qu'il y a des icônes standards qui se mettent en place ou il faut créé et déclarer les icones ?
Si oui quelle est la procédure ?
  Répondre
#6
Citation :Quand on créé une brick, le css se créé automatiquement ou il faut le concevoir ?

Il y a des règles CSS qui couvrent les besoins de base (voir par exemple  "creme/creme_core/static/icecream/creme_core/css/bricks.css" pour le thème icecream). La plupart des bricks s'en contentent ; certaines ont des besoins plus spécifiques et définissent des règles qui leur sont propres. S'il y a une brick existante qui ressemble à ce que vous voulez, regardez comment elle est faite histoire de gagner du temps.

Citation :Quand on créé une apps, est ce qu'il y a des icônes standards qui se mettent en place ou il faut créé et déclarer les icones ?

Il y a toutes les icônes fournies de base (voir dans "creme_crm/creme/static/icecream/images" pour le thème icecream) qui sont utilisées par les apps incluses dans Creme. Le système d'icône va chercher dans les images du thème actif, en fonction du nom qu'on lui demande et en rajoutant la taille adaptée au contexte.

Par exemple, dans le template de la brick des Alertes ( creme/assistants/templates/assistants/bricks/alerts.html ), quand on écrit :

Code :
{% brick_header_title title=_('{count} Alert') plural=_('{count} Alerts') empty=_('Alerts') icon='alert' %}

le système d'icone va chercher "creme/static/THEME/images/alert_XX.png"  (THEME="icecream" ou "chantilly")

Vous pouvez donc faire vos propres icones dans "creme/VOTRE_APP/static/THEME/images/" ; n'oubliez pas de lancer la commande "generatemedia" quand vous ajoutez des images.

Dans un premier temps je vous conseille cependant d'utiliser une icône existante comme placeholder, et de créer plus tard si nécessaire des icônes, une fois le design de la brick fini.
  Répondre
#7
(20-12-2020, 19:42)genglert a écrit :
Citation :Quand on créé une brick, le css se créé automatiquement ou il faut le concevoir ?

Il y a des règles CSS qui couvrent les besoins de base (voir par exemple  "creme/creme_core/static/icecream/creme_core/css/bricks.css" pour le thème icecream). La plupart des bricks s'en contentent ; certaines ont des besoins plus spécifiques et définissent des règles qui leur sont propres. S'il y a une brick existante qui ressemble à ce que vous voulez, regardez comment elle est faite histoire de gagner du temps.

Citation :Quand on créé une apps, est ce qu'il y a des icônes standards qui se mettent en place ou il faut créé et déclarer les icones ?

Il y a toutes les icônes fournies de base (voir dans "creme_crm/creme/static/icecream/images" pour le thème icecream) qui sont utilisées par les apps incluses dans Creme. Le système d'icône va chercher dans les images du thème actif, en fonction du nom qu'on lui demande et en rajoutant la taille adaptée au contexte.

Par exemple, dans le template de la brick des Alertes ( creme/assistants/templates/assistants/bricks/alerts.html ), quand on écrit :

Code :
{% brick_header_title title=_('{count} Alert') plural=_('{count} Alerts') empty=_('Alerts') icon='alert' %}

le système d'icone va chercher "creme/static/THEME/images/alert_XX.png"  (THEME="icecream" ou "chantilly")

Vous pouvez donc faire vos propres icones dans "creme/VOTRE_APP/static/THEME/images/" ; n'oubliez pas de lancer la commande "generatemedia" quand vous ajoutez des images.

Dans un premier temps je vous conseille cependant d'utiliser une icône existante comme placeholder, et de créer plus tard si nécessaire des icônes, une fois le design de la brick fini.

J'ai encore le problème à régler pour la taille des polices dans la brick mais j'ai trouvé la solution que je cherchais pour l'affichage des icônes dans la page pour la page "Voir"

J'ai ajouté le code dans apps.py. et j'ai mis les différentes tailles d'icone dans \crmcreme\creme\static\THEME\images (de la forme beaver_16.png)

Code :
   # AJOUT pour l'icone
   def register_icons(self, icon_registry):
       from .models import Editor
       icon_registry.register(Editor,'images/beaver_%(size)s.png')
qui n'est pas dans l'exemple
  Répondre
#8
Citation :J'ai ajouté le code dans apps.py [...]

Oui en effet j'ai omis que les types d'entités pouvaient en plus avoir une icône associée, qui sera utilisé automatiquement en plusieurs endroits (dans ma précédente réponse je n'ai pensé qu'aux icônes utilisées explicitement).

Je rajouterai une section sur les icônes dans le tutoriel pour Creme 2.2.
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)