Recherche avancée

Médias (0)

Mot : - Tags -/images

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (103)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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 ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (5965)

  • Anomalie #3894 : Jointures (erronées ?) avec les boucles documents et leurs critères

    27 janvier 2017, par marcimat ☺☮☯♫

    Jointure avec Documents / id_mot

    Par ailleurs pour les mots la jointure que montre tcharles est correcte justement. Cependant, là il cherche les mots clés présents sur les documents, ce qui contredit ce que je disais en 2012 là http://marcimat.magraine.net/SPIP-3-Documents-Mots :

    Ce que SPIP va décider lorsqu’il y a ambiguïté, c’est à dire comme ici (DOCUMENTS){id_mot} alors qu’il existe les 2 tables spip_documents_liens et spip_mots_liens, c’est qu’il va préférer interpréter cela comme une liaison sur la table de lien de la boucle en cours, c’est à dire sur spip_documents_liens, ce qui signifie donc que ça va retourner « les documents attachés à un mot clé »

    Donc, pour ce point, quelque part à un moment donné il y a eu un changement.

    Autres test.

    Je viens de remarquer que le problème survient dès lors qu’il y a plusieurs critères optionnels sur la boucle. De telle sorte les boucles suivantes ont une seule jointure sur spip_documents_liens :
    -
    -
    - (+ 1 jointure sur spip_mots_liens)

    C’est dès lors qu’on utilise plusieurs critères optionnels que les problèmes surviennent :
    -

    Si on appelle page=test&id_breve=1 (1er critère) on aura 1 seule jointure :

    SELECT documents.fichier
    FROM spip_documents AS `documents`  
    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 (L1.id_objet = 1)
        AND (L1.objet = ’breve’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Si on appelle page=test&id_article=1 (2è critère) on aura 2 jointures :

    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.statut = ’publie’)
        AND (documents.mode IN (’image’,’document’))
        AND (documents.taille > 0 OR documents.distant=’oui’)
        AND (L2.id_objet = 1)
        AND (L2.objet = ’article’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Si on appelle page=test&id_rubrique=1 (3è critère) on aura 2 jointures (le L s’incrémente à L3) :

    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.statut = ’publie’)
        AND (documents.mode IN (’image’,’document’))
        AND (documents.taille > 0 OR documents.distant=’oui’)
        AND (L3.id_objet = 1)
        AND (L3.objet = ’rubrique’)
        AND (L1.vu = ’non’)
    GROUP BY documents.id_document
    

    Autrement dit, je pense que SPIP crée une jointure pour la possibilité d’avoir id_breve dans l’URL (L1), pareil pour id_article (L2), etc pour les suivantes.
    Le champ "vu" utilise la première jointure possible (toujours L1 du coup ici). Ensuite SPIP nettoie les jointures inutiles en fonction des paramètres d’environnement reçus, mais il ne peut enlever L1 car le champ "vu" l’utilise (alors qu’il faudrait qu’il utilise une autre jointure, L3 par exemple si id_rubrique dans l’env, et enlever L1).

  • 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 du

    ok 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