Ich versuche, eine HTML5-Vorlage für Drupal 7 zu erstellen, und ich bin ziemlich speziell in Bezug auf sauberen Code. Ich möchte die volle Kontrolle über HTML und CSS haben, wobei ich zum größten Teil mein eigenes benutzerdefiniertes Design verwende. Mit anderen Worten, ich habe ein HTML5- und CSS-Set, das ich genauso verwenden möchte wie in Drupal. Ich bin mir nicht sicher, wie die gesamte Funktion vor dem Prozess funktioniert.
Wenn ich 'print render ($ page [' content '])' in meiner page.tpl.php-Datei verwende, wird dies hinzugefügt
<div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="content">
Und dann, wenn ich 'print render ($ content)' in den Knoten hinzufüge - custom.tpl.php, fügt es hinzu
<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">
Ich will keine dieser Divs. Wie werde ich sie los?
Antworten:
Die Div-IDs und Klassen, die Sie in $ page ['content'] sehen, stammen aus region.tpl.php> block.tpl.php> node.tpl.php. Drupal-Inhalte durchlaufen diese Vorlagendateien. Bei jedem Schritt werden einige Divs hinzugefügt.
Die Datei region.tpl.php enthält den folgenden Code
Wenn Sie jetzt Änderungen an dieser Datei vornehmen, wirkt sich dies auf alle Bereiche Ihrer Seite aus. Wenn Sie nur den Inhaltsbereich steuern möchten, erstellen Sie einen neuen Dateinamen it region - content.tpl.php nur in dieser Datei einfügen
Dadurch wird div entfernt, das nur für den Inhaltsbereich erstellt wurde.
Erstellen Sie eine Kopie (wenn wir Änderungen an block.tpl.php vornehmen, werden alle Blöcke betroffen sein) von block.tpl.php und nennen Sie es block - content.tpl.php und entfernen oder ändern Sie die divs. Ohne die divs enthält die Datei den folgenden Code, um den Inhalt auszugeben.
Dadurch wird das von bock.tpl.php erstellte div entfernt
Bearbeiten Sie nun die Datei node.tpl.php, um die divs zu entfernen oder zu ändern. Ohne die divs enthält die Datei den folgenden Code, um den Inhalt auszugeben. > ">
Dies wird alle div und Klassen loswerden. Jetzt können Sie den Inhalt mit Ihren eigenen Divs verpacken. Bitte lassen Sie mich wissen, ob es bei Ihnen funktioniert.
quelle
print render($content);
, die zweiten drei Divs bleiben jedoch erhalten. Ich weiß, dass es die richtige Knotendatei aufnimmt, wenn ich etwas Text in die Datei füge, durch die es gut geht.foreach ($items as $delta => $item) { print render($item); }
. Jeder andere möchte vielleicht mit einer vollständigen field.tpl.php beginnen, da ich ein paar Zeilen herausgenommen habe, die je nach dem, was Sie versuchen, wichtig sein könnten. Die letzten drei Divs wurden durch diese Datei hinzugefügt - obwohl ich ein bisschen verwirrt bin, dass die Dokumentation besagt, dass diese Datei nicht verwendet wird und nur als Ausgangspunkt für die Anpassung vorgesehen ist.Was für mich perfekt funktioniert, ist:
strip_tags(render($var));
quelle