Content auf der Startseite editierbar machen
Hallo Bludit Forum,
ich arbeite mich gerade in Bludit rein, klappt auch alles ganz gut soweit, aber bei einer Sache bin ich mir nicht sicher, wie ich sie angehen soll. Ich möchte, dass auf der Startseite ein anderes Template benutzt wird als auf den Unterseiten. Ich weiß, dass das mit home.php und page.php geregelt wird. Allerdings – soweit ich das bisher verstanden habe – kann der User die Inhalte auf der Homepage dann nicht im Backend editieren.
Ich habe schon probiert, die Startseite auch als Static Page anzulegen und diese in den Einstellungen als Startseite festzulegen. Leider wird dann das page.php Template geladen und nicht mehr das home.php.
Ich bin ansich cool mit der Variante, eine Startseite als Staticpage anzulegen, dann taucht sie auch in der Navi auf. Kann ich dieser aber irgendwie ein eigenes Template verpassen? Geht das mit der Where_Am_I Funktion? Zum Beispiel: Ist der User auf der Seite mit dem Titel "Start", nutze das Template start.php, ansonsten nutze für alle anderes Seiten das page.php.
Vielen Dank und liebe Grüße!
ich arbeite mich gerade in Bludit rein, klappt auch alles ganz gut soweit, aber bei einer Sache bin ich mir nicht sicher, wie ich sie angehen soll. Ich möchte, dass auf der Startseite ein anderes Template benutzt wird als auf den Unterseiten. Ich weiß, dass das mit home.php und page.php geregelt wird. Allerdings – soweit ich das bisher verstanden habe – kann der User die Inhalte auf der Homepage dann nicht im Backend editieren.
Ich habe schon probiert, die Startseite auch als Static Page anzulegen und diese in den Einstellungen als Startseite festzulegen. Leider wird dann das page.php Template geladen und nicht mehr das home.php.
Ich bin ansich cool mit der Variante, eine Startseite als Staticpage anzulegen, dann taucht sie auch in der Navi auf. Kann ich dieser aber irgendwie ein eigenes Template verpassen? Geht das mit der Where_Am_I Funktion? Zum Beispiel: Ist der User auf der Seite mit dem Titel "Start", nutze das Template start.php, ansonsten nutze für alle anderes Seiten das page.php.
Vielen Dank und liebe Grüße!
Ich habe es hinbekommen mit einem Stückchen Code aus einem anderen Thread:
Code: Select all
<?php
if ($WHERE_AM_I == 'page') {
if ($page->slug() == 'home') {
include(THEME_DIR_PHP.'start.php');
} else {
include(THEME_DIR_PHP.'page.php');
}
} else {
include(THEME_DIR_PHP.'home.php');
}
?>
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Es können immer alle Inhalte, ob sie als Beiträge oder Seiten ausgegeben werden, im Backend bearbeitet werden.
Du kannst das Template home.php anpassen (was etwas heikel ist, da die Datei bei einer Aktualisierung überschrieben würde) oder ein eigenes Template (beispielsweise mainpage.php) erstellen und zuordnen:Ich bin ansich cool mit der Variante, eine Startseite als Staticpage anzulegen, dann taucht sie auch in der Navi auf. Kann ich dieser aber irgendwie ein eigenes Template verpassen?
Code: Select all
if ($WHERE_AM_I == 'page') {
include(THEME_DIR_PHP.'page.php');
} else {
include(THEME_DIR_PHP.'mainpage.php');
}
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Das ist etwas mehr Code, funktioniert aber auch.koljaxyz wrote: ↑Thu Apr 30, 2020 1:46 pm Ich habe es hinbekommen mit einem Stückchen Code aus einem anderen Thread:
Code: Select all
<?php if ($WHERE_AM_I == 'page') { if ($page->slug() == 'home') { include(THEME_DIR_PHP.'start.php'); } else { include(THEME_DIR_PHP.'page.php'); } } else { include(THEME_DIR_PHP.'home.php'); } ?>
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
Danke.
Und wie kann ich mehrere Templates zuordnen? Wenn Seite "Kontakt" ist aufgerufen, lade Kontakt.php
Also so funktioniert das schon mal auf der Kontaktseite. Allerdings wird so auf der Startseite nun auch das Page Template drunter ausgegeben und ich habe bisher keinen Weg gefunden, ohne Error aus der Nummer wieder rauszukommen.
Startseite -> Nur start.php
Kontakt -> Nur kontakt.php
Alle anderen Seiten -> page.php
Home.php habe ich jetzt gar nicht im Einsatz.
Und wie kann ich mehrere Templates zuordnen? Wenn Seite "Kontakt" ist aufgerufen, lade Kontakt.php
Code: Select all
<?php
if ($WHERE_AM_I == 'page') {
if ($page->slug() == 'home') {
include(THEME_DIR_PHP.'start.php');
}
if ($page->slug() == 'kontakt') {
include(THEME_DIR_PHP.'kontakt.php');
}
else {
include(THEME_DIR_PHP.'page.php');
}
}
else {
include(THEME_DIR_PHP.'home.php');
}
?>
Startseite -> Nur start.php
Kontakt -> Nur kontakt.php
Alle anderen Seiten -> page.php
Home.php habe ich jetzt gar nicht im Einsatz.
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Was meinst Du mit "auch das Page Template drunter ausgegeben"?
Du kannst folgendes verwenden:
Code: Select all
if ($WHERE_AM_I == 'page') {
if ($page->slug() == 'kontakt') {
include(THEME_DIR_PHP.'kontakt.php');
}
else {
include(THEME_DIR_PHP.'page.php');
} }
}
else {
include(THEME_DIR_PHP.'start.php');
}
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
Ich habe den Code in die index.php gepackt, das verursacht einen Error.
Wie funktioniert das eigentlich? Müsste ich dort "kontakt.php" eintragen? Oder nur "kontakt"? Also es funktioniert beides nicht. Wie erlaube ich meinem Theme Templates zuzuordnen?
Auf der Startseite wurde erst der Inhalt mit dem start.php Template dargestellt und dann noch zusätzlich mit dem page.php Template. Also doppelter Content.Was meinst Du mit "auch das Page Template drunter ausgegeben"?
Wie funktioniert das eigentlich? Müsste ich dort "kontakt.php" eintragen? Oder nur "kontakt"? Also es funktioniert beides nicht. Wie erlaube ich meinem Theme Templates zuzuordnen?
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Welchen Code verwendest Du nun?
Das funktioniert derzeit noch nicht.Wie funktioniert das eigentlich? Müsste ich dort "kontakt.php" eintragen? Oder nur "kontakt"? Also es funktioniert beides nicht. Wie erlaube ich meinem Theme Templates zuzuordnen?
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets
Der Code, den du als letztes hier geschrieben hast, unter "Du kannst folgendes verwenden:" hat den Ferhler bei mir verursacht. Folgenden Code habe ich jetzt gerade drin und dieser funktioniert:
Code: Select all
<?php
if ($WHERE_AM_I == 'page') {
if ($page->slug() == 'home') {
include(THEME_DIR_PHP.'start.php');
}
else {
include(THEME_DIR_PHP.'page.php');
}
}
else {
include(THEME_DIR_PHP.'home.php');
}
?>
- Edi
- Site Admin
- Posts: 3121
- Joined: Sun Aug 09, 2015 5:01 pm
- Location: Zurich
- Has thanked: 54 times
- Been thanked: 77 times
- Contact:
Sorry, ich habe da ein Durcheinander gemacht (ich war der Meinung ich hätte den Code einmal so verwendet und nicht mehr getestet).
Richtig ist:
Richtig ist:
Code: Select all
if ($WHERE_AM_I == 'page') {
if ($page->slug() == 'start') {
include(THEME_DIR_PHP.'start.php');
}
elseif ($page->slug() == 'kontakt') {
include(THEME_DIR_PHP.'kontakt.php');
}
else {
include(THEME_DIR_PHP.'page.php');
}
}
Clickwork - Websites mit Bludit | Planet Bludit - Tipps und Snippets