Metaboxy – 4. Díl – CRUD – napojení na vlastní tabulky v DB

08.04.2015 | Tomáš Kocifaj

Tento díl nám ukáže, jak je možné vytvářet vlastní typy obsahu – mimo databázovou strukturu. Velmi často nastává situace, kdy je potřeba ukládat nějaké záznamy, ale obecné typy ve WordPressu se pro to příliš nehodí – například nějaké číselníky, objednávky, adresy atd. Pro tento účel byly vytvořeny metaboxy – CRUD (Create, Ready, Update, Delete), které ukládají data právě do námi potřebné tabulky.

Jaké komponenty budeme potřebovat?

  1. KT Admin Screen – pro vytvoření vlastní admin stránky s možností metaboxů
  2. KT_Metabox – hlavní komponenta pro práci s metaboxy
  3. KT Form Fieldset – pro definování fieldů v metaboxech
  4. KT_CRUD  – pro napojení dat na vlastní tabulku v DB
  5. KT_Catalog_Base_Model – základní model pro položky katalogového listu
  6. KT_CRUD_Admin_List – komponenta, která nám vytváří výpis našich záznamů

Vlastní tabulky v DB

V první řadě budeme potřebovat vlastní tabulku v naší DB. To provedeme ručně pomocí některého nástroje, který pro správu s databází používáme. Parametry naší tabulky by měly vypadat nějak takto:

Výše popsaný script vám případně vytvoří námi potřebnou tabulku. Script vychází z obecného modelu KT Catalog Base Model.

Vytvoření modelu

Pro správnou komunikaci s databází bude nutné připravit svůj objekt. V tomto případě budeme opět vycházet z našeho obecného modelu KT Catalog Base Model, který byl pro tyto jednoduché „číselníky“ připraven.

Jaké konstanty, a proč jsme si je definovali, najdete v sekci o komponentě KT_CRUD, z této komponenty také vychází KT Catalog Base Model.

Vlastní stránka pro zobrazení dat

V předchozím díle o metaboxech typu WP_OPTION jsme si ukázali, jak definujeme vlastní stránku s metaboxy v administraci WordPressu. Vydáme se stejnou cestou, pouze si upravíme některé parametry tak, aby vyhovovali našemu řešení.

Vytvoříme si soubor, který pojmenujeme jako kt_wp_fw_custom_catalog_screen.inc.php,
tento soubor umístíme do složky: yours/requires/template_pages/.

Když se nyní podíváme do naší administrace, provedeme obnovu, uvidíme naši novou stránku, která zatím nic nezobrazuje – nemá co – ale registrace proběhla úspěšně.

Založení vlastní stránky pro úpravu vlastních záznamů

Nyní, když jsme si vytvořili stránku, je potřeba na ni napojit výpis a editaci záznamů.

Napojení záznamů do stránky

Nyní dojde na řadu komponenta KT CRUD Admin List, pomocí které definujeme náš seznam, její sloupce a některé vlastnosti.

Když se v tuto chvíli podíváme na naši stránku, trochu se nám změnila. Již je vidět základní struktura tabulky a tlačítko pro přidání nového záznamu. To nám ale zatím nefunguje.

vlastni-stranka-propojena-s-kt-crud-admin-list

 

Přidávání / Editace záznamů

V tuto chvíli budeme potřebovat oživit přidávání a editaci záznamů. K tomu nám pomůže právě náš objekt KT Metabox a jeho datový typ metaboxu typu CRUD. K tomu budeme také potřebovat config pro model, kde definujeme základní KT Form Fieldset, pro vyplnění a úpravu dat pomocí formuláře.

Protože náš model vychází z KT Catalog Model Base, můžeme použít také jeho config k tomu, abychom pro něj definovali formulář. Pokud bychom měli vlastní model bez našeho základního modelu, bude nutné definovat celý config.

Vytvoření metaboxu

Vytvoříme soubor kt_wp_fw_custom_catalog_metabox.inc.php, který umístíme do složky yours/requires/metaboxes.

Doplnění stránky o další akce

V tuto chvíli budeme potřebovat rozšířit definici naší stránky o to, aby uměla pracovat s příslušnou akcí pro vytvoření a úpravu záznamů, které si pomocí našeho modelu připravíme. Nezapomeneme také dodat zapnutí tlačítka pro uložení přidaných záznamů.

Když nyní klikneme na tlačítko přidat záznam, dostaneme prázdný formulář pro přidání nového záznamu do našeho modelu.

Prázdný formulář pro přidání nového záznamu

 

Závěrem

Máme hotovo – vše nyní funguje a můžeme mít vlastní číselník pro uživatele v prostředí, na které je zvyklý. Všechno nás to přitom stálo jen sepsání několika řádků kódu. O ostatní věci se postará framework bez nutností dalšího napojení na databázi.

Když si nyní přidáme několik záznamů, uvidíme, co vše nám crudList dle našeho nastavení připravil.

Finální zobrazení záznamů v našem CRUD Listu

Více informací o tom, jaké funkce nám KT CRUD Admin List nabízí, se dočtete na popisu samotné komponenty. V našem případě jsme aktivovali možnost řazení záznamů. Pomocí první ikonky je možné záznamy přetahovat a určovat tak jejich pořadí.

 

Podobné články

Pokud si někdo není jistý, co to metabox je, rádi bychom udělali malou rekapitulaci. Metabox je ve WordPressu blok, který…

V předchozích dílech jsme si ukázali, jak snadno a rychle vytvořit metabox, jak do něj umístit prvky formuláře proto, abychom…

V minulém díle jsme si ukázali, jak snadno přidat metabox k post typům – ať už nativním v rámci WordPressu…

O autorovi: Tomáš Kocifaj

Tomáš Kocifaj

Tomáš aktivně v oboru tvorby webových stránek podniká už 6. rok. Za tu dobu nasbíral spoustu zkušeností, dovedností a představu o tom, jak by měla práce takového člověka probíhat. Čím by se neměl zdržovat, zatěžovat a podle toho také s kolegou Martinem začal psát tento projekt.



Odebírejte novinky z FW

Sledujte nás!

Tyto stránky využívají Cookies. Používáním těchto stránek vyjadřujete souhlas s používáním Cookies.Zjistit víceOK, rozumím