Neues "MultiOnePage" - Plugin

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
frase
Posts: 3559
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by frase » Tue Sep 08, 2020 1:36 pm

Holger wrote:
Tue Sep 08, 2020 1:27 pm
Schön ist der doppelte Code auf jeden Fall nicht. Bei Änderungen geht da auch schnell mal was unter / vergessen.
Richtig. Aber ich kann gut damit leben.
Du kannst dir das ja mal anschauen, wenn ich in 3 bis 4 Monaten mit dem Template fertig bin.
Holger wrote:
Tue Sep 08, 2020 1:27 pm
Na ja, aber eigentlich ist das ein Bug in alle Onepage-Plugins, wenn ich mich nicht irre.
Die vorgegebene Standardstruktur wird nämlich, bei den Spezialseiten, nie verwendet werden, oder?
Hm, ich glaube doch.
Es wird (bei normalen Onepagern) im Template eine Struktur vorgegeben und der Inhalt darin platziert - egal was es ist.
Dass eine Sitemap keinen Sinn macht, oder die Verwendung des Kontaktformulars innerhalb eines Onepagers zumindest fraglich ist - das war klar.

Holger
Site Admin
Posts: 3237
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by Holger » Tue Sep 08, 2020 1:40 pm

frase wrote:
Tue Sep 08, 2020 1:36 pm
Hm, ich glaube doch.
Stimmt. Eben nachgesehen. ... und nix kapiert :mrgreen: . Sicher, dass da z.B. class="onepage_page" mit in der Ausgabe ist?

Könntest Du bitte mal den kompletten Codeschnipsel mit dem Workaround für die Spezialseiten posten? Passend zu der veränderten Struktur?

Holger
Site Admin
Posts: 3237
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by Holger » Tue Sep 08, 2020 1:49 pm

frase wrote:
Tue Sep 08, 2020 1:36 pm
Es wird (bei normalen Onepagern) im Template eine Struktur vorgegeben und der Inhalt darin platziert - egal was es ist.
Aber die onepage_xxx - Klassen und die Id für die Überschrift wird per Plugin-Methode generiert. Auch beim ursprünglichen Onepage-Plugin. Da bin ich sicher, dass die komplette Struktur, ob angepasst oder nicht, bei den Spezialseiten fehlt.

frase
Posts: 3559
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by frase » Tue Sep 08, 2020 1:50 pm

Holger wrote:
Tue Sep 08, 2020 1:40 pm
Könntest Du bitte mal den kompletten Codeschnipsel mit dem Workaround für die Spezialseiten posten? Passend zu der veränderten Struktur?
Da ich nicht genau weiß was du vorhast, poste ich beide Dingers:
Deine Funktion ganz oben im Template:

Code: Select all

// variable page structure
// Holger Irmler
// https://cmsimpleforum.com/viewtopic.php?f=16&p=76703#p76701

class fhsOP3Controller extends Multionepage\Controller {
    
    public static function getContent($pages) {
        global $s, $o, $c, $edit, $plugin_cf, $pd_router;

        if (!($edit && XH_ADM) && $s > -1) {
            $contents = '';
            foreach ($pages as $i) {
                if ($plugin_cf['multionepage']['url_numeric']) {
                    $url = $i;
                } else {
                    $url = Multionepage\Urlify::makeUniqueUrl($i);
                }
                $pageData = $pd_router->find_page($i);
                $content = self::replaceAlternativeHeading($c[$i], $pageData);
                if (XH_ADM && !$edit) {
                    $content = self::renderEditlink($i) . $content;
                }
                $contents .= sprintf('
<section id="%s" class="onepage_page %s">
<div class="onepage_page-wrapper">%s
</div>
</section>
',
                    $url,
                    $pageData['multionepage_class'],
                    sprintf( '
<div class="%s">%s</div>',
                        $plugin_cf['multionepage']['inner_class'],
                        $content
                    )
                );
            }
            $o .= preg_replace('/#CMSimple (.*?)#/is', '', $contents);
        }
        return preg_replace('/<!--XH_ml[1-9]:.*?-->/is', '', $o);
    }
}

function fhsOP3_multionepage_content() {
    global $bjs, $edit, $l, $u, $s, $sn, $pd_router;

    if ($s > -1 && $l[$s] > 1 && (!XH_ADM || (XH_ADM && !$edit))) {
        $pageData = $pd_router->find_page($s);
        if ($pageData['multionepage_access']) {
            $bjs .= '<script>jQuery(".onepage_menu").hide();</script>';
            //return Multionepage\Controller::getContent(array($s));
            return fhsOP3Controller::getContent(array($s));
        }
        $t = Multionepage\Controller::getRoot($s);
        if (hide($t)) {
            return shead(404);
        } else {
            $path = $sn . '?' . $u[$t];
            header("Location: $path", true, 301);
            exit;
        }
    } else {
        $pages = Multionepage\Controller::getSubPages();
        return fhsOP3Controller::getContent($pages);
    }
}
Und hier die betreffende Stelle:

Code: Select all

<article>
<?php
if ((XH_ADM && $edit || $s < 0)
|| $f == 'search'
|| $f == 'mailform'
|| $f == 'sitemap'
|| isset($_GET['logout'])) :?>

<div class="onepage_page-wrapper">
<div class="onepage_page_inner">
<?php endif?>
<?=fhsOP3_multionepage_content()?>
<?php
if ((XH_ADM && $edit || $s < 0)
|| $f == 'search'
|| $f == 'mailform'
|| $f == 'sitemap'
|| isset($_GET['logout'])) :?>
</div>
</div>
<?php endif?>
</article>
Kommste klar, dadormit?

frase
Posts: 3559
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by frase » Tue Sep 08, 2020 1:55 pm

Holger wrote:
Tue Sep 08, 2020 1:49 pm
Aber die onepage_xxx - Klassen und die Id für die Überschrift wird per Plugin-Methode generiert. Auch beim ursprünglichen Onepage-Plugin. Da bin ich sicher, dass die komplette Struktur, ob angepasst oder nicht, bei den Spezialseiten fehlt.
Da müssen wir mal Ludwig fragen. Ich habe bisher nur Onepager gebaut, bei denen mir nichts davon aufgefallen ist (meistens mit manipulierter Struktur wie in fhs-op2).

Holger
Site Admin
Posts: 3237
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by Holger » Tue Sep 08, 2020 2:02 pm

frase wrote:
Tue Sep 08, 2020 1:50 pm
Kommste klar, dadormit?
Okay. Die manuelle Anpassung für die Spezialseiten liefert aber auch eine andere Struktur als das Plugin, ne ;) .

frase
Posts: 3559
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by frase » Tue Sep 08, 2020 2:06 pm

Beim Multionepager fhs-motley-tiles habe ich ein Kontaktformular ohne Probleme drin:
http://fhseidel.de/cmsxh/fhs-motley-tiles/?Impressum

Allerdings: Ruft man die Sitemap händisch auf, merkt man, was du meinst:
http://fhseidel.de/cmsxh/fhs-motley-tiles/?sitemap

frase
Posts: 3559
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by frase » Tue Sep 08, 2020 2:10 pm

Holger wrote:
Tue Sep 08, 2020 2:02 pm
frase wrote:
Tue Sep 08, 2020 1:50 pm
Kommste klar, dadormit?
Okay. Die manuelle Anpassung für die Spezialseiten liefert aber auch eine andere Struktur als das Plugin, ne ;) .
Richtig.
Das hat mir aber momentan völlig genügt (du kennst das Template noch nicht).
Falls da noch Probleme auftauchen, könnte man das ja ändern. Der Weg ist erstmal geebnet - dank Olaf.

Holger
Site Admin
Posts: 3237
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by Holger » Tue Sep 08, 2020 2:18 pm

frase wrote:
Tue Sep 08, 2020 2:10 pm
Richtig.
Das hat mir aber momentan völlig genügt (du kennst das Template noch nicht).
Ich frage mich ob es stören würde, wenn die Spezialseiten in der selben Struktur wie die Inhaltsseiten ausgegeben werden würden. Nur dann würde ein Anpassung ja Sinn machen.
Zum Beispiel hätte die Überschrift dann eine Id usw.
Der Einbau in das Plugin scheint mir gar nicht so schwierig zu sein...

frase
Posts: 3559
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Neues "MultiOnePage" - Plugin

Post by frase » Tue Sep 08, 2020 2:21 pm

Holger wrote:
Tue Sep 08, 2020 2:18 pm
Ich frage mich ob es stören würde, wenn die Spezialseiten in der selben Struktur wie die Inhaltsseiten ausgegeben werden würden. Nur dann würde ein Anpassung ja Sinn machen.
Zum Beispiel hätte die Überschrift dann eine Id usw.
Na, das war ja ursprünglich mein Plan. Klar wäre das besser. Das bisherige ist ja nur meine Krücke um weiterzukommen.
Holger wrote:
Tue Sep 08, 2020 2:18 pm
Der Einbau in das Plugin scheint mir gar nicht so schwierig zu sein...
Na denn man los, min Jung. ("Min Jung" hat nichts mit "minimal" zu tun und ist auch kein koreanischer Name. Nur norddeutsch für "Mein Junge".)

Post Reply