Jump to content
  • 0

Ostrzeżenie o przekroczeniu wagi paczki


wolfen1223

Question

Witam a ja mam pytanie odnośnie wag przesyłek, mianowicie:


 


Waga paczki którą obsłuży mój kurier to max. 31kg a większość paczek przekracza ten limit i chciałbym aby przy zamówieniu już od 32kg wyświetlał się komunikat że kurier nie wniesie tej paczki ponieważ przekracza limit wagi.


 


Wie ktoś może jak to zrobić?


Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Moduł z jedną funkcją:

public function hookdisplayBeforeCarrier($params)
{
        $total_weight = $this->context->cart->getTotalWeight();
        $this->smarty->assign(array(
        'total_weight' => $total_weight,
        ));
        return $this->display(__FILE__, 'views/templates/hook/beforeCarrier.tpl');
}

A w templatce:

{if $total_weight > 31}
      Będziesz musiał sam tyrać z paką na 10 piętro.
{/if}
Link to comment
Share on other sites

  • 0

Pewnie źle dodałem moduł bo dostałem dwa błędy:

  1. waga (bład składni w /modules/waga/waga.php)
  2. waga (brakująca klasa w /modules/waga/waga.php)

 

Zrobiłem tak

 

class Waga extends Module
{
public function hookdisplayBeforeCarrier($params)
{
        $total_weight = $this->context->cart->getTotalWeight();
        $this->smarty->assign(array(
        'total_weight' => $total_weight,
        ));
        return $this->display(__FILE__, 'views/templates/hook/beforeCarrier.tpl');
}
}
 
Został błąd:
 
waga (brakująca klasa w /modules/waga/waga.php)
 
Jeszcze jedno jak mam dodać ten drugi kod do templatki??
Edited by wolfen1223 (see edit history)
Link to comment
Share on other sites

  • 0
Wystarczy zajrzeć do byle jakiego modułu, moduł musi mieć konstruktor:
<?php
if (!defined('_PS_VERSION_'))
	exit;

class ModulWaga extends Module
{
	public function __construct()
	{
		$this->name = 'modulwaga';
		$this->tab = 'front_office_features';
		$this->version = '1.0';
		$this->author = 'Ja';
		$this->need_instance = 0;
		parent::__construct();
		$this->displayName = $this->l('Moduł Waga');
		$this->description = $this->l('Moduł waga.');
		$this->ps_versions_compliancy = array('min' => '1.6', 'max' => '1.6.99.99');
	}

	public function install()
	{
		return
			parent::install() &&
			$this->registerHook('displayBeforeCarrier');
	}

Templatka, to tworzysz plik: beforeCarrier.tpl w katalogu modułu "modulwaga" w podkatalogach tak jak jest podane: /views/templates/hook/

Ten drugi kod to zawartość tej templatki.

 

Edit:

Dodam tylko, że kontroler modułu musi się nazywać: modulwaga.php

Edited by e_com (see edit history)
Link to comment
Share on other sites

  • 0

Witam,

 

paczka działa super natomiast trochę trzeba by ją zmienić... problem polega na tym że każdy produkt jest pakowany jako osobna pacza (nie wiem czy wspomniałem że jest to branża meblarska) i np szafa waży 68kg, a półka 5kg i teraz jak to zrobić żeby było wymienione że kurier nie wniesie klientowi szafy bo przekracza limit i analogicznie z innym zamówieniem regał waży 39kg a biurko 28kg to kurier nie wniesie regału.

Link to comment
Share on other sites

  • 0

To w templatce taki kod:

{foreach from=$products item=product}
{if $product.weight > 31}
<div class="alert alert-danger">
        <strong>Ten towar musisz sam wtargać:</strong>
    <ul>
        <li>{$product.name}: {$product.weight} {Configuration::get('PS_WEIGHT_UNIT')}</li>
    </ul>
</div>
{/if}
{/foreach}
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...