
Recherche avancée
Médias (2)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (104)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
Sur d’autres sites (7194)
-
Anomalie #3894 : Jointures (erronées ?) avec les boucles documents et leurs critères
27 janvier 2017, par marcimat ☺☮☯♫Les cas objet / id_objet¶
En appelant
page=test&objet=rubrique&id_objet=1
:-
(DOCUMENTS){objet?}{id_objet?}
-(DOCUMENTS){id_objet?}{objet?}
-(DOCUMENTS){objet?}{id_objet?}{vu=non}
-(DOCUMENTS){id_objet?}{objet?}{vu=non}
-(DOCUMENTS){vu=non}{id_objet?}{objet?}
Jointures correctes : 1 seule jointure L1 sur spip_documents_liens-
(DOCUMENTS){id_article?}{objet?}{id_objet?}
Jointure incorrecte : il y a 2 jointures différentes pour objet & id_objetSELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L3 ON ( L3.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L2 ON ( L2.id_document = documents.id_document ) WHERE (documents.statut = ’publie’) AND (documents.mode IN (’image’,’document’)) AND (documents.taille > 0 OR documents.distant=’oui’) AND (L2.objet = ’rubrique’) AND (L3.id_objet = 1) GROUP BY documents.id_document
-
(DOCUMENTS){id_article?}{objet?}{id_objet?}{vu=non}
Même comportement erroné, avec vu sur L1 et 2 jointures pour objet & id_objet :SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L3 ON ( L3.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L2 ON ( L2.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.statut = ’publie’) AND (documents.mode IN (’image’,’document’)) AND (documents.taille > 0 OR documents.distant=’oui’) AND (L2.objet = ’rubrique’) AND (L3.id_objet = 1) AND (L1.vu = ’non’) GROUP BY documents.id_document
Il me semble que les jointures objet / id_objet ne fonctionnent que s’ils sont les premiers critères optionnels créant possiblement une jointure de la boucle.
Cependant(DOCUMENTS){vu?}{objet?}{id_objet?}
fonctionne aussi avec vu optionnel (1 seule jointure). -
Anomalie #3894 : Jointures (erronées ?) avec les boucles documents et leurs critères
26 janvier 2017, par tcharlss (*´_ゝ`)J’ai testé avec divers objets que j’avais sous la main pour voir, on reprenant le même procédé :
- un document attaché à 2 objets, vu=oui pour le N°1, et vu=non pour le N°2
id_patate=1
dans l’URL{id_patate?}{vu=non}
dans la boucle
Ça n’a fait la bonne jointure que pour 1 seul objet, donc c’est plutôt une exception on dirait.
Rigolo : le nom de la jointure superflue s’incrémente entre chaque test, j’ai fini à L8 ! (L5 je l’ai enlevé, c’était sur les auteurs, donc même ambiguïté que pour les mots clés)Album [OK] :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L1.id_objet = 1) AND (L1.objet = ’album’) AND (L1.vu = ’non’) GROUP BY documents.id_document
Brève [PAS OK] :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L2 ON ( L2.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L2.id_objet = 1) AND (L2.objet = ’breve’) AND (L1.vu = ’non’) GROUP BY documents.id_document
Forum [PAS OK] :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L3 ON ( L3.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L3.id_objet = 1) AND (L3.objet = ’forum’) AND (L1.vu = ’non’) GROUP BY documents.id_document
Mot [PAS OK] (là c’est un peu spécial car il y a une ambiguïté avec mots_liens) :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_mots_liens AS L4 ON ( L4.id_objet = documents.id_document AND L4.objet=’document’) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L4.id_mot = 1) AND (L1.vu = ’non’) GROUP BY documents.id_document
Abonnement [PAS OK] :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L6 ON ( L6.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L6.id_objet = 1) AND (L6.objet = ’abonnement’) AND (L1.vu = ’non’) GROUP BY documents.id_document
Ticket [PAS OK] :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L7 ON ( L7.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L7.id_objet = 1) AND (L7.objet = ’ticket’) AND (L1.vu = ’non’) GROUP BY documents.id_document
Adresse [PAS OK] :¶
SELECT documents.fichier FROM spip_documents AS `documents` INNER JOIN spip_documents_liens AS L8 ON ( L8.id_document = documents.id_document ) INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document ) WHERE (documents.taille > 0 OR documents.distant=’oui’) AND (L8.id_objet = 1) AND (L8.objet = ’adresse’) AND (L1.vu = ’non’) GROUP BY documents.id_document
-
Anomalie #4012 : pipeline post_insertion n’affiche pas toutes les valeurs insérées
9 octobre 2017, par Peet duok ok !
Donc lors de la création d’une nouvelle instance d’un objet, SPIP fait les choses en deux temps.
1er temps¶
objet_inserer() va ’préparer’ la nouvelle instance et tenter, si les champs existent dans l’objet, d’enregistrer les valeurs de :
[’id_rubrique’] [’id_secteur’] [’lang’] [’langue_choisie’] [’statut’] [’date’]
Donc au mieux le pipeline post_insertion renvoi un tableau contenant l’id de l’objet + le tableau des champs ci-dessus et leurs valeurs.
2e temps¶
si objet_inserer() renvoie bien un id_objet, objet_modifier() va lui enregistrer le reste, c’est à dire les valeurs correspondants aux champs déclarés comme editables dans plugins/base/mon_objet.php
Il faut donc utiliser le pipeline post_edition si on veut pouvoir lire une des valeurs dites "editables".
Donc pas d’anomalie, juste une incompréhension de la doc.
On peut fermer le ticket
ps : merci marcimat et jluc