Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Magento - manufacturers - problem
phpamator
post
Post #1





Grupa: Zarejestrowani
Postów: 328
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


Witajcie,

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:

  1. Witajcie,
  2.  
  3. 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 ....
  4. nie moge dojść dlaczego tak się dzieje.
  5. Oto kod:
  6.  
  7. [php]
  8. <?php
  9.  
  10. class EDPA_MegaNavigation_Block_Navigation extends Infortis_UltraMegamenu_Block_Navigation{
  11.  
  12. ....
  13.  
  14. // tu zaczynamy
  15. // dodajemy element menu
  16.  
  17. if($level_0_name == 'Brands'){
  18. $output .= "<li class='level0 nav-{$level_0_counter} level-top {$position} {$active} parent'>";
  19. $output .= "<a href='" . Mage::getBaseUrl().$data_level_0->getRequestPath(). "' class='level-top'><span>{$level_0_name}</span></span><span class='caret'> </span></a>";
  20. $subcategories = Mage::getModel('catalog/category')
  21. ->load($data_level_0->getId())
  22. //->setSort('id','asc')
  23. ->getChildren();
  24. // dostaję listę id's
  25. $cat_ids = explode(',', $subcategories);
  26.  
  27. $brand = array();
  28. // pobieram listę id's dla attribute = 'manufacturers'
  29. $attribute = Mage::getModel('eav/entity_attribute')
  30. ->loadByCode('catalog_product', 'manufacturer');
  31. $brands = Mage::getResourceModel('eav/entity_attribute_option_collection')
  32. ->setAttributeFilter($attribute->getData('attribute_id'))
  33. ->setStoreFilter(0, false);
  34.  
  35. // buduję listę brands których atrybute_id = 81
  36.  
  37. foreach($brands as $brand){
  38. // && $brand['show_hide'] == 0
  39. if($brand['attribute_id'] != 81){
  40. // jeśli różne od 81 idzie do osobnej listy - w ramach testu
  41. $other[] = ($brand['option_id']);
  42. }else{
  43. $allbrands[] = ($brand['option_id']);
  44. }
  45. }
  46. // wybieram losowo 10 sposrod id's
  47. $favbrands = array_rand($allbrands,10);
  48. $selected = Mage::getModel();
  49. $output .= "<ul class='level0 brands-ul'>";
  50. $a = '';
  51. foreach($cat_ids as $id) {
  52. // wpuszczam w petle i wybieram kolejno z listy $favbrand - tu powinno ich być 10 .... i jest ale magicznie nie wszystkie beda pokazane
  53. if (in_array($id, $favbrand)) {
  54. $brand = Mage::getModel('catalog/category')->load($id);
  55. $image = Mage::getUrl("media/catalog/category/") . $brand->getThumbnail();
  56. $url = Mage::getUrl().$brand->getRequestPath();
  57. $id = $this->getId();
  58. $output .= "<li class='brands-subnavigation'>";
  59. $output .= "<a href='{$url}'><img src='{$image}'></a>";
  60. $output .= "<div>".$id."</div>";
  61. $output .= "</li>";
  62.  
  63. }
  64. }
  65.  
  66. $output .= "<li style='' class='see-all-brands'><a href='".Mage::getBaseUrl().$data_level_0->getRequestPath()."'>See All</a></li>";
  67. $output .= "</ul>";
  68.  
  69. }elseif($level_0_name == 'Summer Sale'){
  70. $output .= "<li {$class}>";
  71. $output .= "<a href='" . Mage::getBaseUrl().$data_level_0->getRequestPath(). "' class='level-top red'><span>{$level_0_name}</span>{$caret}</a>";
  72.  
  73. }else {
  74.  
  75. $output .= "<li {$class} >";
  76. $output .= "<a href='" . $level_0_url . "' class='level-top '><span>{$level_0_name}</span>{$caret}</a>";
  77. // jako efekt działania wyświetlona zostanie lista manufacturers'ów w postaci ich znakow firmowych (logo)
  78.  
  79. }
  80.  
  81. ...


Ten post edytował PHPRexio 26.08.2016, 08:48:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:04