J'essaie de construire un modèle HTML5 pour Drupal 7, et je suis assez particulier sur le code propre. Je veux un contrôle total sur le HTML et le CSS que j'obtiens pour la plupart en utilisant mon propre thème personnalisé. En d'autres termes, j'ai un ensemble HTML5 et CSS que je veux utiliser exactement comme dans Drupal. Je ne sais pas trop comment fonctionne toute la fonction de pré-processus.
Lorsque j'utilise 'print render ($ page [' content '])' dans mon fichier page.tpl.php, il ajoute
<div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="content">
Et puis quand j'ajoute 'print render ($ content)' dans le nœud - custom.tpl.php il ajoute
<div class="field field-name-body field-type-text-with-summary field-label-hidden">
<div class="field-items">
<div class="field-item even" property="content:encoded">
Je ne veux aucun de ces divs. Comment puis-je me débarrasser d'eux?
Réponses:
Les identifiants et classes div que vous voyez dans $ page ['content'] proviennent de region.tpl.php> block.tpl.php> node.tpl.php Le contenu Drupal passe par ces fichiers de modèle, chaque étape ajoute des divs.
Le fichier region.tpl.php contient le code comme suit
maintenant, si vous apportez des modifications à ce fichier, cela affectera toutes les régions de votre page. Si vous souhaitez contrôler uniquement la zone de contenu, créez un nouveau nom de fichier it region - content.tpl.php dans ce fichier uniquement.
Cela supprimera les div créés uniquement pour la région de contenu.
Faites une copie (si nous apportons des modifications dans block.tpl.php tous les blocs seront effectués) de block.tpl.php et nommez-le block - content.tpl.php et supprimez ou modifiez les divs. Sans les divs, le fichier contiendra le code suivant pour sortir le contenu.
Cela se débarrassera des div créés par bock.tpl.php
Modifiez maintenant le fichier node.tpl.php pour supprimer ou modifier les divs. Sans les divs, le fichier contiendra le code suivant pour sortir le contenu. > ">
Cela supprimera tous les div et classes. Vous pouvez maintenant envelopper le contenu avec vos propres divs. Veuillez me faire savoir si cela fonctionne pour vous.
la source
print render($content);
mais les trois seconds divs restent. Je sais que c'est ramasser le bon fichier de noeud comme quand j'ajoute du texte dans le fichier, ça passe très bien.foreach ($items as $delta => $item) { print render($item); }
. Quiconque d'autre voudra peut-être commencer avec un field.tpl.php complet, car j'ai supprimé quelques lignes qui pourraient être importantes en fonction de ce que vous essayez de faire. Les trois dernières divisions ont été ajoutées par ce fichier - bien que je sois un peu confus dans la mesure où la documentation indique que ce fichier n'est pas utilisé et n'est fourni que pour un point de départ de personnalisation.Ce qui fonctionne parfaitement pour moi, c'est:
strip_tags(render($var));
la source