Категории |
нужно помочь по show_category.inc.phpс горем пополам сделал вывод категорий горизонтально, таким Макаром : $Pre .= str_repeat("\t", $old_level - $counter -1)."</td>\n".str_repeat("\t", $old_level - $counter- 2)."<td bgcolor=#ffffff>\n"; все вроде бы хорошо, но когда уже нажать трехуровневую категорию вылазит боком этот Макар, тобеж переводит далее в бок а не под самой категорией, собственно проф. глазом можна по коду определить где подвох или по ссылке index.php/cat/c108_Popolneniya-Kivstar--Djuice--Life--MTC--Jeans--Beeline.html <?php /* ##################################### # ShopOS: Скрипт интернет-магазина # Copyright (c) 2008-2009 # http://www.shopos.ru # Ver. 1.0.1 ##################################### */ global $MaxLevel, $HideEmpty, $ShowAktSub; $MaxLevel = 2; $HideEmpty = false; $ShowAktSub = true; function os_show_category($cid, $level, $foo, $cpath) { global $old_level, $categories_string; //, $HTTP_GET_VARS; // Brauchen wir nicht global $MaxLevel, $HideEmpty, $ShowAktSub; // 1) Ьberprьfen, ob Kategorie Produkte enthдlt $Empty = true; $pInCat = os_count_products_in_category($cid); if ($pInCat > 0) $Empty = false; // 2) Ьberprьfen, ob Kategorie gezeigt werden soll $Show = false; if ($HideEmpty) { if (!$Empty) $Show = true; } else { $Show = true; } // 3) Ьberprьfen, ob Unterkategorien gezeigt werden sollen $ShowSub = false; if ($MaxLevel) { if ($level < $MaxLevel) $ShowSub = true; } else { $ShowSub = true; } if($Show) { // Wenn Kategorie gezeigt werden soll .... if ($cid != 0) { // 24.06.2007 BugFix // Auf "product_info"-Seiten wurde Kategorie nicht erkannt // $category_path = explode('_',$HTTP_GET_VARS); $category_path = explode('_',$GLOBALS); $in_path = in_array($cid, $category_path); $this_category = array_pop($category_path); for ($a = 0; $a < $level; $a++) ; // Produktzдhlung $ProductsCount = false; // Lange gerдtselt, aber das ist tatsдchlich // ein String und kein Boolean. if (SHOW_COUNTS == 'true') $ProductsCount = ' <em>(' . $pInCat . ')</em>'; // Aktiv - Nicht Aktiv $Aktiv = false; if ($this_category == $cid) // Wenn Kategorie aktiv ist $Aktiv = ' Current'; elseif ($in_path) // Wenn Oberkategorie aktiv ist $Aktiv = ' CurrentParent'; // Hat ein SubMenue - hat kein SubMenue // CSS-Klasse festlegen $SubMenue = false; if (os_has_category_subcategories($cid)) $SubMenue = " SubMenue"; // Listenpunkt // CSS-Klasse festlegen $MainStyle = 'CatLevel'.$level; // Listenpunkt // CSS-Klasse festlegen $aMainStyle = 'aCatLevel'.$level; // Quelltext einrьcken $Tabulator = str_repeat("\t",$level-1); // Navigations-Liste ist jetzt hierarchisch! if($old_level) { if ($old_level < $level) { $Pre = "\n</div>"; $Pre = str_replace("\n","\n".$Tabulator, $Pre)."\n"; } else { $Pre = "</div>\n"; if ($old_level > $level) { // Listenpunkte schlieЯen // Quelltext einrьcken for ($counter = 0; $counter < $old_level - $level; $counter++) { $Pre .= str_repeat("\t", $old_level - $counter -1)."</td>\n".str_repeat("\t", $old_level - $counter- 2)."<td bgcolor=#ffffff>\n"; } } } } // Listenpunkte zusammensetzen $categories_string .= $Pre.$Tabulator. '<div class="'.$MainStyle.$Aktiv.'">'. // Bugfix, 12. Juli 2007 //' <a href="' . os_href_link(FILENAME_DEFAULT, 'cPath=' . $cpath . $cid) . '">'. '<a href="' . os_href_link(FILENAME_DEFAULT, os_category_link($cid, $foo) ) . '" class="'.$aMainStyle.'">'. $foo.$ProductsCount. '</a>'; } // fьr den nдchsten Durchgang ... $old_level = $level; // Unterkategorien durchsteppen foreach ($foo as $key => $value) { if ($foo == $cid) { // Sollen Unterkategorien gezeigt werden? if ($ShowAktSub && $Aktiv) $ShowSub = true; if ($ShowSub) os_show_category($key, $level+1, $foo, ($level != 0 ? $cpath . $cid . '_' : '')); } } } // Ende if($Show) } ?> Попробовать заменить for ($counter = 0; $counter < $old_level - $level; $counter++) { $Pre .= str_repeat("\t", $old_level - $counter -1)."</td>\n".str_repeat("\t", $old_level - $counter- 2)."<td bgcolor=#ffffff>\n"; } на if ($level == 3) { for ($counter = 0; $counter < $old_level - $level; $counter++) { $Pre .= str_repeat("\t", $old_level - $counter -1)."\n".str_repeat("\t", $old_level - $counter- 2); } } else { for ($counter = 0; $counter < $old_level - $level; $counter++) { $Pre .= str_repeat("\t", $old_level - $counter -1)."</td>\n".str_repeat("\t", $old_level - $counter- 2)."<td bgcolor=#ffffff>\n"; } } именно так вышло как я хотел, но не совсем, код требует полностью переработки Евгений, помогите пожалуйста, уже неделю туплю не могу ни как сделать меню категорий в виде по умолчанию, если развернуть горизонтально получается вот так хочу добиться вот такого кода div id="menu1"><ul class="navigation"> <li>Категория1</li> <li>Категория2</li> <li>Категория3</li> </ul></div> <div id="menu2"><ul class="navigation"> <li>Категория1.1</li> <li>Категория2.2</li> <li>Категория3.3</li> </ul></div> <div id="menu3"><ul class="navigation"> <li>Категория1.1.1</li> <li>Категория2.2.1</li> <li>Категория3.3.1</li> </ul></div> Чтоб при нажатии на "категорию 1" выводилось справа другая колонка "категория 1.1" как вывести title напр. второй категории а саму ее отключить ? очень много переключалок выходит! Надо переделывать вывод практически полностью. этот файл categorie_listing.html с какими файлами работает? хочу добавить в него подкатегории чтобы выводил |
|