#1 (permalink)  
Alt 16.02.2007, 23:55
Neuer Benutzer
 
Registriert seit: 12.01.2007
Beiträge: 6
Standard Unterkategorien in extra Box

Hallo,

ich möchte gerne, wenn man eine Hauptkategorie auswählt, dass die dazugehörigen Unterkategorien in einer extra Box anzeigen lassen.

Hier ein kleines Beispiel, was ich mir vorstelle... Bath Accessories, Bath Decor: Luxury Bath Accessories & Bath Items at Restoration Hardware

Ich habe mir eine Listenversion der xtc_show_category.inc.php runtergeladen, um die Kategorien besser mit CSS zu formatieren zu können.



PHP-Code:
<?php
/*
    -----------------------------------------------------------------------------------------
    $Id: xtc_show_category.inc.php 1262 2005-09-30 10:00:32Z mz $

    XT-Commerce - community made shopping
    http://www.xt-commerce.com

    Copyright (c) 2003 XT-Commerce
    -----------------------------------------------------------------------------------------
    based on: 
    (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
    (c) 2002-2003 osCommerce(categories.php,v 1.23 2002/11/12); www.oscommerce.com
    (c) 2003     nextcommerce (xtc_show_category.inc.php,v 1.4 2003/08/13); www.nextcommerce.org 

    Released under the GNU General Public License 
    -----------------------------------------------------------------------------------------
    Modified to get a cleaner HTML-output without tables
    Bugfix
    Shows, which categories have subcategories
    by Gunnar Tillmann
    http://www.gunnart.de
    -----------------------------------------------------------------------------------------
*/

function xtc_show_category($counter) {

global 
$foo$categories_string$id;


//start the loop
for ($a=0$a<$foo[$counter]['level']; $a++) 
    {}


if (
$foo[$counter]['level']==''//maincat
    
{
    if (
strlen($categories_string)=='0'
        {
        
$categories_string .='<ul class="navilist">';
        } 
    
$categories_string .='
        <li class="maincat'
;
    if (
xtc_has_category_subcategories($counter))
        {
        
$categories_string .= ' submenue';
        }
    
$categories_string .= '"><a class="';
    if ( (
$id) && (in_array($counter$id)) ) 
        {
        
$categories_string .= 'gewaehlt';
        }
    
$categories_string .= '" href="';
    } 

else 
//subcat
    
{
    
$categories_string .= '
        <li class="subcat level'
.$foo[$counter]['level'];
    if (
xtc_has_category_subcategories($counter))
        {
        
$categories_string .= ' submenue'.$foo[$counter]['level'];
        }
    
$categories_string .= '"><a class="';
    if ( (
$id) && (in_array($counter$id)) ) 
        {
        
$categories_string .= 'gewaehlt';
        }
    
$categories_string .= '" href="';
    }

$cPath_new=xtc_category_link($counter,$foo[$counter]['name']);

$categories_string .= xtc_href_link(FILENAME_DEFAULT$cPath_new);
$categories_string .= '">';

$categories_string .= $foo[$counter]['name'];

if (
SHOW_COUNTS == 'true'
    {
    
$products_in_category xtc_count_products_in_category($counter);
    if (
$products_in_category 0
        {
        
$categories_string .= ' <span class="catcount">(' $products_in_category ')</span>';
        }
    }

$categories_string .= '</a></li>';

if (
$foo[$counter]['next_id']) 
    {
    
xtc_show_category($foo[$counter]['next_id']);
    } 
else 
    {
    
$categories_string .= '
    </ul>'
;
    }
}

?>

Wie kann ich nun eine extra Box erstellen, wo dann die Unterkategorien von der aktiven Hauptkategorie angezeigt wird?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 17.02.2007, 13:44
Neuer Benutzer
 
Registriert seit: 12.01.2007
Beiträge: 6
Standard

Also ich habe bereits herausfinden können, welche Dateien für die Anzeige der Kategorien Navigation verwantwortlich sind...

das wären:

templates/eigenestemplate/source/boxes/categories.php
templates/eigenestemplate/source/inc/xtc_show_category.inc.php
templates/eigenestemplate/boxes/box_categories.html


Kann mir da jemand zustimmen. Leider weiß ich nicht wie ich nun eine Box erstelle in der nur die Unterkategorien angezeigt werden sollen...
jemand eine Idee oder ein Tipp der mich auf die richtige Richtung bringt?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3 (permalink)  
Alt 18.02.2007, 19:48
Neuer Benutzer
 
Registriert seit: 12.01.2007
Beiträge: 6
Standard

Hallo,
leider habe ich nicht viel Reaktion auf meine Fragen erhalten...:sad:
deshalb habe ich erstmal selber weiter gemacht und habe diese Anleitung abgearbeitet:

Zitat:
Erstellen einer neuen Box f?r XT-Commerce RC 1.2 (Version 1.0)

1. Eine bestehende Box kopieren und anpassen:

Gehen Sie in das Verzeichniss:

/template/ihrtemplate/source/boxes

Dort kopieren Sie z.b.: box_information.php in box_links.php
Das gleiche machen Sie im Verzeichniss:

/template/ihrtemplate/boxes

Hier kopieren Sie die box_information.html in box_links.html



2. ?ndern der Bezeichnungen in den beiden Files:

In der .php Datei ersetzen Sie alle Eintr?ge die "information" lauten,
mit "links".
Achten Sie darauf das folgender Code gro? geschrieben werden mu?:

$smarty->assign('box_INFORMATION',$box_information);

Hier also das INFORMATION in LINKS ?ndern




3. Neue Box in der boxes.php einbinden:
?ffnen Sie die Datei:

/template/ihrtemplate/source/boxes.php

Und f?gen Sie unter:

require(DIR_WS_BOXES . 'information.php');

folgendes ein:

require(DIR_WS_BOXES . 'links.php');




4. Smarty Tag in die Index.html einf?gen:
?ffnen sie die Datei "index.html" im Verzeichniss:

/template/ihrtemplate/

F?gen Sie {$box_LINKS} entweder in die Linke oder in die Rechte
Navigationsleiste ein.

<td>{$box_CART} {$box_LOGIN} {$box_INFOBOX} {$box_ADMIN} {$box_BESTSELLERS}
{$box_CURRENCIES} {$box_LANGUAGES} {$box_MANUFACTURERS_INFO}
{$box_MANUFACTURERS} {$box_NOTIFICATIONS} {$box_TELL_FRIEND} {$box_LINKS}
</td>




5. ?ndern des file_flag in der links.php:

$content_query=xtc_db_query("SELECT
content_id,
categories_id,
parent_id,
content_title,
content_group
FROM ".TABLE_CONTENT_MANAGER."
WHERE languages_id='".(int)$_SESSION['languages_id']."'
and file_flag=3 and content_status=1");

Hier ?ndern Sie bitte file_flag=0 auf file_flag=3




6. ?nderung in der Datenbank:
Gehen Sie in Ihre Datenbank. Dort finden Sie die Tabelle:

cm_file_flags

Erzeugen Sie einen neuen Eintrag und schreiben Sie f?r file_flag = 3
Und geben Sie der Box noch den Namen: links
Dieser Name wird dann in der Auswahlbox des Content-Managers stehen.




7. ?ndern der Sprachdatei:
Gehen Sie in des Verzeichniss:

lang/german/

?ffnen Sie die Datei: lang_german.conf
F?gen Sie im Abschnitt [boxes] (ziemlich weit unten) folgendes ein:

heading_linkbox = 'Spielelinks' (K?nnen Sie nat?rlich Ihren Begebenheiten anpassen)

?ffnen Sie Ihre links.html Datei und ?ndern Sie:
den Smarty Tag:

{#heading_infobox#}

in

{#heading_linkbox#}




8. Content erzeugen:
Melden Sie sich als Admin an, gehen Sie zum Content-Manager.
Erstellen Sie einen neuen Content. Jetzt sollten Sie bei "Box" die neue Box "links" ausw?hlen k?nnen
und der Box den neuen Content zuweisen.
Achten Sie darauf auch das K?stchen "Sichtbar" anzuklicken, da sonst Ihre neue Box erst
garnicht erscheint.
Bisher konnte ich nur bis zum Punkt 5 kommen.
Die Queryabfrage sieht bei templates/eigenestemplate/source/boxes/categories.php etwas anders aus.
Ich weiß nicht wie ich jetzt weitermachen soll.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4 (permalink)  
Alt 18.02.2007, 21:28
Erfahrener Benutzer
 
Registriert seit: 16.08.2006
Beiträge: 141
Standard

mit dem was du da schreibst, kannst du zwar eine neue box erstellen.
aber die inhalte dafür kannst du nur im content manager in diese box leiten,
da kannst du dann aswählen, dass es in der neuen box erscheint.
ein artikel zum beispiel:

Feuerlöscher und Zubehör zu Discountpreisen (Onlineshop)

dem habe ich die boxen angelegt, weil er die da alle so haben will.
wenn du nur bis 5 gekommen bist, reicht das dafür auch nicht.

das was du möchtest geht damit nicht.
du kannst ja unterkategorien erstellen, aber die sind dann eben unter deiner hauptkategorie zu sehen.

wie man das macht, was du da willst, weiß ich leider nicht.

vg

micha
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5 (permalink)  
Alt 22.02.2007, 12:43
Benutzer
 
Registriert seit: 21.06.2006
Beiträge: 32
Standard

Servus,

also das mit der neuen Box ist ja schonmal nicht schlecht.

Jetzt mußt Du nur noch dafür sorgen, das die Box nur eingeblendet wird, wenn eine Oberkategorie angeklickt wird. Und eben eine modifizierte Version der Funktion zur Erstellung der Kategorie enthält und so beschnitten ist, daß eben nur die Kinderkategorien der gerade aktiven Oberkategorie ausgespuckt werden.

Das würde ich als Vorgehensweise ansehen. Kann mich auch täuschen. Weis nicht genau. Was ich allerdings weis ist, das eine saubere Implementierung der Sache sicher nicht aus der hohlen Hand gerade so zu machen ist.

ciao, Stefan
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6 (permalink)  
Alt 23.02.2007, 10:14
Neuer Benutzer
 
Registriert seit: 12.01.2007
Beiträge: 6
Standard Lösung gefunden

Hallo,
ich habe eine Lösung gefunden

Wie bereits erwähnt habe ich die ersten vier Punkte der Anleitung abgearbeitet.

Also diese Dateien so modifiziert das ich eine Kopie der Kategorienanzeige hatte.

templates/eigenestemplate/source/boxes/categories.php
templates/eigenestemplate/source/inc/xtc_show_category.inc.php
templates/eigenestemplate/boxes/box_categories.html


Leider wurde die Seite danach komplett nicht mehr angezeigt.
Der Fehler lag darin, dass die Funktion xtc_show_category()
in den kopierten Dateien von
templates/eigenestemplate/source/boxes/categories.php
templates/eigenestemplate/source/inc/xtc_show_category.inc.php

umgenannt werden muss, z.B. in xtc_show_subcategory().

Danach hatte ich zwei Boxen mit jeweils der gleichen Kategoriennavigation.
Jetzt muss man nur noch von einer der Boxen die xtc_show_category.inc.php so modifizieren, so dass nur die Unterkategorien angezeigt werden.

Viele Grüße
doktormemo
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7 (permalink)  
Alt 23.02.2007, 10:28
Benutzer
 
Registriert seit: 21.06.2006
Beiträge: 32
Standard

Sag ich doch :-)

Gut gemacht. Wird die zusätzlich Box eigentlich auch ausgeblendet, wenn grad keine Oberkategorie angewählt ist?

tschüß, Stefan
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8 (permalink)  
Alt 23.02.2007, 18:59
Neuer Benutzer
 
Registriert seit: 12.01.2007
Beiträge: 6
Standard

Zitat:
Zitat von meniskus
Sag ich doch :-)

Gut gemacht. Wird die zusätzlich Box eigentlich auch ausgeblendet, wenn grad keine Oberkategorie angewählt ist?

tschüß, Stefan
Ja, sie bleibt ausgeblendet
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9 (permalink)  
Alt 13.05.2007, 23:24
Benutzerbild von sophie
Benutzer
 
Registriert seit: 08.01.2007
Beiträge: 28
Standard

Hallo,

könntest Du den Code Deiner xtc_show_subcategory,php zur Verfügung stellen?
Das würde mir sehr weiterhelfen.

Vorab vielen Dank :-)

Grüße

Sophie
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
box, extra, unterkategorien

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unterkategorien immer im Mittelteil fevon Installation und Konfiguration 17 14.03.2007 17:24
Unterkategorien in extra Box doktormemo Template System 0 16.02.2007 23:53
Unterkategorien in extra Box ausgeben xp24 Template System 0 18.12.2005 10:41


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand