Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Sorowanie danych wyjściowych
Avatarus
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


witam
Mam problem z posortowaniem wyników z tej części kodu:
  1. <?php foreach ($_associatedProducts as $_item): ?>
  2. <?php if ($_item->isSaleable()) : ?>
  3. <?php $_finalPriceInclTax = $this->helper('tax')->getPrice($_item, $_item->getFinalPrice(), true) ?>
  4. <tr>
  5. <td><span style="font-size: 8pt;"><?php echo $this->htmlEscape($_item->getName()) ?></span></td>
  6. <td class="a-right"><span style="font-size: 8pt;">
  7. <?php echo $this->getPriceHtml($_item, true) ?>
  8. <?php echo $this->getTierPriceHtml($_item) ?>
  9. </span></td>
  10. <?php if ($_product->isSaleable()): ?>
  11. <td class="a-center">
  12. <?php if ($_item->isSaleable()) : ?>
  13. <input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
  14. <?php else: ?>
  15. <p class="availability out-of-stock"><span><?php echo $this->__('Brak') ?></span></p>
  16. <?php endif; ?>
  17. </td>
  18. <?php endif; ?>
  19. </tr>
  20. <?php endif; ?>
  21. <?php endforeach; ?>

chciałbym żeby to było sortowane po
  1. $_item->getName()
a nie po ID.
Jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Avatarus
post
Post #2





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

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


masz racje z tym sortowaniem przez edycje grupowego, jednak nie działa to i tak.
Zmieniając sortowanie na "nazwa" w panelu admina ładnie sortuje się po nazwie i jak odświeżę stronę sklepu to co prawda kolejność tych pozycji się zmienia, ale nie na taką jak w PA.
Już nie mam pomysłu jak to poprawić.

no i w końcu to rozgryzłem.
Przeszukałem z 50 pare plików, zmarnowałem kilka godzin ale sie udało.

Plik o tóry chodziło to:
app/code/core/mage/catalog/model/product/type/grouped.php

Wystarczyło w dodać to:
Kod
public function getAssociatedProducts($product = null)
    {
        if (!$this->getProduct($product)->hasData($this->_keyAssociatedProducts)) {
            $associatedProducts = array();

            if (!Mage::app()->getStore()->isAdmin()) {
                $this->setSaleableStatus($product);
            }

            $collection = $this->getAssociatedProductCollection($product)
                ->addAttributeToSelect('*')
                ->addFilterByRequiredOptions()
                ->setPositionOrder()
        ->addAttributeToSort('sku', 'asc') <----- tutaj dodałem :)
                ->addStoreFilter($this->getStoreFilter($product))
                ->addAttributeToFilter('status', array('in' => $this->getStatusFilters($product)));

            foreach ($collection as $product) {
                $associatedProducts[] = $product;
            }

            $this->getProduct($product)->setData($this->_keyAssociatedProducts, $associatedProducts);
        }
        return $this->getProduct($product)->getData($this->_keyAssociatedProducts);
    }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 21:16