Jump to content
mowgli

Jak dodać kolumnę w historii zamówień

Recommended Posts

Witam,

Potrzebuję pomocy w następującej kwestii. Od frontu, w historii klienta chciałbym dodać kolumnę w której będą widoczne uwagi, które klient wpisał w trakcie składania zamówienia (screen1). Samą kolumnę udało mi się dodać, przydałoby się jeszcze żeby coś w niej się pojawiło. Klient przy składaniu zamówienia ma możliwość dodania komentarza do zamówienia. Ten komentarz wysyłany jest jako wiadomość. Chciałbym aby treść ostatniej wiadomości (lub część treści, tak żeby kolumna się nie rozjeżdżała w przypadku dłuższych wiadomości) była widoczna w kolumnie uwagi. Jak można zrobić coś takiego? Dodam, że nie jestem specem od presty, dla tego prosiłbym o możliwie łopatologiczne podpowiedzi. Z góry dzięki

screen1.jpg

Edited by mowgli (see edit history)

Share this post


Link to post
Share on other sites

Jak klikniesz na szczegóły  to ten tekst jest wyświetlany więc raczej tylko kwestia przeniesienia go w odpowiednie miejsce.

  • Thanks 1

Share this post


Link to post
Share on other sites

@endriu107 nie takie to proste jak się wydaje na pierwszy rzut oka.

Górę obsługuje HistoryController i on nie wysyła zmiennej $messages do templatki history.tpl.

Natomiast dół obsługuje OrderDetailController i on wysyła tą zmienną do order-detail.tpl.

Także tylko przeróbka kontrolera jeśli chcemy na siłę wcisnąć wiadomości do górnej templatki.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Spróbuj w ten sposób:

1. utwórz plik /override/controllers/front/HistoryController.php z zawartością:

<?php
/*
*	dodanie pola z ostatnia wiadomoscia klienta
*
*/

class HistoryController extends HistoryControllerCore {
	
	public function initContent()  {
		
        FrontController::initContent();

        if ($orders = Order::getCustomerOrders($this->context->customer->id)) {
            foreach ($orders as &$order) {
                $myOrder = new Order((int)$order['id_order']);
                if (Validate::isLoadedObject($myOrder)) {
                    $order['virtual'] = $myOrder->isVirtual(false);
                }
				
				// START - dodanie ostatniej wiadomosci klienta
				$messages = CustomerMessage::getMessagesByOrderId((int)$order['id_order'], false);
				$message = end($messages);
				$order['message'] = $message['message'];
				// END - dodanie ostatniej wiadomosci klienta
            }
        }
		
		// d($orders);
        $this->context->smarty->assign(array(
            'orders' => $orders,
            'invoiceAllowed' => (int)Configuration::get('PS_INVOICE'),
            'reorderingAllowed' => !(bool)Configuration::get('PS_DISALLOW_HISTORY_REORDERING'),
            'slowValidation' => Tools::isSubmit('slowvalidation')
        ));

        $this->setTemplate(_PS_THEME_DIR_.'history.tpl');
		
    } // END ----------------------------------------------- initContent() 
	
	
}


2. w pliku history.tpl Twojej templatki dodaj kod:


{foreach from=$orders item=order name=myLoop}

    ....
    ....
    ....
    ....

    <td class="history_message">
        {$order.message|truncate:35:'...'|escape:'html':'UTF-8'}
    </td>

{/foreach}

 

3. wyczyść cache/usuń plik /cache/class_index.php


powinno działać (PS 1.6)

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More