Jump to content

<SOLVED>Arrange carriers in BO ?


ysco

Recommended Posts

Hello all.

I have DHL Basis & Extra ( 2 diffrent shipping costs )
I have TNT Basis & Extra ( 2 diffrent shipping costs )
I have TNT Cash on delivery & Cash on delivery extra ( 2 different shipping costs )
I have TNT Letter post

It`s all mixed in the carriers list and it will displayed also not good then in front-office
How can i arrange them the way i want and save it so that it holds that position and displayed correct in front-office.
I want it for example listed as above so,

DHL Basis
DHL Extra
TNT basis
TNT Extra
TNT Cash on delivery
TNT Cash on delivery extra
TNT Letter Post

Look at the screenshot how it is mixed up and not correct, if i arrange it the way it want then it won`t hold position.
Any help appriciated.

Best regards ysco..

13450_PZNVVxmhdtmUMmWTOBaf_t

Link to comment
Share on other sites

Thanks for the reply mate.

Just try`t to change the line but after that i get "Parse error: syntax error, unexpected T_STRING on line 266 in carrier.php"
So need i change something more ?

Thanks.

EDIT: wel i did it now this way,
Not changed the carrier.php now but only give the carrier the letter A and B and C and so on, this way i can arange them cause it seems that the default carrier.php already put the carriers on name.


Best regards ysco..

Link to comment
Share on other sites

Seems the code tag on this board is stripping apostrophes, below is the full sql

        $sql = '
           SELECT c.*, cl.delay
           FROM `'._DB_PREFIX_.'carrier` c
           LEFT JOIN `'._DB_PREFIX_.'carrier_lang` cl ON (c.`id_carrier` = cl.`id_carrier` AND cl.`id_lang` = '.intval($id_lang).')
           LEFT JOIN `'._DB_PREFIX_.'carrier_zone` cz  ON (cz.`id_carrier` = c.`id_carrier`)'.
           ($id_zone ? 'LEFT JOIN `'._DB_PREFIX_.'zone` z  ON (z.`id_zone` = '.intval($id_zone).')' : '').'
           WHERE c.`deleted` '.($delete ? '= 1' : ' = 0').
           ($active ? ' AND c.`active` = 1' : '').
           ($id_zone ? ' AND cz.`id_zone` = '.intval($id_zone).'
           AND z.`active` = 1' : '').'
           AND c.`is_module` = 0
           GROUP BY c.`id_carrier`
           ORDER BY c.`name`';
       $carriers = Db::getInstance()->ExecuteS($sql);

Link to comment
Share on other sites

@ Zenith

Hello mate.
Yes i already noticed that it whas missing something and added it then it worked, but it also works without adding the new line and rename the carriers with A,B,C for example.
But thanks for helping ;)

ysco..

Link to comment
Share on other sites

Hi there...

Probably dutch ;-))

I,m trying getting it sorted out ... but i have no clue how to fix it.

Could you post or send me some screen shots how to set it up .....

I want the weight to be my marker

so if someone orders more then 50 kg there will be 29 euro more costs

Any help would be nice since i really have no f#ck!ng clue ;-))

Link to comment
Share on other sites

Hello Unsought_

Yes i am dutch ;)

I assume that you have given you products a weight already.

For example,

Product 1 has a weight off 10 kilo
Product 2 has a weight off 20 kilo

You have setup a carrier named TNT that ships for 10,- with a weight off 0 to 45 kilo

So when customer choose 2x product 1 and 1x product 2 makes together 40 kilo so the carrier choose n is TNT by default that ships for 10,-

So that is good.

Now your customer will choose 3x product 1 with a total off 60 kilo so it exceeds the 50 kilo and now you want that it instead off 10,- the shipping costs is 10,- + the extra 29,- makes a total off 39,- for shipping.

To make this work,

Just Make two carriers 1x TNT that ships for 10,- ( for example ) with weight settings 0 to 45 kilo and the second carrier TNT that ships for 39,- ( for example ) with weight settings 50 to 100 kilo.

Now choose in BO the cheapest carrier ( the one with the lowest weight ) and click on edit, scroll to the bottom and choose by Out­ of­range behavior: the option ( disable carrier )

So when people exceeds to 50 kilo then the cheapest carrier is not visible anymore and it will automatic choose the next carrier off 39,-. this way you can set different carriers with different weights.

Note:
Set the cheapest carrier as the default one.

Hope this helped you a bit.

ysco..

Link to comment
Share on other sites

Ok that did help....

but not the whole way ;-))

No if someone exceeds 25 kg they still see the same price ...

after they click to check out they see the actual cost ... but also the cheaper option ( which they can choose )
but they shouldn't be able to because of the costs

that way i have to pay the difference ....

for instance if someone orders more then 500 kg they can still choose 15 euro ;((

so i have no clue what i did wrong ....

UPDATE 1 MINUTE LATER ....

I missed the part about disable out of range


So my mistake ( of course )

Bedankt !!

13755_TCyXww8e7ap7rIi2Bncd_t

Link to comment
Share on other sites

Hello Unsought,

Have you changed by the cheapest carrier ( edit and scroll to bottom ) bij afwijkende situatie: verzender deactiveren ??

Edit:
Dus het werkt nu goed voor je ?

ysco..


Yep perfect ! Ysco

Thanks a lot i went nuts ;-))

What kind of shop do you have ?
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...