J'aime utiliser des panneaux, mais les panneaux sont difficiles à coiffer en raison de la quantité massive de div qu'elle génère. De plus, les classes qu'il applique à ces divisions n'ont aucun sens et sont également trop volumineuses. Causant la confusion parmi mes collègues front-enders.
Pour vous montrer la sortie qu'ils génèrent:
Le problème est que j'utilise 960.gs et les panneaux ajoutent leurs propres classes et une structure div volumineuse, ce qui me oblige à remplacer leurs classes. C'est quelque chose que je ne veux pas faire, je veux nettoyer les divs. Y a-t-il un moyen de faire ça?
Modifier:
Ce que j'ai fait pour nettoyer des div que je considérais comme inutiles:
À partir de la ligne # 388 dans flexible.inc (panneaux/plugins/layouts/flexible)
$output = '';
//$output = "<div class=\"panel-flexible " . $renderer->base['canvas'] . " clearfix\" $renderer->id_str>\n";
// $output .= "<div class=\"panel-flexible-inside " . $renderer->base['canvas'] . "-inside\">\n";
$output .= panels_flexible_render_items($renderer, $settings['items']['canvas']['children'], $renderer->base['canvas']);
// Wrap the whole thing up Nice and snug
//$output .= "</div>\n</div>\n";
J'ai en fait fait une copie de la mise en page flexible et édité celle-ci, mais si j'avais plus de temps sur ce projet, je créerais un plugin plus propre pour cela.
Note: Ce n'est pas la meilleure solution, c'était la voie la plus rapide possible pour atteindre mon objectif. Créer votre propre petit plugin est la meilleure façon de procéder, vous pouvez toujours utiliser l'un des plugins existants comme base.
J'ai déjà étudié cette question. Voici le problème que vous souhaitez lire . Cela semble fou au début, mais il y a en fait de bonnes raisons pour que ce soit comme ça.
Conclusion: considérez les Panneaux Flexible Layouts comme un outil de prototypage . Utilisez-le pour essayer et rédiger des idées dans le développement, la mise en scène, les tests utilisateur, etc., puis lorsque vous avez signé la mise en page parfaite, implémentez-la pour la production avec du HTML propre, net et optimisé à la main en tant que personnalisé Disposition des panneaux (plus sur ceux ci-dessous).
Voici un bref résumé des raisons pour lesquelles il en est ainsi, en fonction de ce problème auquel je suis lié:
Bien que je ne l'aimais pas au début, à la réflexion, je pense que cela a du sens. Plutôt que d'essayer de faire l'impossible et de créer un outil parfait à la fois pour le prototypage et pour les meilleures normes dans un contexte de production - qui ont tous deux des besoins très différents et ne peuvent aboutir qu'à un compromis qui n'était pas tout à fait approprié - ils 'ai opté pour un outil idéal pour le prototypage et un autre outil séparé (dispositions personnalisées) idéal pour la production allégée.
Cela signifie que vous pouvez tirer le meilleur parti des deux, au prix d'un peu plus de travail implémentant votre mise en page finale en tant que modèle basé sur les meilleurs standards HTML - mais un puriste HTML voudra faire ce petit travail supplémentaire de toute façon pour obtenir leur sortie est parfaite.
Comment créer des dispositions de panneaux personnalisés? Il y a n guide détaillé dans la documentation sur la façon de le faire . Voici un bref résumé de base:
/sites/all/modules/panels/plugins/layouts
devenir /sites/all/themes/[your_theme_name]/layouts/[new_unique_layout_machine_name]
.tpl.php
le fichier doit avoir des tirets au lieu de traits de soulignement.plugins[panels][layouts] = layouts
Cela indique aux panneaux que vous avez des dispositions personnalisées dans ce thème et où elles se trouvent (remplacez la chaîne layouts
si ce n'est pas le chemin de votre thème vers votre dossier de dispositions personnalisées)Modifiez les fichiers avec votre code HTML et CSS parfait, élégant, minimal et sémantique.
.inc
fichier contenant des informations sur votre mise en page comme le nom, les catégories, les noms de fichiers, etc.theme
dans le fichier .inc doit correspondre à .tpl.php
nom de fichier du fichier, sans l'extension. Tous les traits de soulignement que vous entrez ici dans la valeur theme
seront convertis en tirets..png
icône pour mieux refléter votre mise en page réelle..inc
fichier. Utilise le.Vous pouvez également envisager le module Clean Markup Drupal 7 pour contrôler la sortie de balisage pour les panneaux).
J'ai cherché cette page dans le navigateur et je n'en ai pas encore trouvé mention, y compris dans la très bonne réponse complète donnée par user568458.