Page 1 of 2

Content auf der Startseite editierbar machen

Posted: Thu Apr 30, 2020 10:37 am
by koljaxyz
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!

Re: Content auf der Startseite editierbar machen

Posted: Thu Apr 30, 2020 1:46 pm
by koljaxyz
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');
	}
?>

Re: Content auf der Startseite editierbar machen

Posted: Thu Apr 30, 2020 1:56 pm
by Edi
koljaxyz wrote: Thu Apr 30, 2020 10:37 am Allerdings – soweit ich das bisher verstanden habe – kann der User die Inhalte auf der Homepage dann nicht im Backend editieren.
Es können immer alle Inhalte, ob sie als Beiträge oder Seiten ausgegeben werden, im Backend bearbeitet werden.
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?
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:

Code: Select all

if ($WHERE_AM_I == 'page') {
   include(THEME_DIR_PHP.'page.php');
} else {
   include(THEME_DIR_PHP.'mainpage.php');
}

Re: Content auf der Startseite editierbar machen

Posted: Thu Apr 30, 2020 2:03 pm
by Edi
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');
	}
?>
Das ist etwas mehr Code, funktioniert aber auch.

Re: Content auf der Startseite editierbar machen

Posted: Thu Apr 30, 2020 6:35 pm
by koljaxyz
Danke.

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');
	}
?>
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.

Re: Content auf der Startseite editierbar machen

Posted: Thu Apr 30, 2020 11:46 pm
by Edi
koljaxyz wrote: Thu Apr 30, 2020 6:35 pm 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.
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');
}

Re: Content auf der Startseite editierbar machen

Posted: Fri May 01, 2020 11:12 am
by koljaxyz
Ich habe den Code in die index.php gepackt, das verursacht einen Error.
Was meinst Du mit "auch das Page Template drunter ausgegeben"?
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.

Image

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?

Re: Content auf der Startseite editierbar machen

Posted: Fri May 01, 2020 1:40 pm
by Edi
koljaxyz wrote: Fri May 01, 2020 11:12 am Ich habe den Code in die index.php gepackt, das verursacht einen Error.
Welchen Code verwendest Du nun?
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?
Das funktioniert derzeit noch nicht.

Re: Content auf der Startseite editierbar machen

Posted: Fri May 01, 2020 2:30 pm
by koljaxyz
Edi wrote: Fri May 01, 2020 1:40 pm Welchen Code verwendest Du nun?
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');
	}
?>
Aber ich möchte ja für die Kontaktseite ein weiteres Template verwenden.

Re: Content auf der Startseite editierbar machen

Posted: Fri May 01, 2020 5:49 pm
by Edi
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:

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');
   }
}