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

Manuál: Spárovánie modifikácie v EA OCMOD Manageru (OpenCart 3)

Tento postup popisuje, ako sa podarilo „spárovať“ Multishipping v module extension/enhancement/ea_ocmod_manager a ako to aplikovať všeobecne na ľubovoľnú modifikáciu alebo modul.

Čo znamená „spárovať“
EA OCMOD Manager pri modifikácii zobrazuje:
  • Installed with: (názov balíčka) – hodnota z oc_extension_install.filename
  • Installed files (N): – zoznam súborov z oc_extension_path podľa rovnakého extension_install_id
Všetko stojí na konzistentnej väzbe cez extension_install_id.

Dátový model väzieb

  • oc_modification.extension_install_id → odkaz na inštaláciu
  • oc_extension_install.extension_install_id → „hlavička“ inštalácie (obsahuje filename)
  • oc_extension_path.extension_install_id → zoznam súborov nainštalovaných balíčkom
Bezpečná zmena: úprava oc_extension_install.filename (je to len „štítok“, nemení ID ani väzby).
Riziková zmena: ručné presuny alebo mazanie záznamov, ktoré majú path_cnt alebo mod_cnt > 0.

Postup krok za krokom

1) Nájdite modifikáciu a jej extension_install_id

SELECT modification_id, name, code, extension_install_id, status
FROM oc_modification
WHERE name LIKE '%NAZOV%'
   OR code LIKE '%KOD%'
ORDER BY modification_id DESC;

2) Overte existenciu záznamu v oc_extension_install

SELECT extension_install_id, filename, extension_download_id, date_added
FROM oc_extension_install
WHERE extension_install_id = <EXT_ID>;
  • Existuje a filename je zmysluplné → OK
  • Existuje, ale filename je -NA-.xml / -NA-.xml_ → opravte názov
  • Neexistuje → vytvorte „virtuálnu“ inštaláciu
  • EXT_ID = 0 / NULL → ručný import, pokračujte bodom 5

3) (Voliteľné) Overenie nainštalovaných súborov

SELECT COUNT(*) AS files_cnt
FROM oc_extension_path
WHERE extension_install_id = <EXT_ID>;

4) Najčastejšia oprava: premenovanie filename

UPDATE oc_extension_install
SET filename = 'nazov_balicka.ocmod.zip'
WHERE extension_install_id = <EXT_ID>;

5) Vytvorenie „virtuálnej“ inštalácie

Ide o kozmetické riešenie pre EA OCMOD Manager, nie o skutočný Extension Installer proces.
INSERT INTO oc_extension_install (extension_download_id, filename, date_added)
VALUES (0, 'kod_modulu.ocmod.zip', NOW());
UPDATE oc_modification
SET extension_install_id = <NEW_ID>
WHERE modification_id = <MOD_ID>;

Hromadná normalizácia názvov -NA

UPDATE oc_extension_install i
JOIN oc_modification m
  ON m.extension_install_id = i.extension_install_id
SET i.filename = CONCAT(m.code, '.ocmod.zip')
WHERE i.filename IN ('-NA-.xml', '-NA-.xml_')
  AND m.code IS NOT NULL
  AND m.code <> '';

Kontrolné dotazy

SELECT i.extension_install_id, i.filename
FROM oc_extension_install i
LEFT JOIN oc_extension_path p ON p.extension_install_id=i.extension_install_id
LEFT JOIN oc_modification m ON m.extension_install_id=i.extension_install_id
WHERE p.extension_install_id IS NULL
  AND m.extension_install_id IS NULL;

Ak používate iný prefix než oc_, nahraďte ho. Manuál je určený pre OpenCart 3 + EA OCMOD Manager.