OXID Community Forum

> German forum > Templates und Design > Level der Kategorie für Subnavigation auslesen/ermitteln
Login
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Thread: Level der Kategorie für Subnavigation auslesen/ermitteln


Reply
 
Thread Tools Display Modes
#Top   #1  
Old 07-20-2010, 10:49 AM
Inkafupo Inkafupo is offline
Junior Member
Join Date: Jul 2010
Posts: 8
Inkafupo is on a distinguished road
Default Level der Kategorie für Subnavigation auslesen/ermitteln

Hallo liebe Forengemeinde,

ich versuche derzeit eine Subnavigation zu modifizieren. Hierfür benötige ich die Angabe des aktuellen Levels der entsprechenden Kategoriebezeichnung (im Menü) - hier ein Beispiel:

- Startseite
- Produkte
-- Produkt 1
--- Details
--- Informationen
-- Produkt 2
-- Produkt 3
- Leistungen

Die Punkte "Startseite", "Produkte" und "Leistungen" entsprechen der obersten Ebene/des obersten Levels, also bspw. Level 1. Der Punkt "Produkt 1" ist Level 2. Der Punkt "Details" ist Level 3.

Wie kann ich nun diese Angabe auslesen/ermitteln lassen?

Ich habe bereits versucht (nachdem ich durch die Forensuche darauf gestoßen bin), mittels der Angabe "level=$level" in der Zeile

[{defun name="category_tree" tree=$tree act=$act class=$class testSubCat=''}]

der Datei category_tree.tpl den Parameter "$level" zu initialisieren, um dann mit der mittels

[{if $level==2}]

zu prüfen, ob es sich um das zweite Level handelt. Allerdings funktioniert dies nicht.

Hat jemand eine Idee, wie ich mir das Level der entsprechenden Kategorie ausgeben lassen kann?
Reply With Quote
#Top   #2  
Old 07-26-2010, 10:57 AM
coarsy's Avatar
coarsy coarsy is offline
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,393
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hi und guten Morgen,

was möchtest Du denn mit der Ausgabe des Levels denn erreichen?

Beste Grüße vom Chris
Reply With Quote
#Top   #3  
Old 07-26-2010, 11:11 AM
Inkafupo Inkafupo is offline
Junior Member
Join Date: Jul 2010
Posts: 8
Inkafupo is on a distinguished road
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hallo Chris,

ich möchte einfach bei Level == 2 eine andere CSS-Klasse (für die <li></li> Tags) einbinden.

Viele Grüße,
Inkafupo.
Reply With Quote
#Top   #4  
Old 07-26-2010, 11:20 AM
coarsy's Avatar
coarsy coarsy is offline
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,393
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hi Inka,

wieso machst Du das dann nicht einfach direkt über CSS-Selektoren?
Sprich, Du hangelst Dich durch die einzelnen Levels durch.
Quasi dann so:

PHP Code:
ul.tree li ul li {
background#555555;
font-size12px;
font-weightbold;

Dafür brauchst Du keinen Extra Level im Code auszugeben.

Viele Grüße vom Chris

Last edited by coarsy; 07-26-2010 at 11:28 AM.
Reply With Quote
#Top   #5  
Old 07-26-2010, 12:19 PM
Inkafupo Inkafupo is offline
Junior Member
Join Date: Jul 2010
Posts: 8
Inkafupo is on a distinguished road
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hallo Chris,

danke für deine Idee. Leider klappt die Umsetzung in diesem Fall nicht (ansonsten bräuchte ich den Level nicht, das stimmt).

Das Problem ist wie folgt: Meine category_tree.tpl baut die Subnavigation so auf:

<li>Startseite</li>
<li>Produkte</li>
<li>Produkt 1</li>

Es ist also keine weitere <ul></ul>-Unterteilung vorhanden, sodass es über das reine CSS-Handling nicht funktioniert. Um so etwas zu erreichen, müsste man entweder die category_tree.tpl so anpassen, dass für jede Unterkategorie eine neue <ul></ul>-Umgebung dargestellt wird oder man liest das Level aus, um es dann wie folgt zu machen:

<li>Startseite</li>
<li class="ebene1">Produkte</li>
<li class="ebene2">Produkte 1</li>.

Oder hast du eine andere Idee?

Viele Grüße,
Inkafupo.
Reply With Quote
#Top   #6  
Old 07-26-2010, 12:38 PM
coarsy's Avatar
coarsy coarsy is offline
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,393
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hi Inka,

das ist schon sehr merkwürdig. Du sprichst schon von der linksseitigen Category
Navigation. Also bei mir sind da definitiv weitere UL's vorhanden, auf die man zugreifen kann.
Alles Andere wäre HTML technisch nicht so der Hit.

Bei mir sieht das HTML folgendermaßen aus:

PHP Code:
<ul class="tree"><li><class="root exp has " href="#" id="test_BoxLeft_Cat_c21c2d4f5a1ed54ed792915a5886f70b_1">Strümpfe </a>
<
ul><li><class="last act " href="#" id="test_BoxLeft_Cat_c21c2d4f5a1ed54ed792915a5886f70b_sub1">Halterlose Strümpfe  (7)</a></li>
<
li><class="last " href="#" id="test_BoxLeft_Cat_c21c2d4f5a1ed54ed792915a5886f70b_sub2">Strapsstrümpfe  (1)</a></li>
<
li><class="last " href="#" id="test_BoxLeft_Cat_c21c2d4f5a1ed54ed792915a5886f70b_sub3">Alltagsstrümpfe </a></li>
</
ul>
</
li></ul
Also hat man hier ne eindeutige hierarchische Struktur,
auf die man nach Belieben zugreifen kann.

Viele Grüße vom Chris
Reply With Quote
#Top   #7  
Old 07-26-2010, 12:59 PM
coarsy's Avatar
coarsy coarsy is offline
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,393
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hab jetzt mal noch weitere SubSub Kategorien angelegt und ich muss
feststellen, dass auch hier ein weiteres unter UL gerendert wird...

Viele Grüße vom Chris
Reply With Quote
#Top   #8  
Old 07-26-2010, 01:29 PM
Inkafupo Inkafupo is offline
Junior Member
Join Date: Jul 2010
Posts: 8
Inkafupo is on a distinguished road
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hallo Chris,

bei der Standard-Datei (category_tree.tpl) werden die entsprechenden <ul></ul>-Umgebungen erzeugt, das ist richtig. Nun benutze ich aber eine abgewandelte Variante, damit z.B. in der Seitennavigation nicht die Kategorien erster Ebene angezeigt werden, sondern eben nur die Unterkategorien etc.

Der Code meiner category_tree.tpl sieht wie folgt aus:

PHP Code:
[{if $tree || $oView->getContentCategory() }]
[{
assign var="oContentCat" value=$oView->getContentCategory() }]
[{
defun name="category_tree" tree=$tree act=$act class=$class testSubCat=''}]
[{
strip}]
    
    [{
assign var="iCatCnt" value="1"}]
    [{foreach 
from=$tree item=ocat key=catkey name=$test_catName}]
        [{if ( !
$ocat->isTopCategory() || !$oView->showTopCatNavigation() ) && $ocat->getContentCats() }]
            [{foreach 
from=$ocat->getContentCats() item=ocont key=contkey name=cont}]
            
                   [{if 
$ocat->isTopCategory()}]
                    
                [{else}]
                    <
li>
                    <
a href="[{$ocont->getLink()}]">[{ $ocont->oxcontents__oxtitle->value }]</a>
                    </
li>
                [{/if}]
            
            [{/foreach}]
        [{/if}]
        [{if 
$ocat->getIsVisible() }]
        
                [{if 
$ocat->isTopCategory()}]
                    
                [{else}]
                    
                    [{if 
$ocat->expanded}]
                    
                        <
li class="activ">
                            <
a href="[{$ocat->getLink()}]">[{ $ocat->oxcategories__oxtitle->value }]</a>
                        </
li>
                    
                    [{else}]
                                                                
                        <
li>
                            <
a href="[{$ocat->getLink()}]">[{ $ocat->oxcategories__oxtitle->value }]</a>
                        </
li
                    
                    [{/if}]
                    
                [{/if}]
                
            [{if 
$ocat->getSubCats() && $ocat->expanded}]
                [{
fun name="category_tree" tree=$ocat->getSubCats() act=$act class="" testSubCat=$ocat->oxcategories__oxid->value }]
            [{/if}]
        
        [{/if}]
        [{
assign var="iCatCnt" value=$iCatCnt+}]
    [{
foreachelse}]
        [{if 
$oContentCat }]            
            <
li><a id="test_BoxLeft_Cms_0" class="root act" href="[{$oContentCat->getLink()}]">[{ $oContentCat->oxcontents__oxtitle->value }]</a></li>
        [{/if}]
    [{/foreach}]
   
[{/
strip}]
[{/
defun}]
[{/if}] 
Reply With Quote
#Top   #9  
Old 07-26-2010, 01:40 PM
coarsy's Avatar
coarsy coarsy is offline
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,393
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hi nochmal,

habs eben mal so getestet und scheint zu funktionieren.
Werde ich wohl bei mir auch einbauen, ist irgendwie schöner...

PHP Code:
[{if $tree || $oView->getContentCategory() }]
[{
assign var="oContentCat" value=$oView->getContentCategory() }]
[{
defun name="category_tree" tree=$tree act=$act class=$class testSubCat=''}]
[{
strip}]
  <
ul [{if $class}]class="[{$class}]"[{/if}]>   
    [{
assign var="iCatCnt" value="1"}]
    [{foreach 
from=$tree item=ocat key=catkey name=$test_catName}]
        [{if ( !
$ocat->isTopCategory() || !$oView->showTopCatNavigation() ) && $ocat->getContentCats() }]
            [{foreach 
from=$ocat->getContentCats() item=ocont key=contkey name=cont}]
            
                   [{if 
$ocat->isTopCategory()}]
                    
                [{else}]
                    <
li>
                    <
a href="[{$ocont->getLink()}]">[{ $ocont->oxcontents__oxtitle->value }]</a>
                    </
li>
                [{/if}]
            
            [{/foreach}]
        [{/if}]
        [{if 
$ocat->getIsVisible() }]
        
                [{if 
$ocat->isTopCategory()}]
                    
                [{else}]
                    
                    [{if 
$ocat->expanded}]
                    
                        <
li class="activ">
                            <
a href="[{$ocat->getLink()}]">[{ $ocat->oxcategories__oxtitle->value }]</a>
                        </
li>
                    
                    [{else}]
                                                                
                        <
li>
                            <
a href="[{$ocat->getLink()}]">[{ $ocat->oxcategories__oxtitle->value }]</a>
                        </
li
                    
                    [{/if}]
                    
                [{/if}]
                
            [{if 
$ocat->getSubCats() && $ocat->expanded}]
                [{
fun name="category_tree" tree=$ocat->getSubCats() act=$act class="" testSubCat=$ocat->oxcategories__oxid->value }]
            [{/if}]
        
        [{/if}]
        [{
assign var="iCatCnt" value=$iCatCnt+}]
    [{
foreachelse}]
        [{if 
$oContentCat }]            
            <
li><a id="test_BoxLeft_Cms_0" class="root act" href="[{$oContentCat->getLink()}]">[{ $oContentCat->oxcontents__oxtitle->value }]</a></li>
        [{/if}]
    [{/foreach}]
   </
ul>
[{/
strip}]
[{/
defun}]
[{/if}] 
Viele Greetz vom Chris
Reply With Quote
#Top   #10  
Old 08-19-2010, 08:31 AM
deddy deddy is offline
Junior Member
Join Date: Oct 2008
Posts: 18
deddy is on a distinguished road
Unhappy Re: Level der Kategorie für Subnavigation auslesen/ermitteln

Hallo!

Ich wollte einen zweiten neuen Kategoriebaum aufbauen und habe versucht, den oben stehenden Code auszuführen. Ich habe das Problem, dass sich die zwei Navigationen irgendwie miteinander nicht vertragen. Egal was ich in die zweite Navi reinschreibe, ich hab dazu xx nach einem <li> geschrieben, bleibt diese davon unberührt. Erst wenn ich die erste Navi komplett lösche, werden mir meine xx ausgegeben.

Hat das irgendwie was mit dem defun was zu tun? Oder welche Variable wird hier überhaupt belegt.

Ich hoffe mir kann jemand helfen. Bin schon am verzweifeln
Reply With Quote
Reply

Bookmarks

Tags
auslesen, auslesen or ermitteln, kategorie, level, subnavigation

« Previous Thread | Next Thread »
Thread Tools
Display Modes

Nicht Sichtbar
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Aktive Sprache im Frontend ermitteln? hgw7media Entwickler 4 07-25-2011 02:25 PM
Stock level goes down by 3 cpjolly Administration 0 03-18-2010 11:12 PM
Does OXID have easy stock level maintenance facility? vmajor Newbies 1 09-07-2009 09:32 AM
Active top level category obsidian Templates und Design 0 06-16-2009 04:46 PM
aktuelle Sprache anhand oxLang ermitteln j.geissler Entwickler 0 04-06-2009 09:35 AM

All times are GMT +2. The time now is 06:36 AM.