Bright Side of Life - Headernavi ändern

Begonnen von thor69, 28 Januar 2009, 22:46:38

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

thor69

Es geht mir ums schnuckelige neue Theme "brightsideoflife", bei dem ich zu gerne die Navigationsknöpfe im Header ändern würde. Momentan sind standardmäßig "Home, News, Foum, Account, Impressum" eingebaut und trotz gründlicher Suche habe ich es nicht geschafft, diese Navi zu ändern - also sowohl die Linktitel als auch deren Ziele.

Vielleicht weiß jemand, wo ich vergessen habe nachzusehen... oder was gebastelt werden muss. Vielen Dank schon mal für eure Antworten.

xmjay

Hi &  :viannen_01:

In der Sprachdatei (vom pMx, nicht vom Theme), z.B. lang-german.php wird beispielsweise "define("_NEWSSHORT", "News");"
definiert.
In der "settings.php"  vom Theme steht dann z.B.
$themesetting['headnav'][_NEWSSHORT] = array(/* Newsmodul */
    'link' => 'modules.php?name=Stories_Archive',


Mit "modules.php?name=Stories_Archive" wird das Modul "Stories_Archive" bei klick aufgerufen.


Beispiel:
Um z.B. das Feedbackmodul in der Headernavigation einzubauen, schauen welche Sprachvariable das Feedbackmodul in der Sprachdatei des pragma Mx hat (_MXFEEDBACK) und der Aufruf über "modules.php?name=Feedback".

CMS-Version: pragmaMx 1.12.3 | PHP-Version: 5.2.12 | MySQL-Version: 5.1.66

powerline

hallo xmjay,
dieser Beitrag hat mir schon sehr geholfen meine Menüs an zu passen.
Mir ist aufgefallen, auch schon vor meinen Veränderungen das die "Rolloverfarbe" nicht bei allen Buttons bleibt obwohl man diese Funktion aufgerufen hat. Das gleiche passiert auch wenn ich zum Beispiel dort links aus zu im Inhaltsmanager erstellten Seiten hinterlege.
Kannst du oder irgendjemand hier mir einen Tipp geben wie ich das ändern kann?

vielen Dank

Andi

Moin :)

ich habe mal begonnen, eine Doku zu schreiben.
Hier der Anfang: http://themes.pragmamx.net/modules.php?name=Content&pa=showpage&pid=1
Ist zwar erstmal nur für das neue Element-Theme, aber der Punkt Navigationsbuttons im Kopfbereich des Themes passt auch zum brightsideoflife...
schön´s Grüssle, Andi

powerline

Hallo Andi,
vielen Dank das Du dich hier beteiligst.
Allerdings bringen mich deine Ausführungen nicht wirklich weiter.
Ich denke das liegt aber eher daran das meine php Kenntnisse beschränkt sind.

Hier mal ein Auszug aus meinem Code:

$themesetting['headnav'][_HOME] = array(/* Startseite */
    'link' => './',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        defined('MX_HOME_FILE'),
        ));

$themesetting['headnav'][_HISTORIE] = array(/* Historie */
    'link' => 'modules.php?name=Content&pa=showpage&pid=1',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Stories_Archive',
        MX_MODULE == 'News',
        MX_MODULE == 'Submit_News',
        MX_MODULE == 'Topics',
        ));

$themesetting['headnav'][_BBFORUM] = array(/* Forum */
    'link' => 'modules.php?name=Forum',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Forum',
        MX_MODULE == 'Forums',
        MX_MODULE == 'eboard',
        ));

$themesetting['headnav'][_YSACCOUNT] = array(/* Account */
    'link' => 'modules.php?name=Your_Account',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Your_Account',
        MX_MODULE == 'User_Registration',
        MX_MODULE == 'Private_Messages',
        (MX_MODULE == 'Userinfo' && !empty($GLOBALS['istheuser'])) ,
        (MX_MODULE == 'UserGuest' && isset($_REQUEST['op']) && $_REQUEST['op'] == 'view'),
        ));

$themesetting['headnav'][_MXFEEDBACK] = array(/* Kontakt */
    'link' => 'modules.php?name=Feedback',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Impressum',
        MX_MODULE == 'legal',
        ));


Hinweis: _HISTORIE hab ich der MX Sprachdatei zugefügt und der Link ist eine Seite aus dem Inhaltsmanager
alles andere ist im unveränderten Zusand!

daraus ergeben sich für mich zwei Fragen!

1. warum wird nicht nur bei meinem eingefügten Linktext nicht in der "Rolloverfarbe" angezeigt sondern auch bei z.B.
Forum und Kontakt?

2. wie würde hier für selbst erstellte Seiten das MX-Modul heißen?

Zitat'case' => array(
        MX_MODULE == 'Stories_Archive',
        MX_MODULE == 'News',
        MX_MODULE == 'Submit_News',
        MX_MODULE == 'Topics',
        ));



powerline

ok ich denke ich hab das Problem selber gelöst.
und zwar sind einige Module schon vorher denk ich falsch eingetragen gewesen.
Z.B. beim MX-Feedback war das MX Modul für das Impressum und die AGB eingetragen.
Bei meinen selbst erstellten Seiten hab ich jetzt das MX_Content eingetragen und nun klappt es auch mit den Rolloverfarben und den aktiven Farben zum passenden link.

das ganze sieht dann jetzt so aus

$themesetting['headnav'][_HISTORIE] = array(/* Historie */
    'link' => 'modules.php?name=Content&pa=showpage&pid=1',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Content',
        ));

$themesetting['headnav'][_MXFEEDBACK] = array(/* Kontakt */
    'link' => 'modules.php?name=Feedback',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Feedback',
        ));


Gruß powerline

powerline

jetzt dachte ich das die Lösung die ich gefunden habe gut und logisch ist aber leider ist das nicht so. wenigstens nicht ganz.
Bei meinem zweiten link der Umbau heist funktioniert die Methode leider nicht.
Wenn ich nun den zweiten link anklicke wird der link Historie dafür farblich hinterlegt.
Jetzt dachte ich das kommt daher weil ich ja beidesmal das MX_Modul "Content" dafür ansteuere und habe einfach das Modul nochmal auf dem Server erstellt und einfach 'Content_umbau'
benannte.
Das funktioniert so nicht,
meine Frage nun:
Muss ich das von mir erstellte Modul "Content_umbau" noch irgendwo eintragen in anderen PHP Dateien damit MX überhaupt weis das ich da etwas neues erstellt habe?

$themesetting['headnav'][_HOME] = array(/* Startseite */
    'link' => './',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        defined('MX_HOME_FILE'),
        ));

$themesetting['headnav'][_HISTORIE] = array(/* Historie */
    'link' => 'modules.php?name=Content&pa=showpage&pid=1',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Content',
        ));

$themesetting['headnav'][_UMBAU] = array(/* Umbau */
    'link' => 'modules.php?name=Content&pa=showpage&pid=2',
    'logo' => $themesetting['defaultheaderimage'],
    'case' => array(
        MX_MODULE == 'Content_umbau',
        ));



powerline

#7
also auf die Gefahr hin das ich jetzt nerve, aber ich denke ich hab den fehler wieder gefunden.

und zwar hab ich noch folgende stelle angepasst:


    'link' => 'modules.php?name=Content_umbau&pa=showpage&pid=2',


zuerst dachte ich es funktioniert nicht, es kam die Fehlermeldung "das Modul ist nicht aktiv".
Hab dann in der Administration die Funktion "Module" angeschaut und dachte mir laienhaft das sich dort eventuell das von mir dublizierte Modul eingetragen hat. Die Module tragen sich hier ein aber damit der zweck erfüllt wird musste ich die Module nicht aktivieren.
Als ich wieder auf die Startseite ging um mein Menü zu testen ging es plötzlich.
Warum jetzt davor die Meldung "Modul nicht aktiv" kam ist mir ein Rätsel aber ich bin zufrieden das es jetzt geht.

Ich hoffe damit eventuell auch anderen geholfen zu haben.

Gruß powerline