Étant donné un objet SPListItem représentant un dossier, je dois déterminer s'il possède le type de contenu de dossier intégré ou un type de contenu de dossier personnalisé (avec des champs supplémentaires).Détection de types de contenu de dossier personnalisé dans MOSS2007
Voici ce que je fais
SPContentType folderType = aFolderItem.Web.AvailableContentTypes[SPBuiltInContentTypeId.Folder];
SPContentType contentType = aFolderItem.ContentType;
if (contentType != folderType)
...
Cependant, pour les dossiers par défaut, je reçois toujours un type de contenu différent de celui du type construit. Ils ont des ID comme 0x0120007C34D9760794FA43AB267F4E1A1BF460. Je ne suis pas sûr d'où provient ce suffixe GUID particulier, je ne le trouve pas dans la définition du dossier my \ features.
Ma meilleure estimation est que les dossiers instanciés reçoivent toujours un type personnalisé. Si c'est le cas, toute suggestion sur la façon dont je pourrais faire la différence entre les dossiers intégrés et les dossiers personnalisés?
Aha, merci de confirmer que c'est comme ça que ça fonctionne. Maintenant que j'y ai réfléchi un peu plus, c'est en fait assez évident (voir comment les types de contenu de la liste peuvent avoir des personnalisations qui sont séparées du type de contenu du site parent). Votre suggestion sur la façon de détecter les dossiers intégrés (appliqués) devrait fonctionner comme un charme. Excellent. –