Skip to main content Help Control Panel

Login   A+   A-

Community «   Le forum «   Besoin d'aide «  

reprise de données

compléter les données d'un overlay à partir d'une section simple
Problem has been recorded

Issue description

J'ai créer un overlay basé sur une table.

Je voudrais reprendre les données déjà créées sans cette overlay et répartir les informations contenues dans le titre dans plusieurs champs de l'overlay.

Je pensais faire un export sql du champ titre des articles en question, puis un traitement pour "éclater" mon champ titre en plusieurs morceaux et recharger le tout dans ma table article et ma table correspondant à l'overlay.

Je me pose quelques questions avant d'entamer le travail ...

quand je crée un nouvel article les données sont stockées dans la table de l'overlay. Elles se trouvent également dupliquée dans le champ "overlay" de la table article. Est-ce normal ? est-ce obligatoire lors de ma reprise d'alimenter ce champ "overlay" ?

Existe-t'il d'autres contraintes ?

Beaucoup de questions mais j'espère que la réponse sera simple

Comments

Bernard
avatar
from nearby-an-airport
Associate, 6696 posts

on Feb. 10


YACS gère les données de l'overlay d'abord et avant tout dans la table des articles, dans le champ overlay, qui contient en fait l'ensemble des données, sérialisées dans une seule chaîne de caractères. En plus, à chaque modification de l'article, YACS offre des mécanismes de synchronization qui permettent au code de l'overlay de mettre à jour une ou plusieurs tables associées.

Pour ton besoin d'importation, la difficulté sera sans doute plus du côté du champ sérialisé dans l'article que dans les autres tables. Pour s'en sortir, il faudrait sans doute créer un script adapté à ton besoin, permettant d'initialiser et de créer un article avec overlay pour chaque enregistrement importé.
Christian
avatar
from Chonas l'Amballan
Associate, 773 posts

on Feb. 11


bon je pense avoir compris (plutot déduis) certaines choses :

en gras ce qui est fixe dans mon cas s: pour string
le nom de la colonne dans la base précède la donnée elle meme. Le chiffre après le s: est la longeur de la chaine.
a:8:{s:12:"overlay_type";
s:7:"plantes";

s:18:"overlay_parameters";
s:0:"";

s:6:"espece";
s:10:"xxexpecexx";
s:9:"nom_latin";
s:9:"xxlatinxx";
s:7:"famille";
s:11:"xxgamillexx";
s:8:"cultivar";
s:12:"xxcultivarxx";
s:11:"sous_espece";
s:7:"xxsspxx";
s:5:"forme";
s:10:"xxssformxx";}


est-ce c'est cela ? ou existe-t-il une subtilité ?

Quel est l'interet de dupliquer le contenu de la table dans le champ overlay ?
Bernard
avatar
from nearby-an-airport
Associate, 6696 posts

inspired from Christian on Feb. 12


Christian: voilà un merveilleux exemple de sérialisation PHP, bravo !
Bernard
avatar
from nearby-an-airport
Associate, 6696 posts

on Feb. 12


Pour intégrer ton importation, tu peux :
  • créer un tableau PHP et l'initialiser à partir des données lues
  • sérialiser le tout et placer le tout dans un autre tableau, avec le nom 'overlay'
  • initialiser les autres attributs du deuxième tableau pour préparer un article
  • envoyer le tout à Articles::post() pour créer une nouvelle page avec un overlay proprement initialisé
Christian
avatar
from Chonas l'Amballan
Associate, 773 posts

on Feb. 12


En fait j'ai déjà mes articles mais apparament il est plus prudent d'en créer des nouveaux plutot que de modifier les anciens.

 

Rate this page
Posted by Christian on Feb. 10, commented by Christian on Feb. 12, (popular)