Sie sind nicht angemeldet.

1

Freitag, 19. Dezember 2014, 15:12

Modul erstellen: Seitennavigation im Frontend

Hallo zusammen,

erstmal großes Lob an die cms2day Entwickler. Ein kleines, schmales aber sehr gelungenes CMS.
Gefällt mir sehr gut :)

Zu meiner Frage:

Ich möchte bzw. bin dabei ein Modul zu realisieren. Mit der Programmierung ansich komme ich sehr gut klar.
Das Backend ist bereits im Aufbau. Aber ich habe ein kleines Problem mit dem Frontend.
Wie funktioniert die Seitennavigation im Frontend?

In der admin.inc.php kann ich ohne weiteres auf irgendeine xx.inc.php Datei verlinken in der Form

Quellcode

1
index.php?seite=modul&modul=irgendeinmodul&datei=irgendeinedatei

Ich kann dadurch auf jede Seite im Modulordner zugreifen.

Beispielsweise habe ich eine Übersicht der Modulfunktionen mit den jeweiligen Links zu den Modulseiten.
Wie oben beschrieben klappt das Problemlos im Backend.

Im Frontend klappt das leider nicht. Was muss ich dort für die Verlinkung beachten?
Wie kann ich auf Seiten zugreifen die nicht im System registriert sind (kein include o.ä.)?

Vielen Dank und einen schönen Nachmittag noch.

René
__________________________________________________________________________
CMS:

cms2day Version 4.0.7

Werbung

djknuffel

Moderator

  • »djknuffel« ist männlich

Beiträge: 711

CMS Version: 4.0.1

Wohnort: Frankfurt a.M.

Paypal:

  • Nachricht senden

2

Freitag, 19. Dezember 2014, 15:36

für das frontend gibt es bis version 4.x die datei "frontend.inc.php", in dieser wird mit dem parametern $_GET['action'], $_GET['id'] und $_GET['extra'] gearbeitet:

PHP-Quelltext

1
2
3
4
5
6
7
if(isset($_GET['action']) && $_GET['action'] == "showtext") {
  // Hier jetzt dein Text
} elseif (isset($_GET['action']) && $_GET['action'] == "showtext" && isset($_GET['id']) && $_GET['id'] != '') {
  // hier jetzt dein Text mit spezieller ID
} else {
  print 'Hallo Welt";
}


innerhalb dieser if abfragen kommt dein modulinhalt rein(kann auch include von weiteren dateien seien, siehe folgend das Beispiel aus meinem modul cmcore für cms2day version 5(alternativ schau dir das modul news mal genauer an)

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
if(isset($_GET['action']) && $_GET['action'] == 'activate') {
        // => Account Aktivierung
        
    } elseif(isset($_GET['action']) && $_GET['action'] == 'lostpw') {
        // => Passwort vergessen
        print '<h2>'.$headtitle.' Passwort vergessen?</h2>';
        require_once('frontend/module/cmcore/include/lostpw.inc.php');
        
    } elseif(isset($_GET['action']) && $_GET['action'] == 'login') {
        // => Anmelden Benutzer
        print '<h2>'.$headtitle'Anmelden</h2>';
        require_once('frontend/module/cmcore/include/loginForm.inc.php');
        
    } elseif(isset($_GET['action']) && $_GET['action'] == 'logout') {
        // => Abmeldung erfolgt sofort mit Weiterleitung auf Startseite
        
    } elseif(isset($_GET['action']) && $_GET['action'] == 'terms') {
        // => Nutzungsbedingungen
        print '<h2>Nutzungsbedingungen</h2>';
        print cmBoxHeader();
        print cmPathReplace($modulSettings['terms']);
        print cmBoxFooter();
        
    } elseif(isset($_GET['action']) && $_GET['action'] == 'user') {
        // => Profilansicht
        print '<h2>Profil&uuml;bersicht</h2>';
        require_once('frontend/module/cmcore/include/profile.inc.php');
        
    } elseif(isset($_GET['action']) && $_GET['action'] == 'new') {
        // => Registrierung
        if($modulSettings['reg_active'] == 1) {
            require_once('frontend/module/cmcore/include/regForm.inc.php');            
        } else {
            $setMsg "Eine Registrierung ist derzeit nicht m&ouml;glich!";
            $setLink "";
            getMessage($setMsg"info"$setLink);
        }
    } else {
        
        if($_SESSION['cm_user_login'] == 1) {
            $link $cmSettings['page_dir'] .'/'.$cmCurrentPage['page'].'/user/';
            header ("Location: "$link);
            exit;
        } else {
            print '<h2>Community</h2>';
            print '<p>Um erweiterte Funktionen der Webseite in vollem Umfang nutzen zu k&ouml;nnen, ist ein kostenloser Account notwendig. ';
            print 'bitte beachten Sie auch unsere <a href="'buildLinkURL("","terms","") .'" title="Nutzungsbedingungen">Nutzungsbedinungen</a>!</p>';
            print '<p><a href="'buildLinkURL("","login","") .'" title="Anmelden">Anmelden</a>&nbsp;|&nbsp;<a href="'buildLinkURL("","new","") .'" title="Neu registrieren">neuen Account erstellen</a></p>';
            $link $cmSettings['page_dir'] .'/'.$cmCurrentPage['page'].'/login/';
            #header ("Location: ". $link);
            #exit;
        }
    }


$_GET['extra'] kommt meistens im Zusammenspiel mit der Blätterfunktion zum Einsatz
angewendet sieht ein seitenaufruf dann in etwa so aus:

http://www.deineseite.de/index.php?seite=test&action=showtext&id=1&extra=5

im beispiel meiner modul seite mit modrewrite etwa so:

http://www.deineseite.de/cmcore/login/ (Lofinformular)
http://www.deineseite.de/cmcore/user/1/ (Profil von Benutzer mit ID 1)
akrell.de - Informationen zu meinen Modulen für das cms2day System und meine Arbeiten als Hobbyfotograf

Werbung

3

Freitag, 19. Dezember 2014, 16:53

Herzlichen Dank :)

Das wollte ich wissen, ich muss also alles in der Frontend.inc.php reinpacken bzw. includen.

Schneller Top Support :D

Danke nochmals und frohe, besinnliche Feiertage!!

lg René
__________________________________________________________________________
CMS:

cms2day Version 4.0.7

Werbung