Jump to content
  • 0

Eksport zamówień


Ovitz

Question

Witam,
Potrzebuję przeedytować wyświetlane zamówienia tak, żeby obok kwoty wyświetlał mi się produkt wraz ze zdjęciem (może być tylko jedno). 
Próbowałem już edytować plik AdminOrdersController.php, ale niestety bez efektów. 

 

Będę wdzięczny za pomoc.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

po pierwsze, nie uzywaj (nie edytuj) bezposrednio kontrolerow tylko uzywaj '/override' 

 

po drugie z tego co pamietam to za wyswietlenie tabeli odpowiada klasa AdminTab

 

po trzecie, jakbys pokazal co edytowas i w jaki sposob moze by bylo prosciej porpawic, moze poprostu jakis drobny blad? pokaz co robiles, moze uda sie cie jakos blizej naprowadzic. 

Link to comment
Share on other sites

  • 0

Witam,

Potrzebuję przeedytować wyświetlane zamówienia tak, żeby obok kwoty wyświetlał mi się produkt wraz ze zdjęciem (może być tylko jedno). 

Próbowałem już edytować plik AdminOrdersController.php, ale niestety bez efektów. 

 

Będę wdzięczny za pomoc.

 

a co jeżeli w zamówieniu będzie kilka produktów?

Link to comment
Share on other sites

  • 0

a co jeżeli w zamówieniu będzie kilka produktów?

To mogą się wyświetlać w liście jeden pod drugim i może się obok pojawiać symbol. Będzie to nawet lepiej.

 

po pierwsze, nie uzywaj (nie edytuj) bezposrednio kontrolerow tylko uzywaj '/override' 

 

po drugie z tego co pamietam to za wyswietlenie tabeli odpowiada klasa AdminTab

 

po trzecie, jakbys pokazal co edytowas i w jaki sposob moze by bylo prosciej porpawic, moze poprostu jakis drobny blad? pokaz co robiles, moze uda sie cie jakos blizej naprowadzic. 

Do kodu dodałem to:

'Product' => array(
                'title' => $this->l('Produkty'),
                'list' => $this->products,
            ),
Link to comment
Share on other sites

  • 0

umieść ten kod w plku /override/controllers/admin/AdminOrdersController.php, usuń plik class_index.php z folderu /cache

powinno działać
 

<?php

/*
*    tw
*     modyfikacja, wyswietlanie miniatur produktow na liscie zamowien w panelu admina
*/


class AdminOrdersController extends AdminOrdersControllerCore {

    public function __construct() {
        
        parent:: __construct();
        
        $this->_select .= ' , a.id_order AS product_img';
                
        $img_field = array(
            'title' => $this->l('Image'),
            'align' => 'center',
            'orderby' => false,
            'filter' => false,
            'search' => false,
            'callback' => 'printProductImages'
        );
            
        $array1 = array_slice($this->fields_list, 0, 1);
        
        $array2 = array_slice($this->fields_list, 1);
        
        $array1['product_img'] = $img_field;
        
        $this->fields_list = array_merge($array1, $array2);
        
    } // ----------------------------------------------------------------------------------- __construct()
    
    
    public function printProductImages( $product_img ) {
        
        $order = new Order((int)$product_img);
        
        $products = $order->getProducts();
        
        $image_src = '';
        
        foreach ($products as $product) {
            if ($product['image'] != null)     {
                $name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
                // generate image cache, only for back office
                $image_src .= ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$product['image']->getExistingImgPath().'.jpg', $name, 45, 'jpg');
                
                // break;  // odkomentuj to - bedzie wyswietlane tylko jedno zdjecie
            }
        }

        return $image_src;
        
    } // ----------------------------------------------------------------------------------- printProductImages()
}
Link to comment
Share on other sites

  • 0

 

umieść ten kod w plku /override/controllers/admin/AdminOrdersController.php, usuń plik class_index.php z folderu /cache

 

powinno działać

 

<?php

/*
*    tw
*     modyfikacja, wyswietlanie miniatur produktow na liscie zamowien w panelu admina
*/


class AdminOrdersController extends AdminOrdersControllerCore {

    public function __construct() {
        
        parent:: __construct();
        
        $this->_select .= ' , a.id_order AS product_img';
                
        $img_field = array(
            'title' => $this->l('Image'),
            'align' => 'center',
            'orderby' => false,
            'filter' => false,
            'search' => false,
            'callback' => 'printProductImages'
        );
            
        $array1 = array_slice($this->fields_list, 0, 1);
        
        $array2 = array_slice($this->fields_list, 1);
        
        $array1['product_img'] = $img_field;
        
        $this->fields_list = array_merge($array1, $array2);
        
    } // ----------------------------------------------------------------------------------- __construct()
    
    
    public function printProductImages( $product_img ) {
        
        $order = new Order((int)$product_img);
        
        $products = $order->getProducts();
        
        $image_src = '';
        
        foreach ($products as $product) {
            if ($product['image'] != null)     {
                $name = 'product_mini_'.(int)$product['product_id'].(isset($product['product_attribute_id']) ? '_'.(int)$product['product_attribute_id'] : '').'.jpg';
                // generate image cache, only for back office
                $image_src .= ImageManager::thumbnail(_PS_IMG_DIR_.'p/'.$product['image']->getExistingImgPath().'.jpg', $name, 45, 'jpg');
                
                // break;  // odkomentuj to - bedzie wyswietlane tylko jedno zdjecie
            }
        }

        return $image_src;
        
    } // ----------------------------------------------------------------------------------- printProductImages()
}

Wklejałem to w różnych miejscach, niestety bez rezultatu :/

Link to comment
Share on other sites

  • 0

- kod powinien być w pliku  /override/controllers/admin/AdminOrdersController.php, utwórz go, jeżeli nie ma tam takiego
- usuń plik class_index.php z folderu /cache
- w panelu w Zaawansowane -> Wydajność jest opcja Wyłącz wszystkie nadpisywania, ustaw to na Nie
 

Link to comment
Share on other sites

  • 0

- kod powinien być w pliku  /override/controllers/admin/AdminOrdersController.php, utwórz go, jeżeli nie ma tam takiego

- usuń plik class_index.php z folderu /cache

- w panelu w Zaawansowane -> Wydajność jest opcja Wyłącz wszystkie nadpisywania, ustaw to na Nie

 

No niestety, w tym momencie przestał mi działać panel zamówień :/

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...