Pisząc a właściwie dopisując fragment do istniejącego kodu miałem w założeniu jako efekt końcowy dostać listę 10 losowo wybranych ID spośród kilkuset spełniających wymagania, coś jednak nie za bardzo mi wyszło bo zamiast 10 dostaję jeden albo wcale ....
nie moge dojść dlaczego tak się dzieje.
Oto kod:
Witajcie, Pisząc ten kod a właściwie dopisując jego fragment miałem w założeniu jako efekt końcowy dostać listę 10 losowo wybranych ID spośród kilkuset spełniających wymagania, coś jednak nie za bardzo mi wyszło bo zamiast 10 dostaję jeden albo wcale .... nie moge dojść dlaczego tak się dzieje. Oto kod: [php] <?php class EDPA_MegaNavigation_Block_Navigation extends Infortis_UltraMegamenu_Block_Navigation{ .... // tu zaczynamy // dodajemy element menu if($level_0_name == 'Brands'){ $output .= "<li class='level0 nav-{$level_0_counter} level-top {$position} {$active} parent'>"; $output .= "<a href='" . Mage::getBaseUrl().$data_level_0->getRequestPath(). "' class='level-top'><span>{$level_0_name}</span></span><span class='caret'> </span></a>"; $subcategories = Mage::getModel('catalog/category') ->load($data_level_0->getId()) //->setSort('id','asc') ->getChildren(); // dostaję listę id's // pobieram listę id's dla attribute = 'manufacturers' $attribute = Mage::getModel('eav/entity_attribute') ->loadByCode('catalog_product', 'manufacturer'); $brands = Mage::getResourceModel('eav/entity_attribute_option_collection') ->setAttributeFilter($attribute->getData('attribute_id')) ->setStoreFilter(0, false); // buduję listę brands których atrybute_id = 81 foreach($brands as $brand){ // && $brand['show_hide'] == 0 if($brand['attribute_id'] != 81){ // jeśli różne od 81 idzie do osobnej listy - w ramach testu $other[] = ($brand['option_id']); }else{ $allbrands[] = ($brand['option_id']); } } // wybieram losowo 10 sposrod id's $selected = Mage::getModel(); $output .= "<ul class='level0 brands-ul'>"; $a = ''; foreach($cat_ids as $id) { // wpuszczam w petle i wybieram kolejno z listy $favbrand - tu powinno ich być 10 .... i jest ale magicznie nie wszystkie beda pokazane $brand = Mage::getModel('catalog/category')->load($id); $image = Mage::getUrl("media/catalog/category/") . $brand->getThumbnail(); $url = Mage::getUrl().$brand->getRequestPath(); $id = $this->getId(); $output .= "<li class='brands-subnavigation'>"; $output .= "<a href='{$url}'><img src='{$image}'></a>"; $output .= "<div>".$id."</div>"; $output .= "</li>"; } } $output .= "<li style='' class='see-all-brands'><a href='".Mage::getBaseUrl().$data_level_0->getRequestPath()."'>See All</a></li>"; $output .= "</ul>"; }elseif($level_0_name == 'Summer Sale'){ $output .= "<li {$class}>"; $output .= "<a href='" . Mage::getBaseUrl().$data_level_0->getRequestPath(). "' class='level-top red'><span>{$level_0_name}</span>{$caret}</a>"; }else { $output .= "<li {$class} >"; $output .= "<a href='" . $level_0_url . "' class='level-top '><span>{$level_0_name}</span>{$caret}</a>"; // jako efekt działania wyświetlona zostanie lista manufacturers'ów w postaci ich znakow firmowych (logo) } ...