Skocz do zawartości


Zdjęcie

czy można dodać nazwę produktu na liście wyświetlanych zamówień


  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 balckbrookly

balckbrookly

    Użytkownik

  • Members
  • PipPip
  • 61 postów

Napisano 03 grudzień 2014 - 23:14

Witam,

 

Czy w prestashop 1.6 można na zapleczu przechodząc do zakładki zamówienia ustawić widok, lub skonfigurować tak jakiś plik na ftp aby lista wyświetlana w zamówienia/zamówienia posiadała jeszcze jedno pole lub linijkę gdzie podane jest co zostało zamówione? tak aby nie wchodzić w szczegóły danego zamówienia a na liście już mieć co do danego zamówienia (jaki produkt) został wybrany?



#2 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 04 grudzień 2014 - 00:34

Tak, można :) wrzuć załączony plik do override/controllers/admin/ (jak coś tam masz to scal pliki). Usuń też cache/class_index.php

Załączone pliki



#3 Addam

Addam

    Początkujący

  • Members
  • Pip
  • 3 postów

Napisano 31 grudzień 2016 - 13:40

Witam,
rozwiązanie jest przednie.
Zadziałało mi z dwoma różnymi sklepami 1.6.1.4.
Z wersją 1.6.1.7 niestety nie.
Złe zapytanie SQL
Table '[nazwa_tabelki].ps_order_detail' doesn't exist
Może ktoś ma pomysł na rozwiązanie problemu?



#4 ircykk

ircykk

    Administrator

  • Administrators
  • 5051 postów
  • PrestaShop:1.5, 1.6

Napisano 02 styczeń 2017 - 12:37

Prefix jest na sztywno, na pewno masz ps_?



#5 sower

sower

    Guru

  • Moderatorzy
  • 4240 postów
  • Location3miasto
  • PrestaShop:1.2, 1.3, 1.4, 1.5, 1.6

Napisano 02 styczeń 2017 - 16:51

ech............. w kodzie jest "na sztywno" ustawiony prefix tabeli

 

w linii 11

zmieniamy z

 FROM `ps_order_detail` od 

na

FROM `'._DB_PREFIX_.'order_detail` od

468x60.jpg

468x60_pl.gif

 

QUICK PRESTA SUPPORT:  gg 45116037
SKLEPY  MODUŁY INTEGRACJE  POMOC TECHNICZNA


#6 Addam

Addam

    Początkujący

  • Members
  • Pip
  • 3 postów

Napisano 03 styczeń 2017 - 18:44

Po zmianie linijki zadziałało. :-)

Dziękuję.

Zainspirowało mnie to do wyciągnięcia notatki klienta (korzystam z tej informacji) - zadziałało:

 

<?php

class AdminOrdersController extends AdminOrdersControllerCore
{
    public function __construct()
    {
        parent::__construct();

        $this->_select = '(
            SELECT GROUP_CONCAT(CONCAT(od.`id_customer`, "x ", od.`note`) SEPARATOR "|")
            FROM `'._DB_PREFIX_.'customer` od
            WHERE od.`id_customer` = a.`id_customer`
            GROUP BY od.`id_customer`
        ) AS `Note`,' . $this->_select;

        $splitIndex = array_search('carrier_name', array_keys($this->fields_list));
        $this->fields_list = array_merge(
            array_slice($this->fields_list, 0, $splitIndex),
            array('Note' => array(
                    'title' => $this->l('Note'),
                    'callback' => 'displaynoteLine',
                    'orderby' => false,
                    'search' => false,
            )),
            array_slice($this->fields_list, $splitIndex)
        );
    }

    public function displayNoteLine($p)
    {
        return implode(explode('|', $p), '<br />');
    }
}

 

Ale nie mam pojęcia jak wyświetlić obie kolumny.

Ogólnie chcę dodać dwie kolumny do listy zamówień.

1 wersja (dla sklepu A - z tym pójdzie łatwiej):

 1 dodatkowa kolumna: Produkty

 2 dodatkowa kolumna: Notatka klienta

2 wersja (dla sklepu B - bardziej zakręcona dla mnie sprawa):

 1 dodatkowa kolumna: Produkty

 2 dodatkowa kolumna: Wiadomości od klienta

 

Spłodziłem coś takiego coby wyciągnąć Wiadomość od klienta ale nie ładzia:

 

<?php

class AdminOrdersController extends AdminOrdersControllerCore
{
    public function __construct()
    {
        parent::__construct();

        $this->_select = '(
            SELECT GROUP_CONCAT(CONCAT("Wiadomość:"m.`message`) SEPARATOR "|")
            FROM `'._DB_PREFIX_.'message` m
            WHERE m.`id_order` = `'._DB_PREFIX_.'order_detail` od.`id_order`
            GROUP BY m.`id_order`
        ) AS `Message`,' . $this->_select;

        $splitIndex = array_search('carrier_name', array_keys($this->fields_list));
        $this->fields_list = array_merge(
            array_slice($this->fields_list, 0, $splitIndex),
            array('Message' => array(
                    'title' => $this->l('Message'),
                    'callback' => 'displayMessageLine',
                    'orderby' => false,
                    'search' => false,
            )),
            array_slice($this->fields_list, $splitIndex)
        );
    }

    public function displayMessageLine($p)
    {
        return implode(explode('|', $p), '<br />');
    }
}






Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych

Hosting zapewnia: Hekko.pl