Nach dem googeln usw. Ich habe in dem Code unten angekommen Hinzufügen eine neue Kategorie Joomla , so dass alle Plug - Veranstaltungen, etc. getan.
$basePath = JPATH_ADMINISTRATOR.'/components/com_categories';
require_once $basePath.'/models/category.php';
$catmodel = new CategoriesModelCategory(array('table_path' => $basePath.'/tables'));
$myArrayOfData = array('id'=>'0','title'='my title'...);
$catmodel->save($myArrayOfData);
So wie es jetzt ist, verwende ich denselben Code zum Aktualisieren des Datensatzes, aber anstelle einer neuen Kopie des hinzuzufügenden Datenarrays verwende ich SQL, um den vorhandenen Datensatz als Array abzurufen, und ändere und speichere ihn dann auf dieselbe Weise.
Dies "funktioniert", scheint aber nicht der richtige Weg zu sein, daher bin ich gespannt, wie das Modell mit der ID der Kategorie geladen und dann mit seinen Methoden geändert / gespeichert werden kann. Ich habe versucht, dem Code zu folgen, der ausgeführt wird, wenn die Kategoriekomponente dies tut, aber es sind zu viele Dinge im Gange, als dass ich festlegen könnte, wie es gemacht wird.
quelle
CategoriesTableCategory::bind(*NULL*)
, aber Ihre geänderte Antwort verwendet jTable, nicht das Modell, nach dem ich suche. Wird dies die Plugin-Ereignisse wie onContentAfterSave auslösen?save
Methode wird verwendet, um Formulare an Daten zu binden. Ich habe es durchcheck
undstore
Methoden ersetzt. Jetzt wird die Tabelle vom Modell aufgerufen, sodass Sie auch das Kategoriemodell in Ihren Händen haben.