Question

Je suis en utilisant Plone 3.1.7 dans un projet qui a besoin d'ajustements de performance.L'un des tweaks les demandes CSS devrait être en haut de la page et le JS doit être en bas.Cependant, les deux sont situés à

<div tal:replace="structure provider:plone.htmlhead" />

Dans main_template.Comment puis-je diviser ceux-ci?

Merci d'avance

Était-ce utile?

La solution

Mes collègues ont trouvé la solution:

plone.htmlhead est un Viewlet enregistré par le plone.app.layout produit qui charge les trois autres viewlets:

  • plone.resourceregistries.styles
  • plone.resourceregistries.scripts
  • plone.resourceregistries.kineticstylesheets

Je mets ce qui suit à la balise HEAD:

<div tal:replace="structure provider:plone.resourceregistries.styles" />

Et ce qui suit en bas:

<div tal:replace="structure provider:plone.resourceregistries.scripts" />
<div tal:replace="structure provider:plone.resourceregistries.kineticstylesheets" />

Fait! le CSSS est situé au sommet et le bas jss au page de la page

Autres conseils

Vous n'avez pas l'habitude de le faire dans Plone, car il est mis en place pour déclencher la JS de manière asynchrone, donc il ne devrait pas bloquer tout rendu (ce qui est ce que la pointe de la performance est sur le point).

Si vous insérez des choses directement dans le modèle, les choses peuvent changer - mais la configuration par défaut ne la bonne chose, à moins que je suis malentendu la question ici (ce qui peut être le cas:)

Ce fut un bug de savoir dans certaines versions récentes de Products.ResourceRegistries Ce problème est résolu dans la version 2.02b. Vous pouvez épingler cette version dans votre buildout:

[versions]
    ...
    Products.ResourceRegistries == 2.02b
    ...

puis exécutez re-buildout et ce problème disparaît.

La suggestion ci-dessus pour remplacer scission plone.htmlhead avec 3 viewlets ne fonctionnait pas tout à fait pour moi, comme je l'ai perdu le titre de la page (pas bon pour le référencement). Je suppose que le titre de la page est également normalement inclus par plone.htmlhead.

La meilleure solution semble être d'utiliser les nouvelles Products.ResourceRegistries suggérées ci-dessus, sauf que les lignes de buildout sont un peu mal. Ce qui suit a fonctionné pour moi:

  

[versions]

...
Products.ResourceRegistries=2.0b3
...

Dans la balise head de plus de

<div tal:replace="structure provider:plone.resourceregistries.styles" />

J'ai mis

<title tal:define="page_title python: context_state.object_title()"
       tal:content="page_title">page title</title>

....
mais en fait, j'ai perdu tous les meta tags liés aux mots-clés !

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top