Author Topic: [TUT] Zeige Unterkat. in Unterkat > .. / View subcat. in subcat  (Read 15968 times)

0 Members and 1 Guest are viewing this topic.

Offline Sunny C.

  • Addicted member
  • ******
  • Posts: 1.806
  • I ♥ 4I
    • View Profile
[TUT] Zeige Unterkat. in Unterkat > .. / View subcat. in subcat
« on: September 13, 2010, 01:05:24 PM »
V1 - http://www.4homepages.de/forum/index.php?topic=27911.msg151072#msg151072

Or / oder
search / suche: includes/functions.php
  foreach ($visible_cat_cache as $subcat_id) {
    if (
$i <= $num_subs && $i <= $config['num_subcats']) {
      
$sub_url $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$subcat_id);
      
$sub_cat_list .= "<a href=\"".$sub_url."\" class=\"subcat\">".format_text($cat_cache[$subcat_id]['cat_name'], 2)."</a>";
      if (
$i != $config['num_subcats'] && $i $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= ", ";
      }
      if (
$i == $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= " ...\n";
      }
    }
    
$i++;
  }


replace with / ersetze mit:
foreach ($visible_cat_cache as $subcat_id) {
    if (
$i <= $num_subs && $i <= $config['num_subcats']) {
      
$is_new = (isset($new_image_cache[$subcat_id]) > 0) ? 0;
      
$sub_url $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$subcat_id);
	
  
$subsub_cat get_subcategories($subcat_id);
    
$site_template->register_vars(array(
      
"sub_cat_name" => format_text($cat_cache[$subcat_id]['cat_name'], 2),
      
"sub_cat_url" => $sub_url,
	
  
"sub_is_new" => ($is_new == 1) ? $lang['new']  : "",
	
  
"sub_sub_cat" => $subsub_cat
    
));
      
$sub_cat_list .= $site_template->parse_template("sub_category_bit");
      if (
$i != $config['num_subcats'] && $i $config['num_subcats'] && $i $num_subs) {
       
$sub_cat_list .= (!empty($subsub_cat)) ? "\n<li>".$subsub_cat."</li>\n" "";
       
$sub_cat_list .= "</li>\n<li>";
      }
      if (
$i == $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= " ...\n";
      }
    }
    
$i++;
  }
« Last Edit: November 04, 2015, 10:39:07 PM by Sumale.my »

Offline V@no

  • If you don't tell me what to do, I won't tell you where you should go :)
  • Global Moderator
  • 4images Guru
  • *****
  • Posts: 17.849
  • mmm PHP...
    • View Profile
    • 4images MODs Demo
Isn't it what's controlled by "Number of subcategories" in the settings?
Your first three "must do" before you ask a question:
Please do not PM me asking for help unless you've been specifically asked to do so. Such PMs will be deleted without answer. (forum rule #6)
Extension for Firefox/Thunderbird: Master Password+    Back/Forward History Tweaks (restartless)    Cookies Manager+    Fit Images (restartless for Thunderbird)

Rembrandt

  • Guest

Ist das möglich diese auch anzuzeigen?


auf meiner seite habe ich das so umgesetzt:

suche in der includes/functions.php:
  foreach ($visible_cat_cache as $subcat_id) {
    if (
$i <= $num_subs && $i <= $config['num_subcats']) {
      
$sub_url $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$subcat_id);
      
$sub_cat_list .= "<a href=\"".$sub_url."\" class=\"subcat\">".format_text($cat_cache[$subcat_id]['cat_name'], 2)."</a>";
      if (
$i != $config['num_subcats'] && $i $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= ", ";
      }
      if (
$i == $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= " ...\n";
      }
    }
    
$i++;
  }


ersetze es mit:

foreach ($visible_cat_cache as $subcat_id) {
    if (
$i <= $num_subs && $i <= $config['num_subcats']) {
      
$is_new = (isset($new_image_cache[$subcat_id]) > 0) ? 0;
      
$sub_url $site_sess->url(ROOT_PATH."categories.php?".URL_CAT_ID."=".$subcat_id);
      
$sub_cat_list .= "<a href=\"".$sub_url."\" class=\"subcat\">".format_text($cat_cache[$subcat_id]['cat_name'], 2); 
      
$sub_cat_list .= ($is_new == 1) ? "<sup class=\"new\">&nbsp;".$lang['new']."</sup></a>" "</a>";
      
      
$blub get_subcategories($subcat_id);
      if (
$i != $config['num_subcats'] && $i $config['num_subcats'] && $i $num_subs) {
       
$sub_cat_list .= (!empty($blub)) ? "\n<ul>\n<li>".$blub."</li>\n</ul>\n" "";
       
$sub_cat_list .= "</li>\n<li>";
      }
      if (
$i == $config['num_subcats'] && $i $num_subs) {
        
$sub_cat_list .= " ...\n";
      }
    }
    
$i++;
    
$site_template->register_vars(array(
      
"subcat_id" => $subcat_id));
  }


das einzige was du unter umständen machen mußt, die tags ändern.
statt UL LI, TD TR.

das wäre die category_bit.html:
Code: [Select]
<li><a href="{cat_url}">{cat_name}&nbsp;({num_images}){if cat_is_new}<sup class="new">{lang_new}</sup>{endif cat_is_new}</a>
                  {if sub_cats}
      <ul>
                          <li>{sub_cats}</li>
                        </ul>
                     {endif sub_cats}</li>

und der aufruf für die home.html:
Code: [Select]
<ul >
                    {categories}
                    </ul>

mfg Andi

Rembrandt

  • Guest
und dadurch funktionieren auch die unterkategorien überall, wie schon geschrieben.
du kannst es dir ja auf meiner seite ansehn.
industrie/motorsport/rally pingau 2006/fahrerlager

Offline V@no

  • If you don't tell me what to do, I won't tell you where you should go :)
  • Global Moderator
  • 4images Guru
  • *****
  • Posts: 17.849
  • mmm PHP...
    • View Profile
    • 4images MODs Demo
remove
    $site_template->register_vars(array(
      
"subcat_id" => $subcat_id
    
));
Your first three "must do" before you ask a question:
Please do not PM me asking for help unless you've been specifically asked to do so. Such PMs will be deleted without answer. (forum rule #6)
Extension for Firefox/Thunderbird: Master Password+    Back/Forward History Tweaks (restartless)    Cookies Manager+    Fit Images (restartless for Thunderbird)

Rembrandt

  • Guest
@V@no hat recht, das ist ein teil den ich wo anders benötigte.
.....
mfg Andi

Rembrandt

  • Guest
Hast du denn eine Lösung zu mein Problem?
welches problem?

Rembrandt

  • Guest
Sehr witzig,...
für das kann ich leider nichts, das kommt von dem spam filter.  :|

zu deinem problem, wenn du dir deinen quelltext ansiehst, du hast jede menge <ol> zuviel drinnen durch das <ol> wird die zeile immer eingerückt.
das <item> gehört in deinen code überhaupt nicht dorthin, nimm es raus das ist für formen.

einmal einrücken finde ich ok wenn eine neue unterkategorie aufgemacht wird, aber da du in der funktion für die subcats extra noch <ol> eingefügt hast,
 wird jetzt natürlich bei jeder neuen zeile eingerückt.
nimm doch einmal den code was ich dir gepostet habe, statt den <ul> schreibst du <ol>.

Rembrandt

  • Guest
:flag-de:
Ich habe den Fehler nun gefunden.
Ich hatte ein <ol> vergessen.

ne du hast welche zuviel, schau doch mal in deinen quelltext, auuserdem wird dein CSS auch nicht stimmen.
das ist klar das die nummerrierung immer wieder von eins anfängt, da du ja überall die <ol> eingefügt hast.

Rembrandt

  • Guest

Rembrandt

  • Guest
dann wird dein klappmenü nicht funktionieren.
ich versteh das nicht, du brauchst doch nur die funktion richtigstellen und die css anpassen.
aber warum du behaarlich darauf bestehst die funktion falsch zu schreiben und dann jammerst das es nicht funktioniert,
 verstehe ich nicht.

Rembrandt

  • Guest
so nochmal zurück:
in diesen post von dir das bild aus dem anhang:
http://www.4homepages.de/forum/index.php?topic=27911.msg151078#msg151078

da hatt doch schon soweit alles gepasst.
nur dein fehler war und ist noch immer das du in dieser funktion aus welchen gründen auch immer diese <ol> zuviel eingefügt hast.
dadurch:
1.) beginnen deine subkategorie listen immer von eins zu zählen an und nicht fortlaufend wie du sie ja eigentlich haben möchtest.
2.) durch die zuvielen <ol> in der funktion, die listen bei jedem durchgang der subkategorie um einen wert mehr nach rechts rücken, was du ja eigentlich vermeiden möchtest.
3.) solltest du in ACP unter wieviele subkategorien sollen angezeigt werden z.b."999" eintragen.

Rembrandt

  • Guest
ja, aber ansehen werde ich es mir erst morgen..

Rembrandt

  • Guest
Bei dem Codeschnipsel gibt es aber noch einen Fehler.
Das ganze funktioniert zwar, aber man muss trotzdem mit den Kategorien etwas tricksen....
dann schau mal hier, hier oder hier
da wird mit keiner kategorie was getrickst.  :wink: