• Gelöst Uwe T.

    (@uwe367)


    Hallo allerseites,

    ich habe das Bootstrap Template, welches ich aus meinem letzten Thread Block „Individuelles HTML“ löscht Formatierungen selbstständig – page 4 | WordPress.org Deutsch bekommen habe, eingebaut und es funktioniert genau so, wie es soll. Dafür nochmals Danke.
    Nun möchte ich daran noch ein paar Veränderungen vornehmen.
    Dabei habe ich jedoch das Problem, dass die Änderungen zwar im Template selbst gespeichert werden, aber der Blockeditor scheinbar seine Probleme hat, diese Änderungen zu übernehmen.
    Es spielt dabei keine Rolle ob ich das Template mit einem externen Editor, z.B. Notepad oder mit dem in WP integrierten Codeeditor bearbeite.
    Ich habe mittels Plugin den Cache von WP geleert, habe den Browsercache geleert, sogar den PC neu gestartet um wirklich sicher zu sein, dass alle Caches geleert sind, aber das hilft leider nicht.
    Zum Schluss habe ich das Template dann zurück gesetzt und das hatte geholfen.
    Nach dem zurücksetzen des Template und anschließender erneuten Eingabe der Änderungen wurde es beim nächsten Aufruf im Blockeditor dann richtig übernommen und richtig abgebildet.
    Die Frage ist nur, ob das so richtig ist oder gibt es hier eine andere Möglichkeit, den Blockeditor dazu zu „überreden“ die Änderungen zu übernehmen, ohne dass ich das Template zurücksetzen muss.
    Kann ja irgendwie nicht sein, dass ich das Template nach vor Änderung zuerst zurücksetzen muss.
    Zurückgesetzt habe ich das Template in dem im Screenshot abgebildeten Bereich.

    Viele Grüße
    Uwe

    • Dieses Thema wurde vor 1 Monat von La Geek geändert. Grund: Betreff zum besseren Verständnis angepasst
Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 30)
  • Moderator Hans-Gerd Gerhards

    (@hage)

    Hallo @uwe367,

    Nun möchte ich daran noch ein paar Veränderungen vornehmen.
    Dabei habe ich jedoch das Problem, dass die Änderungen zwar im Template selbst gespeichert werden, aber der Blockeditor scheinbar seine Probleme hat, diese Änderungen zu übernehmen.

    Mir ist nicht klar, welche Änderungen du genau vornehmen willst. Kannst du das evtl. etwas genauer beschreiben?

    In der Regel hat man im Template den Block „Inhalt“, der dafür sorgt, dass alle Inhalte des jeweiligen Beitrags, die man individuell erfasst hat, auszugeben. Das ist also eine Art „Platzhalter“:

    Viele Grüße
    Hans-Gerd

    Thread-Starter Uwe T.

    (@uwe367)

    Hallo @hage ,

    prinzipiell hast Du Recht.
    Da ich das Ganze aber gerne mit Bootstrap realisieren würde, habe ich in dem letzten Thread ein Template erhalten in dem ich sehen kann, wie der Grundaufbau generell funktioniert und so funktioniert das auch sehr gut.

    Angenommen ich habe folgendes Konstrukt:

    <!-- wp:template-part {"slug":"header"} /-->

    <!-- wp:group {"tagName":"main","className":"bootstrap-layout-wrapper","layout":{"type":"constrained"}} -->
    <main class="wp-block-group container">

    <!-- wp:columns -->
    <div class="wp-block-columns row">

    <!-- wp:column -->
    <div class="wp-block-column col-md-3">
    <!-- wp:paragraph -->
    <p>Hier Inhalte für die linke Spalte einfügen.</p>
    <!-- /wp:paragraph -->
    </div>
    <!-- /wp:column -->

    <!-- wp:column -->
    <div class="wp-block-column col-md-6">
    <!-- wp:post-featured-image /-->
    <!-- wp:post-title {"level":1} /-->
    <!-- wp:post-content /-->
    </div>
    <!-- /wp:column -->

    <!-- wp:column -->
    <div class="wp-block-column col-md-3">
    <!-- wp:paragraph -->
    <p>Hier Inhalte für die rechte Spalte einfügen.</p>
    <!-- /wp:paragraph -->
    </div>
    <!-- /wp:column -->

    </div>
    <!-- /wp:columns -->

    </main>
    <!-- /wp:group -->

    <!-- wp:template-part {"slug":"footer"} /-->

    Und nun möchte ich nachträglich zwischen Head und Main Content noch eine Row platztieren, was dann so aussehen könnte:

    <!-- wp:template-part {"slug":"header"} /-->

    <!-- wp:group {"tagName":"main","className":"bootstrap-layout-wrapper","layout":{"type":"constrained"}} -->
    <main class="wp-block-group container">

    <!-- wp:columns -->
    <div class="wp-block-columns row">

    <!-- wp:column -->
    <div class="wp-block-column col-md-12">
    <!-- wp:paragraph -->
    <p>Hier der Inhalt der Row zwischen Head und main Content</p>
    <!-- /wp:paragraph -->
    </div>
    <!-- /wp:column -->
    </div>
    <!-- /wp:columns -->

    <!-- wp:columns -->
    <div class="wp-block-columns row">

    <!-- wp:column -->
    <div class="wp-block-column col-md-3">
    <!-- wp:paragraph -->
    <p>Hier Inhalte für die linke Spalte einfügen.</p>
    <!-- /wp:paragraph -->
    </div>
    <!-- /wp:column -->

    <!-- wp:column -->
    <div class="wp-block-column col-md-6">
    <!-- wp:post-featured-image /-->
    <!-- wp:post-title {"level":1} /-->
    <!-- wp:post-content /-->
    </div>
    <!-- /wp:column -->

    <!-- wp:column -->
    <div class="wp-block-column col-md-3">
    <!-- wp:paragraph -->
    <p>Hier Inhalte für die rechte Spalte einfügen.</p>
    <!-- /wp:paragraph -->
    </div>
    <!-- /wp:column -->

    </div>
    <!-- /wp:columns -->

    </main>
    <!-- /wp:group -->

    <!-- wp:template-part {"slug":"footer"} /-->

    Bei diesem Beispiel sollen die rechte und linke Spalte immer den gleichen Inhalt haben, daher möchte ich diese Inhalte im Template fest legen. Es ändert sich, je nach Unterseite, nur der Inhalt der mittleren Spalte.
    Nach der Änderung des Templates (hinzugefügte Row) wird diese aber nicht im Blockeditor übernommen, obwohl die Änderung im Template gespeichert ist. Ein Refresh des Blockeditors trägt leider nicht dazu bei die Änderung anzuzeigen.
    Um die Änderung im Blockeditor zu sehen, muss ich das Template zurück setzen, erst dann werden die Änderungen übernommen. Das ist solange kein Problem, als dass ich nur den Templatecode ohne Inhalte aus dem Blockeditor habe. Habe ich Inhalte aus dem Blockeditor eingefügt, werden diese logischerweise beim zurücksetzen gelöscht.

    Mir geht es hier rein darum zu verstehen, wie das System arbeitet damit ich meinen Workflow, wenn er denn mal produktiv wird, entsprechend anpassen kann ohne eventuelle böse Überraschungen zu erleben die mich in der Arbeit zurück werfen würden.

    Viele Grüße
    Uwe

    Moderator Hans-Gerd Gerhards

    (@hage)

    Hallo @uwe367,
    ich setze zwar schon länger ausschließlich Block Themes ein, die ich auch sehr umfassend anpasse, habe aber keinerlei Erfahrungen zur Verwendung von Bootstrap im Zusammenhang mit Block Themes.

    Wenn man über den Code Editor Templates bearbeitet, reagiert das System in der Regel recht empfindlich. Insofern versuche ich das eher zu vermeiden.

    So weit ich das beurteilen kann, wäre ich eher skeptisch, weil man dann aus meiner Sicht zwei Systeme für ähnliche Aufgaben verwendet: das WordPress-Block-System und das Framework. Ich könnte mir vorstellen, dass es da durchaus Konflikte geben kann.

    Aufgefallen ist mir nur, dass du den folgenden Code für den Inhalt zwischen dem Template Part Header und Main nicht an der Stelle eingefügt hast, sondern im Bereich der Column

    			<!-- wp:paragraph -->
    			<p>Hier der Inhalt der Row zwischen Head und main Content</p>
    			<!-- /wp:paragraph -->

    Vielleicht kannst du noch beschreiben, warum dir die Optionen von WordPress nicht reichen und warum du das mit Bootstrap realisieren möchtest.

    Insofern wäre es vermutlich besser, wenn du dich mit den Entwicklern z. B. im Slack Channel #outreach dazu austauschst.

    Alternativ kann es auch hilfreich sein, wenn du diese Frage im Supportbereich des Block Themes stellst, das du verwendest.

    Evtl. reicht dir ja auch schon ein Plugin wie z. B. All Bootstrap Blocks.

    Viele Grüße
    Hans-Gerd

    Thread-Starter Uwe T.

    (@uwe367)

    Hallo @hage

    dann ist mir da wohl ein Fehler passiert, sorry.

    Warum ich gerne mit Bootstrap arbeite – ich arbeite schon sehr viele Jahre damit, ich kenne das Framework, bin die Arbeit und den Umgang damit gewohnt, kenne die Klassen und würde nur sehr ungern meine Arbeit damit an den Nagel hängen. Frei nach dem Motto – never change a running System.

    Das Plugin All Bootstrap Blocks hatte ich bereits installiert und ja, ich war begeistert davon, aber es ist nur bis WP Version 6.8.5 getestet und vom Entwickler für die 7 nicht frei gegeben, was ich sehr schade finde.
    Es läuft zwar auch in der Version 7, das habe ich festgestellt, aber wenn der Entwickler das Plugin nicht weiter entwickelt – und danach sieht es aus – und nicht an neue Versionen anpasst, wird es irgendwann nicht mehr laufen und dann fange ich an, nach einer Alternative zu suchen. Bevor das passiert, gehe ich lieber den Weg, das Framework manuell einzubauen.

    Ich arbeite auch noch mit einen anderen CMS bei dem die Einbindung von Bootstrap gar kein Problem darstellt, da man bei diesem sein eigenes HTML Grundgerüst mit Platzhaltern als Haupttemplate verwendet.
    Allerdings möchte ich nicht nur bei einem CMS bleiben und so bin ich bei WP gelandet und versuche nun das, was ich mit dem anderen System umgesetzt habe, mit WP umzusetzen, was mich aber vor ein paar Hürden stellt, die aber sicherlich nicht unlösbar sind.

    Moderator Hans-Gerd Gerhards

    (@hage)

    Hallo @uwe367,
    danke für die Erläuterungen.

    dann ist mir da wohl ein Fehler passiert, sorry.

    Klappt es denn, wenn du den Fehler korrigiert hast?

    Viele Grüße
    Hans-Gerd

    Thread-Starter Uwe T.

    (@uwe367)

    Hallo @hage ,
    es ist doch kein Fehler, ich hatte es wahrscheinlich nur etwas mißverständlich ausgedrückt.
    Zwischen den Header und den Hauptcontent soll noch eine Row und die ist dem Fall da richtig platziert, siehe Screenshot.

    Das ist nur die grobe Vorlage, also noch nicht fertig. Hier fehlen noch sämtliche Formatierungen und und und, aber um zu verstehen, auszuprobieren und testen genügt diese erst einmal. Unabhängig davon werden Änderungen am Template vom Blockeditor nur dann übernommen, wenn ich das Template vorher zurück setze und darum dreht sich mein Anliegen.
    Kurzfassung:
    – Template in einem Codeeditor ändern und vom Codeeditor aus speichern
    – Template zurücksetzen
    – Blockeditor refreshen
    – Änderungen werden übernommen, aber auch nur dann, wenn ich zuvor das Template wie in Step 2 zurück gesetzt habe.

    Was ich aber heute morgen noch festgestellt habe ist, dass die Änderungen am Template nach einem Refresh des Blockeditors übernommen werden, solange ich das Template noch nicht über den Blockeditor gespeichert habe (Button „speichern“).
    Werden eventuell die Templatedaten in der DB gespeichert, wenn ich das Template über den Blockeditor speichere? Das würde das Verhalten zumindest einigermaßen erklären und das würde auch erklären, warum ich das Template nach einer Änderung zurück setzen muss. Erst dann wird die Tabellenspalte in der DB ebenfalls aktualisiert.

    Viele Grüße
    Uwe

    Moderator Hans-Gerd Gerhards

    (@hage)

    Hallo @uwe367,
    Änderungen am Template werden im Blockeditor zunächst nur im aktuellen Editor-Zustand gehalten. Erst beim Speichern schreibt WordPress die bearbeitete Template-Version in die Datenbank (wp_template / wp_template_part) und priorisiert diese gegenüber der Template-Datei im Theme.

    Deshalb können Änderungen nach einem Reload noch sichtbar sein, solange sie noch nicht gespeichert wurden, und nach dem Speichern oder Zurücksetzen wird der DB-Stand maßgeblich. Das würde auch erklären, warum eine Änderung erst nach dem Zurücksetzen bzw. erneuten Speichern sauber auftaucht.

    Weitere Infos dazu findest du z. B. auch in der Doku: https://developer.wordpress.org/block-editor/explanations/architecture/full-site-editing-templates/

    Viele Grüße
    Hans-Gerd

    Thread-Starter Uwe T.

    (@uwe367)

    Hallo @hage
    das erklärt es und bestätigt, was ich in meinem letzten Posting vermutet hatte.
    Vielen Dank Dir für deine Mühe.

    Ich markiere den Thread als gelöst.

    Moderator La Geek

    (@la-geek)

    Für mich funktioniert es, ohne das Template zurückzusetzen.
    Was bedeutet „Template zurücksetzen“ überhaupt?

    Ich füge ein dynamisches Feld einen dynamischen Block = „Site Title“ in die Row oberhalb hinzu, speicher das Template, fertig.
    Rufe ich die Seite auf, dann wird oben der Seitentitel ausgegeben.

    Versuche es mal mit folgendem Code für das Template bootstrap.html:

    <!-- wp:template-part {"slug":"header"} /-->
    
    <!-- wp:group {"tagName":"main","className":"bootstrap-layout-wrapper","layout":{"type":"constrained"}} -->
    <main class="wp-block-group container">
    	
    	<!-- wp:group {"layout":{"type":"default"}} -->
    		<div class="wp-block-group row">
    			<!-- wp:paragraph -->
    				<p>This is a group block.</p>
    			<!-- /wp:paragraph -->
    		</div>
        <!-- /wp:group -->
    	
    	<!-- wp:columns -->
    	<div class="wp-block-columns row">
    
    		<!-- wp:column -->
    		<div class="wp-block-column col-md-3">
    			<!-- wp:paragraph -->
    			<p>Hier Inhalte für die linke Spalte einfügen.</p>
    			<!-- /wp:paragraph -->
    		</div>
    		<!-- /wp:column -->
    
    		<!-- wp:column -->
    		<div class="wp-block-column col-md-6">
    			<!-- wp:post-featured-image /-->
    			<!-- wp:post-title {"level":1} /-->
    			<!-- wp:post-content /-->
    		</div>
    		<!-- /wp:column -->
    
    		<!-- wp:column -->
    		<div class="wp-block-column col-md-3">
    			<!-- wp:paragraph -->
    			<p>Hier Inhalte für die rechte Spalte einfügen.</p>
    			<!-- /wp:paragraph -->
    		</div>
    		<!-- /wp:column -->
    
    	</div>
    	<!-- /wp:columns -->
    
    </main>
    <!-- /wp:group -->
    
    <!-- wp:template-part {"slug":"footer"} /-->
    Thread-Starter Uwe T.

    (@uwe367)

    @la-geek

    danke Dir.
    Werde ich gerne ausprobieren und mich dann zurück melden.

    Viele Grüße
    Uwe

    Moderator La Geek

    (@la-geek)

    Und was ist:

    Template zurücksetzen?

    Thread-Starter Uwe T.

    (@uwe367)

    @la-geek
    Man hat ein hard coded Template, welches im Verzeichnis /theme/templates liegt, wie hier im Screenshot abgebildet, die bootstrap.html.
    Auf dieses greift der Blockeditor erstmal zu.

    Wenn ich das Template bearbeitet habe und es über den Button „speichern“ speichere, bleibt das hard coded Template zwar unangetastet, aber es wird im Prinzip eine Kopie mit den Bearbeitungen, die ich im Blockeditor durchgeführt habe, in der DB gespeichert und auf diese greift der Blockeditor bevorzugt zu, wenn ich die Erklärung von @hage richtig verstanden habe.

    Nun kommt der Knackpunkt.
    Nehme ich nachträglich Veränderungen an dem hard coded Template vor und möchte, dass diese im Blockeditor sichtbar werden, genügt es nicht, einfach den Editor zu refreshen da dieser nach wie vor auf das Template aus der DB zugreift.
    Also muss ich das Template, welches in der DB hinterlegt ist zurücksetzen (Datenbanktabelle leeren oder ähnliches), damit der Blockeditor wieder auf das hard coded Template zugreift und somit meine Änderungen daran sichtbar werden.
    Das dumme an der ganzen Sache ist nur, dass sämtliche Bearbeitungen durch den Blockeditor, die ich an der „alten“ Version des Templates vorgenommen habe, durch das Zurück setzen, ebenfalls zurück gesetzt, sprich gelöscht, werden.
    Nachdem ich das bearbeitete Template dann nochmals durch den Blockeditor speichere, wird dieses wieder in die DB geschrieben.

    Ich hoffe, dass das, was ich geschrieben habe, so in etwa hinkommt.

    Moderator La Geek

    (@la-geek)

    Ah, okay. Du hast bereits das Plugin „Create Block Theme“ installiert (jedenfalls laut Website-Zustandsbericht in deinem voherigen Thread). Falls nicht, erneut installieren und aktivieren.

    Nimm deine Änderungen im Site-Editor => all templates => Bootstrap Layout vor. Speicher ab.
    Nun klicke in der rechten Seitenleiste oben auf das Schraubenschlüssel-Icon, anschl. unten auf den Menüpunkt „Save Changes to Theme“. Die standardmäßig ausgewählten Checkboxen sollten ausreichend sein. KLick unten auf „Save Changes“.

    Nun lade die Datei/das Template bootstrap.hmtl erneut in deinen Texteditor. Die Änderungen, die du zuvor im Site-Editor vorgenommen hattest, wurden in das Template geschrieben, die DB vom Plugin refreshed.

    Bearbeite diese Datei nun weiter.

    Sollte so funkionieren.

    Thread-Starter Uwe T.

    (@uwe367)

    Danke für den Hinweis @la-geek .
    Das könnte tatsächlich funktionieren.
    Auf die Idee bin ich noch nicht gekommen, werde ich unverzüglich ausprobieren und ja, das Plugin ist installiert.

    Moderator Hans-Gerd Gerhards

    (@hage)

    Hallo @uwe367
    dann würde ich dir aber raten, vorher eine Sicherung zu erstellen. Ich habe an das Plugin auch schon gedacht, aber nachdem du die Änderungen über „Save changes to theme“ gespeichert hast, kannst du die Templates evtl. nicht mehr bearbeiten (da bin ich aber nicht sicher, weil es schon etwas länger her ist, wo ich das gemacht habe).

    Das mache ich in der Regel erst ganz am Schluss der Entwicklung.

    Viele Grüße
    Hans-Gerd

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 30)

Du musst angemeldet sein, um auf dieses Thema zu antworten.