JTable::store gibt false zurück

  • Hallo zusammen,


    ich bin aktuell ratlos.


    In meiner Komponente können für Einträge des Typs "Items" Tags hinterlegt werden. Das funktioniert wunderbar.


    Nun sollen auch andere Einträge (hier: Typ "Goal") mit Tags versehen werden. Allerdings erhalte ich hier folgende Rückmeldung:


    Zitat

    Speichern fehlgeschlagen! Fehler:


    Dies ist nur dann der Fall, wenn in der Table der Observer aktiv ist.


    Meine Quellen:


    Form:

    Code
    <field  name        =       "tags"             type        =       "tag"            label       =       "JTAG"             description =       "JTAG_DESC"            class       =       "inputbox span12 small"             multiple    =       "true" />



    getItem (Model)

    Code
    /** * getItem function. *  * @access public * @param mixed $pk (default: null) * @return void */public function getItem($pk = null){    if ($item = parent::getItem($pk))     {        // Convert the metadata field to an array.        $registry                   =       new JRegistry;        if(isset($item->metadata))        {            $registry->loadString($item->metadata);            $item->metadata         =       $registry->toArray();        }        if (!empty($item->id))        {            $item->tags             =       new JHelperTags;            $item->tags->getTagIds($item->id, 'com_bestia.goal');            $item->metadata['tags'] =       $item->tags;        }    }    return $item;}


    constructor (Table)

    Code
    public function __construct(&$db){    parent::__construct('#__bestia_goals', 'id', $db);    JTableObserverTags::createObserver($this, array('typeAlias' => 'com_bestia.goal'));}


    store-Methode (Table)


    Wenn ich hier $result mit var_dump ausgebe, erhalte ich "false". Ich kann aber nicht erkennen, warum dies der Fall ist.


    Vielleicht könnt ihr mir weiter helfen?


    Edit:


    Folgende Informationen sind ggf. noch wichtig:


    Wenn Tags eingegeben werden, werden diese auch gespeichert und angezeigt. Der Fehler erscheint trotzdem.
    Wenn keine Tags eingegeben werden, das Tags-Feld als leer ist, erscheint der Fehler nicht.

    Einmal editiert, zuletzt von ehrenwert ()

  • multiple = "true" bedeutet, es ist ein Array was du entsprechend wandeln musst in JSON bei store, validate und load.

  • Hm, eigentlich sollte das bei den Tags nicht noch weitere Maßnahmen benötigen als ich vorgenommen habe.


    Ich habe aber zur Sekunde den Fehler gefunden: Das scriptfile war fehlerhaft und hat den Eintrag in den content types nicht korrekt vorgenommen.