Ebben a bejegyzésemben az előző bejegyzésemben bemutatott form beágyazási technika alapján készített plugint tenném közzé.

A plugin célja, hogy egyszerűsítsen a symfony beágyazási technikáján. Az egyszerűsítés viszont nem minden esetben jobb. Tehát ott érdemes használni, ahol nem visszük túlzásba a beágyazást. 🙂 Ha túlságosan egyedi formára kívánjuk hozni, akkor előfordulhat hogy rengeteg módosítás helyett, célszerűbb teljesen tiszta lapról indulni. Akkor pedig az előző bejegyzésem nagyobb segítség, mint ez a plugin.
A plugin használatának nagyon fontos feltétele, hogy a kapcsolt táblák 1:N kapcsolatban legyenek az adatbázis szerint is. Tehát a beágyazandó táblában legyen meg az idegen kulcs!

Hozzávalók:
A plugin itt található
sfJqueryReloadedPlugin
CakePHP set osztálya, a symfonysított verziót ide tettem fel.

A plugin telepítése:

  1. Miután létrehoztuk a projektünket, a plugin könyvtárba csomagoljuk ki plugint
  2. Engedélyezzük a az apps/config/settings.yml fájlban:
    [code lang=”php”]
    all:
    enabled_modules: [default, tlsysEmbedderHelper, stb]
    [/code]
    Erre azért van szükség, mert az ajaxos hívást kiszolgáló action a pluginba került. Így azt sem kell állandóan újra és újra megírni.
  3. A lib/form/BaseFormPropel.class.php származtatása a pluginnban talalhato tlsysEmbedderFormból
    [code lang=”php”]
    abstract class BaseFormPropel extends tlsysEmbedderForm
    [/code]
  4. A szükséges formokkban értéket kell adni a $tlsysEmbeddedForms protected változónak. Egy példa az előző bejegyzésemben található OsztalyFormra.
    [code lang=”php”]
    class OsztalyForm extends BaseOsztalyForm
    {
    # meg kell adni a beágyazni szándékozott osztály nevét, egyes és többesszámban
    # a többesszám az, ahogy a propel hivatkozik rá
    protected $tlsysEmbeddedForms = array(array(‘singular’=>’Tanulo’, ‘plural’=>’Tanulos’));
    public function configure()
    {
    }
    }
    [/code]

Ezzel a 4 lépéssel ugyanazt értük el, mint az előző bejegyzésemben található litániával.

A bemutató alkalmazás innen tölthető le