You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.

Návod na nastavení modulu Multishipping v OpenCart – záložka 3 (Nastavení dopravy)

Modul Multishipping pro OpenCart umožňuje přidat více způsobů dopravy, které lze nastavit podle hmotnosti, ceny, zón nebo jiných parametrů.

1. Přehled záložky 3 – Nastavení dopravy

V této záložce se nastavují jednotlivé způsoby dopravy. Obvykle obsahuje následující pole:

  • Název dopravy – název, který se zobrazí zákazníkovi (např. „Zásilkovna“, „PPL“, „GLS“).
  • Ceník podle – výběr, zda se má cena dopravy určovat podle: hmotnosti zásilky, celkové ceny objednávky, počtu položek v košíku.
  • Geo zóny – určení, pro které regiony je daný způsob dopravy dostupný.
  • Daňová třída – výběr, zda se na dopravu vztahuje daň a v jaké sazbě.
  • Text při 0 € – možnost nastavit vlastní text (např. „zdarma“) namísto zobrazování „0 €“.

2. Postup nastavení dopravy v záložce 3

  1. Otevřít modul Multishipping v administraci OpenCart.
  2. Přejít na záložku 3 – Doprava / Methods.
  3. Klepnout na „Přidat dopravu“ nebo „Add Method“.
  4. Vyplnit požadované údaje pro novou metodu dopravy: Zadat název metodygeo zónu. Nastavit podmínky jako minimální a maximální hmotnost, cena objednávky apod. Určit , případně i daňovou třídu. Vyplnit volitelný :str> při nulové ceně.
  5. Potvrdit kliknutím na Uložit / Save.
  6. Po uložení změn je třeba přejít do sekce Rozšíření → Modifikace a kliknout na Obnovit / Refresh, aby se změny projevily v uživatelském rozhraní e-shopu.

3. Doplňková doporučení

  • Pokud se po uložení změn nové metody nezobrazí: Doporučuje se zvýšit hodnotu PHP direktivy max_input_vars (např. na 5000), protože modul může odesílat velké množství vstupních polí Zkontrolovat, zda byla při ukládání nastavena všechna povinná pole.
  • V případě potřeby nastavit dopravu pro více dodavatelů (multi-vendor řešení), ujistit se, že je použit kompatibilní multivendor modul.
  • Geo zóny je třeba vytvořit předem v sekci Systém → Lokalizace → Geo zóny, aby byly dostupné v nastavení dopravy.

Shrnutí

Záložka 3 slouží k definování konkrétních způsobů dopravy. Každý způsob je třeba podrobně nastavit a po uložení aktualizovat modifikace systému.

V OpenCartu je event system (systém událostí) klíčovým způsobem, jak upravovat nebo rozšiřovat funkcionalitu bez zásahu do core kódu. onAfter (resp. jakákoli událost s tímto názvem) funguje jako hook po provedení určité akce – umožní ti „naslouchat“ a provést vlastní kód po určité události.

Jak fungují onAfter eventy v OpenCart:

OpenCart eventy mají podobu:

bash
action/event/trigger

Například:

php
$this->event->trigger('catalog/controller/product/product/after', [&$route, &$args, &$output]);

Tento konkrétní příklad říká:

  • „Zavolej všechny eventy registrované na catalog/controller/product/product/after“
  • A předává jim $route, $args a výstup z controlleru $output.

Pojmy:

  • onBefore – událost před provedením nějaké akce.
  • onAfter – událost po provedení akce, kdy už jsou k dispozici výsledky (např. $output).

Registrace eventu (např. ve tvém modulu):

php
$this->model_setting_event->addEvent('muj_modul_after_product', 'catalog/controller/product/product/after', 'extension/module/muj_modul/onAfterProduct');

Tím říkáš: Až bude dokončen controller catalog/controller/product/product, spusť metodu onAfterProduct.

Vlastní handler (např. catalog/controller/extension/module/muj_modul.php):

php
public function onAfterProduct(&$route, &$args, &$output) { // $output je HTML stránka, kterou můžeš upravit $output .= '<!-- Můj kód po načtení produktu -->'; }

&$output je důležitý, protože umožňuje upravit výsledný HTML výstup nebo obsah vrácený funkcí.

Shrnutí:

  • onAfter eventy se volají po hlavní akci (např. po načtení controlleru).
  • Máš přístup k $route, $args, $output → můžeš upravit výsledek nebo přidat vlastní logiku.
  • Události se registrují v databázi pomocí model_setting_event.