PrestaShop#5 Číslování objednávek, na místo znaků bez použití modulů

·

Typické číslování objednávek v Prestashop řešení je poněkud nepřehledné XNFDFVBG. My si v tomto tutoriálu ukážeme jak na číselné 20260010 zobrazení ideálně devítimístné pro ideální použití například jako pro variabilní symbol.

Používám k číslovaní objednávek raději čísla. Číslovaní objednávek je po malé úpravě čisté a přehledné.

Takového tvaru čísla objednávky docílíte velmi jednoduše upravením původního kódu.

1. Otevřete si FTP databázi. Ve složce /classes/order si stáhnete soubor Order.php

2. Po stažení, soubor Order.php otevřete v programu NotePad nebo PSPad

Tento kód vyměníte:

public static function generateReference()
{
    return strtoupper(Tools::passwdGen(9, 'NO_NUMERIC'));
}

Za tento nový kód:

public static function generateReference()
{
    $query = new DbQuery();
    $query->select('MAX(id_order) as max');
    $query->from('orders');
    $query->where('id_cart' > 0);
    $order = Db::getInstance()->getRow($query);
    $reference = $order['max'] +10 ;
    return sprintf('2026%05d', $reference);
}

2. Soubor uložte a nahrajte zpátky do FTP databáze.

A máte hotovo. Příští objednávka bude již číselná.

Můžete ještě upravit řádek „return sprintf(‚2026%05d‘, $reference);“ 2023 označuje prefix před číslem objednávky.%05d označuje počet znaků za prefixem v tomto případě je to 5 znaků. Doporučuji ponechat 5 znaků, jelikož číslo objednávky může být také číslo variabilního symbolu. Banky mají omezený počet pro variabilní symbol maximálně 9 znaků proto se jedná o součet 4+5 = 9 znaků.

V případě že nebude chtít, manuálně upravovat generovaní tohoto čísla doporučuji modul Změna kódu objednávky – change reference code od mého oblíbeného vývojáře Prestashop modulů.