Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Normale Seite (html) in das Kategorie-Menü (-Box)

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #15 am: 09. Juni 2012, 18:33:37
    Ok, verstehe.
    Also im Beitrag 1 hatte ich ja schon den code für die "gunnart_Categories.inc" im Ordner \templates\MEINTEMPLATE\source\inc gezeigt. Habe da noch im \templates\MEINTEMPLATE\boxes\ die top_categories.html:
    Code: PHP  [Auswählen]
    {if $BOX_CONTENT}
    <div class="Box" id="TopCategories">
    {$BOX_CONTENT}
    </div>
    {/if}

    und im \templates\MEINTEMPLATE\source\boxes\ die top_categories.php:
    Code: PHP  [Auswählen]
    <?php

    /*
    // ------------------------------------------------------------------------------------------
            $Id top_categories.php ("Slim Categories")
           
            Copyright (c) 2008 Gunnar Tillmann / http://www.gunnart.de
    // ------------------------------------------------------------------------------------------
            fully rewritten, formerly based on:
            (c) 2000-2001 The Exchange Project (earlier name of osCommerce)
            (c) 2002-2003 osCommerce (categories.php, v1.23 2002/11/12); www.oscommerce.com
            (c) 2003 nextcommerce (categories.php, v1.10 2003/08/17); www.nextcommerce.org
            (c) 2005 xt:Commerce (categories.php, v1.302 2005/10/12); www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
           
            Released under the GNU General Public License
    // ------------------------------------------------------------------------------------------
            Third Party contributions:
            Enable_Disable_Categories 1.3
            Autor: Mikel Williams | mikel@ladykatcostumes.com
           
            Released under the GNU General Public License
    // ------------------------------------------------------------------------------------------
    */


            $box_smarty = new smarty;

    // ------------------------------------------------------------------------------------------
    // Cache-ID setzen
    // ------------------------------------------------------------------------------------------
            if(!CacheCheck() && !FORCE_CACHE) {
                    $cache=false;
                    $box_smarty->caching = 0;
            } else {
                    $cache=true;
                    $box_smarty->caching = 1;
                    $box_smarty->cache_lifetime = CACHE_LIFETIME;
                    $box_smarty->cache_modified_check = CACHE_CHECK;
                    $cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id'].$cPath;
            }
    // ------------------------------------------------------------------------------------------


    // ------------------------------------------------------------------------------------------
    //      Das alles braucht nur dann ausgeführt zu werden, wenn noch keine gecachtes
    //      HTML-File vorliegt
    // ------------------------------------------------------------------------------------------
            if(!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/top_categories.html',$cache_id) || !$cache) {
                   
                    require_once (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/inc/gunnart_Categories.inc.php');
                    $TopConfig = array(
                            'MinLevel'              =>      3,
                            'MaxLevel'              =>      3,
                            'HideEmpty'             =>      false,
                            'ShowCounts'    =>      false,
                            'CatNaviID'             =>      'TopCats'
                    );
                    $box_smarty->assign('language',$_SESSION['language']);
                    $box_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
                    $box_smarty->assign('BOX_CONTENT',gunnartCategories(0,1,$TopConfig));

            }
    // ------------------------------------------------------------------------------------------


    // ------------------------------------------------------------------------------------------
    //      Ausgabe ans Template
    // ------------------------------------------------------------------------------------------
            if(!$cache) {
                    $top_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/top_categories.html');
            } else {
                    $top_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/top_categories.html',$cache_id);
            }
            $smarty->assign('top_CATEGORIES',$top_categories);
    // ------------------------------------------------------------------------------------------

    ?>

    Ist da was anzupassen?

    Gruß
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #16 am: 09. Juni 2012, 19:19:16
    Verstehe, hatte nicht aufgepasst.
    Die gunnart_Categories.inc.php kenne ich gar nicht
    (wo liegt die ? war die Bestandteil des TOP-Menu-Einbaus ?)
    aber da hast du ganz unten folgendes stehen:
    Code: PHP  [Auswählen]
    // HTML-Output ...
                        if($Return) {
                                if($Level == 1) {
                                        $CSS .= ' id="'.$CatConfig['CatNaviID'].'"';
                                }
                                return  "\n<ul$CSS>$Return\n</ul>\n";
                        }

    Deshalb geht mein Vorschlag natürlich nicht, denn hier ist mit $Return der Inhalt zwischen den <ul></ul> bereits bestimmt.
    Du müsstest also noch ein zusätzliches $ReturnA, oder welche Variable auch immer, definieren und die so einbauen:
    Code: PHP  [Auswählen]
    // HTML-Output ...
                        if($Return) {
                                if($Level == 1) {
                                        $CSS .= ' id="'.$CatConfig['CatNaviID'].'"';
                                }
                                return  "\n<ul$CSS>$Return\n$ReturnA\n</ul>\n";
                        }

    Definieren müßtest du diese neue Variable dann so:
    Code: PHP  [Auswählen]
    $ReturnA = '<li class="CatLevel1">a href="'.xtc_href_link(DEIN_LINK).'">BLABLA</a></li>';
    oder zum Testen erstmal:
    Code: PHP  [Auswählen]
    $ReturnA = '<li class="CatLevel1">a href="http://www.DEIN_TESTLINK">BLABLA</a></li>';

    Die Definition am besten gleich über // HTML-Output ... einfügen.

    Der neu definierte Link wird allerdings aufgrund von
    Code: PHP  [Auswählen]
    if($Return) {
    nur auftauchen, wenn bereits "normale" Kat-Menupunkte vorhenden sind.

    Ist ein bisschen schwer wenn man die Dateien selbst nicht in einer Testumgebung genau so implementiert hat,
    müsste aber so gehen.
    Teste mal.

    Gruß,
    noRiddle

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #17 am: 09. Juni 2012, 19:31:23
    die gunnart_Categories.inc.php liegt im \templates\MEINTEMPLATE\source\inc Ordner, da wo auch xtc_show_category.inc.php liegt.
    Ich habe ein ganzes Template aufgesetzt und da war dieses Top-Menu Bestandteil davon.
    Muss ich dann diese Zeilen ganz unten
    Code: PHP  [Auswählen]
                    // HTML-Output ...
                    if($Return) {
                            if($Level == 1) {
                                    $CSS .= ' id="'.$CatConfig['CatNaviID'].'"';
                            }
                            return  "\n<ul$CSS>$Return\n</ul>\n";
                    }
    durch deinen Vorschlag
    Code: PHP  [Auswählen]
        // HTML-Output ...
                            if($Return) {
                                    if($Level == 1) {
                                            $CSS .= ' id="'.$CatConfig['CatNaviID'].'"';
                                    }
                                    return  "\n<ul$CSS>$Return\n$ReturnA\n</ul>\n";
                            }
    ersetzen oder ergänzen mit der Definition für $ReturnA?

    Gruß
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #18 am: 09. Juni 2012, 19:55:44
    Sorry, aber hatte ich mich mißverständlich ausgedrückt ?

    So, direkt unter der schließenden while-Klammer:
    Code: PHP  [Auswählen]
        $ReturnA = '<li class="CatLevel1">a href="http://www.DEIN_TESTLINK">BLABLA</a></li>';
            // HTML-Output ...
                                if($Return) {
                                        if($Level == 1) {
                                                $CSS .= ' id="'.$CatConfig['CatNaviID'].'"';
                                        }
                                        return  "\n<ul$CSS>$Return\n$ReturnA\n</ul>\n";
                                }
     

    Gruß,
    noRiddle

    *NACHTRAG*
    Das hier $ReturnA\n kannst du ja einfach in den bestehenden Code einfügen, mußt halt darüber lediglich die Variable definieren, wie angegeben...

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #19 am: 09. Juni 2012, 19:56:37
    aaaalso, habe folgenden Code ganz unten nun stehen:
    Code: PHP  [Auswählen]
                    $ReturnA = '<li class="CatLevel1"><a href="http://www.kiqai.de">kiQai</a></li>';
                    // HTML-Output ...
                            if($Return) {
                                    if($Level == 1) {
                                            $CSS .= ' id="'.$CatConfig['CatNaviID'].'"';
                                    }
                                    return  "\n<ul$CSS>$Return\n$ReturnA\n</ul>\n";
                            }
    jetzt funktioniert es. Da hat aber bei dir in der Definition für $ReturnA vor dem a href das < gefehlt :-)

    Jetzt muss ich das nur noch mit der Funktion xtc_href_link hinbekommen.
    Was müsste denn in dem aktuellen Code rein, wenn ich die neue Kategorie auf eine interne Content-Seite verlinken wollte?

    Besten Dank und viele Grüße
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #20 am: 09. Juni 2012, 20:06:45
    Na komm' jetzt, die von mir vergessene Klammer ist ja jetzt nicht entscheidend, du kannst ja auch was und hast's ja jetzt hinbekommen.

    Was lange währt...

    Wohin willst du denn linken ?
    Z.B. für 'ne Contentseite:
    Code: PHP  [Auswählen]
        $ReturnA = '<li class="CatLevel1">a href="'.xtc_href_link(FILENAME-CONTENT, 'coID=7').'">BLABLA</a></li>';
    (coID=7 ist nur ein Beispiel, bei mir ist es die contact_us-Seite)

    Willst du eine völlig neu definierte Seite verlinken die im Root liegt, definierst du eine Konstante dafür in /includes/filenames.php und benutzt die dann in der Funktion.

    So, jetzt hamma's aber, oder ?

    Gruß,
    noRiddle

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #21 am: 10. Juni 2012, 15:25:40
    Wollt ja nur hinweisen :-D
    Genau, zu einer Contentseite. Wenn ich in xtc_href_link(FILENAME-CONTENT, 'coID=7') eingebe, ensteht ein Link mit shop.de/index.php?coID=7. Anstelle des "index" muss aber bei mir shop_content stehen, also shop.de/shop_content.php?coID=7, so sind die ganzen Contentseiten hinterlegt. Wo ist dieses definiert?

    Gruß
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #22 am: 10. Juni 2012, 15:31:14
    • war da wieder ein kleiner Fehler, das muß natürlich FILENAME_CONTENT (mit Unterstrich) heißen
    • sagte ich bereits wo die Konstanten für die Filenames definiert sind, in der /includes/filenames.php

    Gruß,
    noRiddle

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #23 am: 10. Juni 2012, 15:39:43
    ok ok, jetzt hab ich den Dreh raus :-)

    Vielen Dank für den tollen Support  :thx:

    Gruß
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #24 am: 10. Juni 2012, 15:42:31
    Dafür haben wir jetzt 23 Posts gebraucht... das ist schlecht  :-PP

    Gruß,
    noRiddle

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #25 am: 10. Juni 2012, 15:49:01
     :whistle:
    von nun an wirds kürzer :-D
    Hauptsache hat Deutschland in dieser Zeit den ersten Sieg geholt :cheers:

    Gruß
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #26 am: 10. Juni 2012, 15:51:52
    Naja, der Sieg war glücklich, gut Spielen sieht anders aus.
    Abzuwarten ob sie sich noch steigern...

    Gruß,
    noRiddle

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #27 am: 15. Juni 2012, 21:04:10
    Servus,

    da ist doch noch n kleiner Bug drin @noRiddle.
    Rechts nach den automatisch erstellten Hauptkategorien, kommt die neu Kategorie wie wir es erstellt haben. So weit so gut. Allerdings erscheint diese Hauptkategorie mit Namen bei den automatisch erstellten Hauptkategorien in der Unterkategorie (s. Bild). Was muss man da ändern? :-S

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Beste Grüße
    Mike

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.029
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #28 am: 15. Juni 2012, 23:16:09
    Tja, dann ist die gunnart_Categories.inc.php wohl für beide Menus zuständig, wie gesagt, kenne die Topmenu-Erweiterung nicht.
    Mußt du halt schauen mit welcher Änderung das Topmenu gebaut wird und in die gunnart_Categories.inc.php 'ne if-Konstruktion einbauen.
    Damit ich dazu etwas sagen kann, müsste ich wissen wie das Topmenu generiert wird.

    Gruß,
    noRiddle

    Mike_is_on

    • Neu im Forum
    • Beiträge: 45
    • Geschlecht:
    Re: Normale Seite (html) in das Kategorie-Menü (-Box)
    Antwort #29 am: 18. Juni 2012, 15:11:12
    Ich habe mir das mal als kein-php-experte angeschaut. Ich denke, das Topmenü wird in der top_categories.php in MEINTEMPLATE/source/boxes/ generiert:
    Code: PHP  [Auswählen]
    <?php

            $box_smarty = new smarty;

    // ------------------------------------------------------------------------------------------
    // Cache-ID setzen
    // ------------------------------------------------------------------------------------------
            if(!CacheCheck() && !FORCE_CACHE) {
                    $cache=false;
                    $box_smarty->caching = 0;
            } else {
                    $cache=true;
                    $box_smarty->caching = 1;
                    $box_smarty->cache_lifetime = CACHE_LIFETIME;
                    $box_smarty->cache_modified_check = CACHE_CHECK;
                    $cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id'].$cPath;
            }
    // ------------------------------------------------------------------------------------------


    // ------------------------------------------------------------------------------------------
    //      Das alles braucht nur dann ausgeführt zu werden, wenn noch keine gecachtes
    //      HTML-File vorliegt
    // ------------------------------------------------------------------------------------------
            if(!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/top_categories.html',$cache_id) || !$cache) {
                   
                    require_once (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/inc/gunnart_Categories.inc.php');
                    $TopConfig = array(
                            'MinLevel'              =>      3,
                            'MaxLevel'              =>      3,
                            'HideEmpty'             =>      false,
                            'ShowCounts'    =>      false,
                            'CatNaviID'             =>      'TopCats'
                    );
                    $box_smarty->assign('language',$_SESSION['language']);
                    $box_smarty->assign('tpl_path','templates/'.CURRENT_TEMPLATE.'/');
                    $box_smarty->assign('BOX_CONTENT',gunnartCategories(0,1,$TopConfig));

            }
    // ------------------------------------------------------------------------------------------


    // ------------------------------------------------------------------------------------------
    //      Ausgabe ans Template
    // ------------------------------------------------------------------------------------------
            if(!$cache) {
                    $top_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/top_categories.html');
            } else {
                    $top_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/top_categories.html',$cache_id);
            }
            $smarty->assign('top_CATEGORIES',$top_categories);
    // ------------------------------------------------------------------------------------------

    ?>

    Da die Funktion beide Menüs (Hauptkategorien & Unterkategorien) steuert, muss man doch irgendwo eine if-Funktion machen mit CatLevel damit die Zusatzkategorie nur bei einem der beiden Menüs auftaucht, oder? Bin mir grad nicht sicher, wie und wo das geht :-S

    Über Untersützung bin ich sehr dankbar :)

    Gruß
    Mike
    Shop Hosting
    0 Antworten
    1891 Aufrufe
    11. November 2013, 16:14:18 von reikem
    7 Antworten
    5336 Aufrufe
    03. Mai 2010, 14:35:03 von os-design.eu
    31 Antworten
    23915 Aufrufe
    15. März 2016, 19:58:15 von Teratek
    1 Antworten
    3742 Aufrufe
    02. Februar 2011, 20:52:29 von jannemann