cancel
Showing results for 
Search instead for 
Did you mean: 

Ajout de plusieurs catégories en PHP

steph60fr
Champ in-the-making
Champ in-the-making
Bonjour,
J'ai cherché sur plusieurs forum (anglais et français) et je n'arrive pas à ajouter plus d'une catégorie en utilisant l'api PHP

Mon script :
***
      $upload->cm_name = $_FILES['uploadedfile']['name'];
      $upload->cm_title = $_POST['titre'];
      $upload->cm_author = $_POST['auteur'];
      $upload->cm_description = $_POST['description'];
    
      $upload->addAspect("{http://www.alfresco.org/model/content/1.0}generalclassifiable");
      $categoryNodeRef = "workspace://SpacesStore/".$_POST['cat'];
      $upload->properties['{http://www.alfresco.org/model/content/1.0}categories']= $categoryNodeRef;

      $subcategoryNodeRef = "workspace://SpacesStore/".$_POST['souscat'];
      $upload->properties['{http://www.alfresco.org/model/content/1.0}categories'] = $subcategoryNodeRef; //remplace la précédente valeur $categoryNodeRef

      $session->save();

Je voudrais que pour le document uploadé , on puisse affecter les catégories que l'on poste via un formulaire
Tout se passe bien, sauf que $upload->properties[..] ne permet pas d'ajouter mais seulement d'affecter une catégorie, j'ai essayé en concaténant les variables et ça ne marche pas non plus, quelqu'un aurait une idée ?

Merci

Stephane
3 REPLIES 3

rguinot
Confirmed Champ
Confirmed Champ
Avez vous essayé de regarder via le node browser le formalisme des multiple catégories d'un noeud pour voir quoi poster ? peut être faut il poster un array plutôt qu'une string.

steph60fr
Champ in-the-making
Champ in-the-making
J'ai essayé avec un array en affectant :
$categoryNodeRef[0] = "workspace://SpacesStore/".$_POST['cat'];
$categoryNodeRef[1] = "workspace://SpacesStore/".$_POST['souscat'];
$upload->properties['{http://www.alfresco.org/model/content/1.0}categories']= $categoryNodeRef;

Mais ça ne fonctionne pas Smiley Sad

Sur les forums anglais, cette personne a le même probleme :
http://forums.alfresco.com/en/viewtopic.php?f=21&t=15880

et cette personne a réussi meme en js pas en php :
http://forums.alfresco.com/en/viewtopic.php?f=36&t=15512&p=51344

Le moyen le plus simple que je vois est de créer un règle dans l'espace pour affecter une catégorie-root à la sous catégorie reçue en POST(en faisant un test sur l'ensemble des sous catégorie), c'est moyen car on post aussi la catégorie root Smiley Sad

Si quelqu'un a une meilleure idée !!!  😎

sebastienqsf
Champ in-the-making
Champ in-the-making
Bonjour, je suis également, pour un projet, en train d'écrire un script permettant d'uploader des fichiers via des scripts php. Il est possible qu'un fichier ait plusieurs catégories et je me cogne au même problème : je n'arrive pas à affecter plusieurs catégories à un fichier. Voila mon code :


$categoryNodeRef1 = "workspace://SpacesStore/".$category1->getId();
$categoryNodeRef2 = "workspace://SpacesStore/".$category2->getId();
$properties = $contentNode->getProperties();
$properties["{http://www.alfresco.org/model/content/1.0}categories"] = array(categoryNodeRef1,categoryNodeRef2);
$contentNode->setProperties($properties);
$session->save();

$contentNode correspond au noeud de mon fichier déjà présent dans alfresco.

Ce code ne fonctionne pas. La seule manière que j'ai trouvé de le faire marcher c'est de renseigner qu'une seule catégorie sans passer par un tableau (mais ce n'est pas ce qui est demandé). J'ai même essayer de concaténer les deux catégories en essayant différents caractères de séparation. Il m'est difficile de passer par du javascript comme j'ai pu voir sur le forum, j'ai cherché partout. Je ne trouve vraiment pas de solution. Quelqu'un saurait il comment sont gérées les catégories pour savoir comment attacher deux catégories à un document ?
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.