Il est tout à fait possible de travailler directement en PHP pour lister, éditer et supprimer des objets polymod.
Cependant cela demande une connaissance de PHP.
Voici rapidement quelques exemples :
Pour récupérer un objet seul, on peut utiliser :Code :
$myPolyObject = CMS_poly_object_catalog::getObjectByID($itemID, $returnDefinition = false, $public = false);
Pour effectuer une recherche :Code :
$search = new CMS_object_search(new CMS_poly_object_definition($objectID),true); // Instanciation
$search->addWhereCondition($fieldID, $myValue); // Recherche par valeur
$search->addWhereCondition('item', $itemID); // Recherche par id
$search->addOrderCondition($fieldID, 'asc'); // Ordonner les résultats en ASC
$search->setAttribute('itemsPerPage', 10); // Limiter les résultats par page
$items = $search->search(); // Renvoie des objets polymod par défaut. Un paramètre permet de spécifier le type de données à retourner. Il existe des types moins gourmands en mémoire. Par exemple retourner uniquement les IDs des objets.
Pour insérer des valeurs à des champs, et enregistre l'objet :Code :
$myPolyObject = CMS_poly_object_catalog::getObjectByID($itemID, $returnDefinition = false, $public = false); // Instanciation
$myPolyObject->setValues($fieldID, array($fieldID.'_0' => $statusToSet), ''); // Insère une valeur dans le champ. Retourne false en cas d'échec.
$myPolyObject->writeToPersistence(); // Enregistre l'objet. retourne false en cas d'échec.
// Attention, il faut vérifier le fonctionnement de ces fonctions en regardant leur fonctionnement dans les classes. Certains paramètres ou syntaxes sont particulières.
Ceci n'est qu'un aperçu des possibilités via PHP. Il est possible de faire beaucoup mieux...