WebsiteBaker Support (2.8.x) > Templates, Menus & Design
Template HORTAL: verschiedene Probleme
Gast:
Zur Aufklärung....
DV hat ja im verlinkten Beitrag schon geschrieben, um was es geht. Früher war es so, das die Startseite und einige andere Seiten wie z.B. Suchergebnisse oder Wartungsmeldung keine Definition von $page_id hatten. Das wiederum hat zu Problemen geführt, z.b. wenn man einen Redirect auf der Startseite hat, z.b. ein Kontaktformular. Diese funktionieren nämlich nur über eine Page-ID.
Die Abfragen in den älteren Templates zielten auch genau auf diese fehlende Page_ID ab und waren zu damaliger Zeit ein einfacher Weg zur Ermittlung der Startseite.
der Originalcode:
$isstartpage = false;
if ( !isset($page_id) ) { $isstartpage = true; }
if ( isset($template_id) AND $page_id==1) { $isstartpage = true; }
eine "Übersetzung"
Zeile 1: $isstartpage ist unwahr, wurde nicht definiert
Zeile 2: ist keine Definition von $page_id vorhanden, müßte es die Startseite sein. (Wie DV im verlinkten Beitrag erklärt hat, ist das schon seit ein paar Jahren geändert, genau seit WB 2.11.0 und $page_id steht immer zur Verfügung. Deshalb läuft diese Abfrage ins Leere und $isstartpage ist immer noch false, also unwahr bzw nicht definiert.
Zeile 3: wurde $template_id definiert UND ist $page_id == 1, müßte es die Startseite sein. (vorausgesetzt, die Startseite hätte die ID == 1)
$template_id ist eine Variable, die der Templateautor auf seinen Domains benutzt. Hat man sie als Benutzer nicht selbst in Gebrauch, kann diese Abfrage also immer nur unwahr sein, demzufolge wäre auch $isstartpage als Ergebnis unwahr bzw nicht definiert
Die Lösung von DarkViper:
if ($page_id === $wb->default_page_id) {
// Startseite
} else {
//beliebige andere Seite
}
$wb->default_page_id gibt als Ergebnis die im Backend eingestellte Startseite zurück, d.h. die oberste Seite im Seitenbaum. Ist diese Seite ein MenüLink, dann das Ziel davon
Die Abfrage "übersetzt"
" Ist die aktuelle Page-ID gleich der ermittelten Startseite aus $wb, ist es die Startseite, wenn nicht (else), ist es nicht die Startseite"
--- Quote ---Die Seite bleibt dann weiß.
--- End quote ---
Eine weiße Seite deutet auf einen PHP-Fehler hin und nicht etwa auf das Resultat solcher Abfragen. Diese Abfragen zielen nur darauf ab, zu ermitteln, ob Startseite JA oder NEIN. Abhängig vom Ergebnis, kann man dann andere Dinge schalten, z.b. großes Headerbild vs kleines Headerbild, Headerslider vs starres Headerbild, Breadcrumb oder nicht usw. Im schlimmsten Fall kann also nicht ermittelt werden, ob du dich auf der Startseite befindest oder nicht und dann geht das Script davon aus, das es eben nicht die Startseite ist.
Ich bin mir da recht sicher, das der Fehler im Code liegt, ggf wurde zu wenig oder zuviel geändert. Am schnellsten hättest du eine Lösung, wenn du den entsprechenden Abschnitt kopierst, z.b. von Zeile 1 der index.php bis zum body-Tag oder du zippst diese index.php und hängst sie hier mit an.
Eine andere Möglichkeit wäre: in den Erweiterten WB-Optionen unter SERVER die PHP-Fehlerausgabe auf mindestens "Production" stellen. Dann erhälst du, je nach Fehler, eine Meldung direkt auf der Seite oder in der error.log, die du im Backend unter dem X-Button einsehen kannst.
astricia:
Zu Frage 1:
margin so lassen, wie es war, aber die Zeile mit box-shadow auf:
--- Code: ---box-shadow: none;
--- End code ---
setzen.
LG,
Astrid
grindmobil:
Es steht bei fast allen Templates:
Not recommended for WebsiteBaker > 2.10
Das hat einen Grund: Weil es Probleme gibt.
Es gibt auch andere Quellen für Templates, da steht das nicht. Das bedeutet aber nicht, dass es die Probleme nicht gibt, sondern nur, dass die Quelle alt ist.
Anmerken möchte ich auch noch:
Neben Hortal und Vertal gibt es auch noch die Templates Hortal WBCE und Vertal WBCE, die mit WB wohl gar nicht funktionieren.
Die Zeile:
if ( isset($template_id) AND $page_id==4) { $isstartpage = true; }
kann man komplett löschen. Sie dient nur dazu, in der Templatesuche die Seite "Dieses Template" ($page_id 4) als Startseite darzustellen.
Es passiert aber auch nichts, wenn man die Zeile belässt, weil: Die Variable $template_id wird NUR in der Templatesuche verwendet.
Gast:
--- Quote ---Das hat einen Grund: Weil es Probleme gibt.
--- End quote ---
Jau
und mit zwei Sätzen ist das Problem gelöst :wink:
hgs:
--- Quote from: grindmobil on August 15, 2019, 04:51:01 PM ---Es steht bei fast allen Templates:
Not recommended for WebsiteBaker > 2.10
Das hat einen Grund: Weil es Probleme gibt.
--- End quote ---
Lieber Chio
Ich verstehe dein Understatment hier nicht.
Ich nutze nur deine Tempalte mit WB 2.12.2 und php7.3 und ändere die 2 Dinge die zu Einträgen in der ErrorLog geführt haben.
Diese sind hier in einem sehr kompetenten Forum nachzulesen.
Also mach weiter so tolle Temlates und alle sind zufrieden. ;-)
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version