[SPIP Zone] {vu} et nouveaux modèles

Salut,

le plugin medias_responsive_mod propose 2 nouveaux modèles pour afficher les images ( ). Le souci, c’est que les images affichées dans le contenu par ces modèles ne sont pas considérées comme vu.

En fouillant, j’ai trouvé la déclaration des modèles dans medias :

J’ai donc surchargé declarer_tables_objets_sql avec ligne et slide :

function medias_responsive_mod_declarer_tables_objets_sql($tables) {
$tables[‹ spip_documents ›] = array(
‹ modeles › => array(‹ document ›, ‹ doc ›, ‹ img ›, ‹ emb ›, ‹ image ›, ‹ video ›, ‹ text ›, ‹ audio ›, ‹ application ›,‹ ligne ›,‹ slide ›),
);
return $tables;
}

Ça fonctionne mais je me dis qu’il doit y avoir mieux en ajoutant simplement les nouveaux modèles au lieu de surcharger l’ensemble (plus pérenne) mais je ne trouve pas la syntaxe.

Si vous avez des pistes…

jeanmarie

Le 19/06/2019 à 09:26, Jean Marie Grall a écrit :

J'ai donc surchargé declarer_tables_objets_sql avec ligne et slide :

functionmedias_responsive_mod_declarer_tables_objets_sql($tables) {
$tables['spip_documents'] = array(
'modeles'=> array('document', 'doc', 'img', 'emb', 'image', 'video', 'text', 'audio', 'application','ligne','slide'),
);
return$tables;
}

Ça fonctionne mais je me dis qu'il doit y avoir mieux en ajoutant simplement les nouveaux modèles au lieu de surcharger l'ensemble (plus pérenne) mais je ne trouve pas la syntaxe.

Avec la fonction php array_merge()

ou simplement en les ajoutant un par un :
$tables['spip_documents'] = 'ligne';
$tables['spip_documents'] = 'slide';

JL

Le 19/06/2019 à 09:44, JLuc a écrit :

Le 19/06/2019 à 09:26, Jean Marie Grall a écrit :

J'ai donc surchargé declarer_tables_objets_sql avec ligne et slide :

functionmedias_responsive_mod_declarer_tables_objets_sql($tables) {
$tables['spip_documents'] = array(
'modeles'=> array('document', 'doc', 'img', 'emb', 'image', 'video', 'text', 'audio', 'application','ligne','slide'),
);
return$tables;
}

Ça fonctionne mais je me dis qu'il doit y avoir mieux en ajoutant simplement les nouveaux modèles au lieu de surcharger l'ensemble (plus pérenne) mais je ne trouve pas la syntaxe.

Avec la fonction php array_merge()

ou simplement en les ajoutant un par un :
$tables['spip_documents'] = 'ligne';
$tables['spip_documents'] = 'slide';

J'ai répondu trop vite. Plutôt :
$tables['spip_documents']['modeles'] = 'ligne';
$tables['spip_documents']['modeles'] = 'slide';
(avec seulement les nouveaux à ajouter)

JL

Salut,

Le 19/06/2019 à 11:11, JLuc a écrit :

J'ai répondu trop vite. Plutôt :
$tables['spip_documents']['modeles'] = 'ligne';
$tables['spip_documents']['modeles'] = 'slide';
(avec seulement les nouveaux à ajouter)

Bien vu, c'est commité : https://zone.spip.net/trac/spip-zone/changeset/115725/spip-zone

Merci !

                     jean marie

Merci à vous deux pour la discussion sur ce sujet, je ne connaissais pas du tout cette astuce.

Je mourrai moins bête (mais je mourrai quand même).

--
nicod_

Le 19/06/2019 à 19:20, nicod_ a écrit :

Merci à vous deux pour la discussion sur ce sujet, je ne connaissais pas du tout cette astuce.

Il était pas documenté alors voici un début de doc :

Au vu de ses commentaires dans media, le pipeline des surnoms semble désormais obsolète
et à remplacer par declarer_tables_objets_sql
  

Je mourrai moins bête (mais je mourrai quand même).

C'est la vie.

JL

Le 19/06/2019 à 22:44, JLuc a écrit :

Il était pas documenté alors voici un début de doc :
declarer_tables_objets_sql - Programmer avec SPIP 4

Il y a déjà un article assez détaillé sur spip.net, où la plupart des
clés sont expliquées :

Certes, toute le contenu de cette rubrique devrait être déplacé sur
programmer amha.

Sinon merci pour l'explication, j'apprends des trucs.

Le 19/06/2019 à 23:53, tcharlss a écrit :

Le 19/06/2019 à 22:44, JLuc a écrit :

Il était pas documenté alors voici un début de doc :
declarer_tables_objets_sql - Programmer avec SPIP 4

Il y a déjà un article assez détaillé sur spip.net, où la plupart des
clés sont expliquées :
API de déclaration d’objets éditoriaux - Programmer avec SPIP 4

Certes, toute le contenu de cette rubrique devrait être déplacé sur
programmer amha.

Sinon merci pour l'explication, j'apprends des trucs.

OK j'ai mis un lien et supprimé l'exemple en doublon.
JL