Intro page - Einstiegsseite

Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Intro page - Einstiegsseite

Beitrag von shadowcat »

Ich habe neulich zufällig festgestellt, daß man den Inhalt einer Einstiegsseite nicht speichern kann, weil das dazugehörige Script fehlt. In dem Zusammenhang habe ich mich nun etwas intensiver mit dem Thema Intro page beschäftigt und bin auf ein paar Fragen gestoßen, die ich gern mit Euch diskutieren würde.

Grundsätzlich kann man zunächst mal das Bearbeiten der Intro page mit oder ohne WYSIWYG-Editor durchführen. Hier treten zwei weitere Probleme auf:
  1. Bei unserem CKE wird auf der Intro (bearbeiten) Seite das Javascript nicht geladen. Um das zu beheben, ist eine Änderung im CKE-Modul notwendig.
  2. Wenn man dann den CKE geladen hat, "optimiert" dieser beim Speichern <html>, <body> usw. weg. Das Problem ist nun, daß man bei der Intro page ja vielleicht auch mit Javascript und CSS arbeiten möchte, von Meta und Title gar nicht zu reden.
Zudem möchte man ja vielleicht statt WYSIWYG-Inhalten lieber PHP-Logik drin haben. Daher müßte man eigentlich wählen können, ob man WYSIWYG oder Code oder was auch immer haben will.

Grundsätzlich ist zu sagen, daß das ganze Thema Einstiegsseite bei WB ziemlich stiefmütterlich, fast zu sagen alibimäßig behandelt wurde. Das meine ich gar nicht als Kritik, wenn man sich tiefer mit dem Thema beschäftigt, stößt man halt sehr schnell auf diverse Wenn's und Aber's und Vielleicht's und und und. Ich stehe jetzt vor der Frage, ob ich die Einstiegsseite nicht einfach komplett streiche. Denn so wie ich das sehe, könnte man die Einstiegsseite genauso gut als normale CMS-Seite gestalten und hätte dann alle Möglichkeiten: Man kann wahlweise WYSIWYG- oder Code-Sektionen (oder beides) verwenden, man kann Templates benutzen, man kann mit globalen oder seitenbasierten Kopfdateien arbeiten... Irgendwo erschließt sich mir der Sinn der entkoppelten Einstiegsseite nicht. Das einzige Argument wäre, daß eine entkoppelte Seite das CMS nicht braucht, aber auch da... warum?

Ich bin auf Eure Meinungen gespannt. Vielleicht benutzt ja jemand von Euch eine Einstiegsseite und kann meine Lücken füllen, was deren Daseinsberechtigung angeht. :D Ich hätte sie jetzt für meine private HP benutzt, um in die einzelnen Bereiche - wblib-Doku, "normale" Homepage etc. - zu verzweigen, aber das könnte ich mit einer normalen WYSIWYG-Seite auch erreichen.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
Morpheus
Beiträge: 1050
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von Morpheus »

... was deren Daseinsberechtigung angeht.
Schlicht und ergreifend -->Raus damit<--

Meine Meinung, hab ich auch noch nie gebraucht. :!:
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

Vielleicht ersetzen mit einem Haken / Button / whatever, um bei einer Seite der Wahl zu sagen: DAS ist meine Einstiegsseite. Derzeit sucht sich BC die selbst, indem es schaut, ob die Einstiegsseite aktiviert ist, ob eine existiert, und ansonsten die Seite mit dem niedrigsten Level und der niedrigsten sortorder sucht. Was ja auch reichen würde - die Seite im Tree ganz oben ist die Einstiegsseite, fertig.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

Okay, einen Haken hab ich entdeckt: Wenn ich eine Einstiegsseite haben will, die nicht im Menü auftauchen soll, muß ich tricksen. Wenn ich die Seite auf "versteckt" oder "keine" Sichtbarkeit stelle, wird sie bei der Suche der Rootseite ignoriert. Wenn ich sie aber sichtbar lasse, taucht sie auch im Menü auf. Workaround: Die Introseite als einzige Seite im Level 0 stehen lassen (alle anderen Seiten sind untergeordnet) und dann den Menülevel auf SM_ROOT+1 stellen.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von creativecat »

Also ich glaube, dass das ja eigentlich noch ein Rudiment ist. Durch den Wartungs-Modus und durch die Template-Varianten glaube ich ebenfalls, dass wir diese Funktion nicht mehr wirklich brauchen.
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

Bis auf obige Einschränkung stimme ich Dir zu. Wobei Maintenance und Intro eigentlich nichts miteinander zu tun haben.

Man könnte die Funktionalität als solche ja drin lassen - also wenn aktiviert und intro.php vorhanden die laden, sonst eine Seite suchen - und nur den halbgaren Bearbeiten-Kram entfernen.

Üblicherweise wird die Introseite verwendet, um beispielsweise auf verschiedene Sprachen zu verzweigen. Wenn man etwas cleverer vorgeht, könnte man eine automatische Browserspracherkennung in der Intropage unterbringen und den Besucher dann entsprechend umleiten. Das geht mit einer reinen CMS-Seite so ohne weiteres nicht, zumal wir (absichtlich) keinen Code-Editor haben. An anderer Stelle wird die Introseite verwendet, um auf verschiedene Subdomains zu verzweigen.

Das sind aber alles Dinge, die wir im Zusammenhang mit den geplanten SEO-Erweiterungen auch in den Seiteneigenschaften unterbringen könnten. Z.B. einen Haken "das ist die Einstiegsseite" und Optionen wie "nach Browsersprache verzweigen" oder "nach Subdomain verzweigen". Dann muß der Benutzer das nicht selber programmieren (=aus irgendwelchen Forenbeiträgen zusammen suchen), sondern nur noch sagen "wenn X dann Y", also "wenn Browsersprache = DE dann verzweige auf Seite XXX" mit "Default = DE". Und bei den Subdomains eine erweiterbare Liste mit Subdomain X -> Seite X, Subdomain Y -> Seite Y, Default = Seite A.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

Referenz:

Introseite für mehrsprachige Seiten -> http://websitebaker.org/de/hilfe/design ... seiten.php
Introseite für Subdomains -> https://www.webwork-magazin.net/website ... treiben/94
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

So, mal quick & dirty für automatische Sprachumschaltung. Voraussetzung: In der CAT_Helper_I18n muß die Funktion getBrowserLangs() auf public umgestellt werden.

Dann in der intro.php:

Code: Alles auswählen

<?php

$lang_to_page = array(
    'DE' => 2,
    'EN' => 1,
    'EN-US' => 1,
    'default' => 2
);
$page_id      = NULL;

require dirname(__FILE__).'/../framework/CAT/Helper/I18n.php';
require dirname(__FILE__).'/../framework/CAT/Helper/Page.php';

$lang  = new CAT_Helper_I18n();
$langs = $lang->getBrowserLangs();

foreach($langs as $l)
{
    if(isset($lang_to_page[$l]) || isset($lang_to_page[strtoupper($l)]))
    {
        $page_id = $lang_to_page[$l];
        break;
    }
}

if(!$page_id) $page_id = $lang_to_page['default'];

$properties = CAT_Helper_Page::getPage($page_id);

echo header('Location: '.$properties['href']);
Das Array $lang_to_page muß dann aus den Einstellungen kommen, ist ja wie gesagt quick & dirty. Was noch fehlt ist sowas wie "en-*", damit en-us, en-gb etc. nicht einzeln behandelt werden müssen.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

Achso, und die intro.php muß in der Tabelle class_secure eingetragen werden.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: Intro page - Einstiegsseite

Beitrag von shadowcat »

So, das hier funktioniert mit xx[-*], also EN, EN-US, EN-GB, ...

Code: Alles auswählen

<?php

$lang_to_page = array(
    'de-?.*' => 2,
    'en-?.*' => 1,
    'default' => 2
);
$page_id      = NULL;

require dirname(__FILE__).'/../framework/CAT/Helper/I18n.php';
require dirname(__FILE__).'/../framework/CAT/Helper/Page.php';

$lang  = new CAT_Helper_I18n();
$langs = $lang->getBrowserLangs();

foreach($langs as $l)
{
    foreach(array_keys($lang_to_page) as $m)
    {
        if(preg_match("~$m~i",$l,$match))
        {
            $page_id = $lang_to_page[$m];
            break 2;
        }
    }
}

if(!$page_id) $page_id = $lang_to_page['default'];

$properties = CAT_Helper_Page::getPage($page_id);

echo header('Location: '.$properties['href']);
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Antworten